From bc79167dfe941fedd437f502c1c07c4c4126f618 Mon Sep 17 00:00:00 2001 From: mathias Date: Tue, 2 Jun 2026 10:38:41 +0000 Subject: [PATCH] docs: record rejected alternatives in DECISIONS.md Adds a consolidated table of approaches considered and deliberately not taken (Python, Supabase, living in the monolith, shared-lib lift, filesystem brain package, reusing inbound oauth, global dedup table, Whisper-in-core, SaaS-now, swarm-delegating the spike), each mapped to the ADR that settles it. Prevents a later session from re-proposing settled rejections as fresh ideas. --- DECISIONS.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/DECISIONS.md b/DECISIONS.md index 23e0869..643cbc7 100644 --- a/DECISIONS.md +++ b/DECISIONS.md @@ -166,3 +166,27 @@ the repo simultaneously. CI is the quality gate, not branch protection. **Consequences.** Consistent with the rest of the estate. Depends on the direct-to-main write path tracked in gitea-mcp #35 (item #1). + +--- + +## Rejected alternatives + +Approaches considered during the 2026-06-02 planning + grill session and **deliberately not +taken**. Recorded so a later session doesn't re-propose them as if they were fresh ideas. Each +maps to the ADR that settles it. + +| Rejected | Why rejected | Settled by | +|----------|-------------|-----------| +| Python / FastAPI / arq stack | Would be the only non-Go service in the estate, outside every shared chassis/convention/CI pattern | ADR-001 | +| Self-hosted Supabase (auth + RLS + Vault) | Duplicates Dex, ESO+1Password, and the postgres instance being actively de-coupled; three new things to run and back up | ADR-002 | +| Living inside the `hyperguild/ingestion` monolith | The only worthwhile reuse is ~100 lines (`llm`) that get copied anyway; standalone-first wants the service to owe the monolith nothing | ADR-003, ADR-004 | +| Lifting shared packages into a `brain-common` module | Couples Tapir's release cycle to the monolith for negligible code savings | ADR-004 | +| Importing/replicating the filesystem `brain` package | Assumes co-location with the brain git checkout; wrong for a standalone networked service | ADR-005 | +| Reusing `ingestion`'s `oauth` package for YouTube/Vimeo | Same name, opposite direction — it's inbound MCP-server auth, not outbound provider OAuth | ADR-006 | +| Global cross-tenant `videos`/`transcripts` table (dedup) | Reintroduces the cross-domain DB coupling the homelab review is removing; at 1–5 users, re-summarizing is cheaper than the coupling | data-model.md | +| Audio-download + Whisper STT in the core path | ToS-grey, breakage-prone (yt-dlp), contends for koala GPU with the JEPA PoC; captions alone test the core hypothesis | ADR-007 | +| Building multi-tenant SaaS / Google OAuth verification now | "Real users soon" was lowered to Future B; SaaS machinery before the Stage 0 self-use gate is the primary documented anti-goal | ADR-008, VISION | +| Delegating the S5 reuse spike to an agent swarm | A 1-hour sequential read-and-judge with a single coupled conclusion; orchestration overhead exceeds the work, and it's Diamond-1 judgment the maintainer wanted to own | (process note) | + +If a future case genuinely reopens one of these, that's a new ADR superseding the relevant one — +not a silent reversal.