Skip to content

docs(roadmap): record the services considered and declined (#150) - #368

Merged
Gerrrt merged 1 commit into
mainfrom
gerrrt/declined-services-150
Sep 7, 2026
Merged

Gerrrt merged 1 commit into
mainfrom
gerrrt/declined-services-150

Conversation

@Gerrrt

@Gerrrt Gerrrt commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Closes #150. Documentation only — no code changes, which is what the issue asked for.

Why

roadmap.md already carries "Decided but not built", on this reasoning:

an accepted ADR with nothing tracking it is indistinguishable from a rejected one after six months

This is the same argument turned around. A service considered and rejected for good reasons, with nothing written down, is indistinguishable from one nobody thought of — and gets proposed again, evaluated again, and possibly deployed on the second pass because the first pass left no trace.

What

A new "Considered and declined" section, placed between "Decided but not built" and "Done", recording the five rejections that came out of the same shortlist as #129–#148:

Why it was declined
Nextcloud Overlaps Immich (#132), Paperless-ngx (#133) and file sync; more surface than all three together. Its app ecosystem is a second, unpinned supply chain outside compose.yaml — the same objection that rules out Home Assistant add-ons in #134
The *arr stack Five-plus services, each holding indexer credentials with a standing outbound appetite, added to the tier ADR-0008 defined as low consequence. That tier's justification is that its compromise costs a film night
YunoHost-class installers They own the compose file, the update path and often the proxy — conflicting with one stack per host (ADR-0004), digest pinning, CI validation and SOPS rendering. Trades reproducibility for a faster first install
Guacamole Turns any browser session on Hicks into a potential path to every console in the estate, and stores connection credentials to do it. There is already a KVM in U6
Authelia / Authentik Already decided — ADR-0008 defers SSO knowingly, ADR-0022 gives it an expiry, #103 tracks it. Listed only so the next shortlist does not present it as new

Declines, not bans

The section says so explicitly, because the distinction is the whole value of writing them down:

  • the *arr stack is declined for now, and should get its own decision rather than a footnote to the NAS build
  • Nextcloud names what to evaluate instead if the actual want is file sync — Syncthing, which needs no server-side application at all
  • the SSO decline has a known end condition, unlike the others, and it is the only route to a second factor for Grafana, Immich and AdGuard Home

make validate passes.

🤖 Generated with Claude Code

`roadmap.md` already carries "Decided but not built", on the reasoning
that an accepted ADR with nothing tracking it is indistinguishable from a
rejected one after six months. This is the mirror of that: a service
rejected for good reasons with nothing written down is indistinguishable
from one nobody thought of, and gets proposed again, evaluated again, and
possibly deployed on the second pass because the first pass left no trace.

The shortlist that produced #129-#148 also produced rejections. Five of
them are now recorded with what was actually weighed, so a later proposal
argues with the reasoning rather than restarting from nothing:

  * Nextcloud — overlaps Immich, Paperless-ngx and file sync, and its app
    ecosystem is a second unpinned supply chain outside compose.yaml.
    Names Syncthing as what to evaluate if the want is sync, not a suite.
  * the *arr stack — five services with indexer credentials and standing
    outbound appetite, in the tier ADR-0008 defined as low consequence.
  * YunoHost-class installers — they own the compose file, the update
    path and often the proxy, which is the trade this repository exists
    not to make.
  * Guacamole — turns a browser session on Hicks into a path to every
    console, and stores the credentials to do it. There is a KVM in U6.
  * Authelia / Authentik — already decided by ADR-0008 and given an
    expiry by ADR-0022; listed only so the next shortlist does not
    present it as new.

They are declines rather than bans, and the section says so: the *arr
stack is "for now", Nextcloud names its alternative, and the SSO decline
has a known end condition.

Documentation only, which is what the issue asked for.

Closes #150

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Gerrrt
Gerrrt merged commit 8a3d6fa into main Sep 7, 2026
3 checks passed
@Gerrrt
Gerrrt deleted the gerrrt/declined-services-150 branch September 7, 2026 00:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Record the self-hosted services considered and declined, so they are not re-litigated in six months

1 participant