Repository navigation
Commit a7a88ee
docs(t3x): replace the fictional seam ledger with a measured one
SEAMS.md claimed the fork's upstream conflict surface was 2 files and that
"Contracts / persistence: _None._". Measured against the merge-base it is 34
files, +1466/-112, including a persisted ClientSettingsSchema change and a
+151 edit to ChatView.tsx — a file the doc explicitly named as deliberately
avoided.
That gap is why issue #29 was a surprise: the conflict landed in a file the
ledger said the fork did not touch, so the doc's own "re-isolate rather than
accept more daily sync pain" tripwire could never fire.
Rewritten as a measured ledger with a risk column (fork lines x upstream
churn), the top offenders called out, and — most importantly — the shell
command that regenerates it, so the next person can check rather than trust.
Records that settings.test.ts has been removed from the surface and that the
t3x/ sibling-file pattern is how to keep fork tests out of upstream specs.
Also corrects the resolver runbook against the workflows it documents:
- "No independent CI gates the PR" was stale (t3x-ci.yml exists) but the
replacement is not "CI covers it": the resolver pushes with GITHUB_TOKEN,
which fires no workflow runs, so CI must be dispatched by hand.
- The comment path is hard-wired to claude-sonnet-5; only workflow_dispatch
can pick a model. Documents the budget (45min/150 turns), the one data
point we have (36 commits used 81% of it), and how to raise the caps.
- In-flight branches need `rebase --onto <old-main>`, not a plain rebase,
because main's history is replaced rather than extended.
- rerere only helps a local clone, never the CI resolver.
- The daily job cannot self-trigger the resolver, and a weekly-build
escalation shares the same label and issue.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>1 parent 6b003da commit a7a88ee
2 files changed
Lines changed: 220 additions & 78 deletions
0 commit comments