From 7ae888a468dacc831063174f56775a9e16593c60 Mon Sep 17 00:00:00 2001 From: Mathias Date: Thu, 1 Oct 2026 23:27:47 +0200 Subject: [PATCH] docs(claude): two-engine reconciliation, and that task check does not gate lint (#41) Co-Authored-By: Claude Sonnet 5.5 --- CLAUDE.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index 02c5454..2860dea 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -100,7 +100,7 @@ The repo is **green and shipping** — last tag `v0.15.0`. `task check` passes ( - Adapters present under `internal/adapters/`: `youtube` (captions-first `VideoSource`, timedtext/InnerTube acquisition per ADR-010), `summarizer` + `llm` (the copied AI router, now a resilient endpoint chain — local primary → local fallback → external worst-case, - parse-failure-aware, ADR-004 + ADR-022), `store` (Postgres, golang-migrate migrations 001–017), + parse-failure-aware, ADR-004 + ADR-022), `store` (Postgres, golang-migrate migrations 001–019), `secrets` (file-backed `SecretStore`). The brain HTTP sink (ADR-005) is the remaining optional sink. - Stage 1 is open (ADR-012): multi-user with **DB-enforced** isolation — Postgres RLS `FORCE`d @@ -118,6 +118,11 @@ The repo is **green and shipping** — last tag `v0.15.0`. `task check` passes ( in `uploaded_transcripts`; the audio is never retained; chat reuses `chat.Service`. The isolation test pins the **exact set** of non-RLS tables (`TestRowSecurityOffTablesAreExactlyTheKnownSet`). The runtime image does not yet contain ffmpeg — that is a pending decision recorded in ADR-033. + Two-engine reconciliation (ADR-034, migration 019, off unless `TAPIR_RECONCILE_BASE_MODEL`): + `internal/reconcile` (word diff, disputes, a local-model adjudicator) and + `transcribe.Ensemble`; every model must be a local alias, enforced at start-up. + **Lint caveat:** `task check` does not fail on lint (#41: the Taskfile `|| echo` swallows + findings) — run `golangci-lint run ./...` yourself until that is fixed. - `cmd/tapir` subcommands: `list`, `show`, `auth` (interactive host-side OAuth), `run` (batch watch→summarize), `serve` (the HTMX+Templ web reader/writer under `internal/web`, a new transport over the unchanged engine/ports — ADR-003). `tapir env` prints config.