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.
This commit is contained in:
@@ -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
|
**Consequences.** Consistent with the rest of the estate. Depends on the direct-to-main write
|
||||||
path tracked in gitea-mcp #35 (item #1).
|
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.
|
||||||
|
|||||||
Reference in New Issue
Block a user