docs(decisions): ADR 0363 — Tuval feature flags live in the config file, never a flag service - #8478
Conversation
…le, never a flag service Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
No preview deploy
|
|
review-doc: PASS @ 064197a content:56a0997fd3c5 — merge-ready One new file, Acceptance criteria
The ruling, against the record
On the fourth ban. The founder did not say URL or storage. I judged it inside the ruling rather than creep, on two grounds: a URL or storage flag is per-viewer state by construction, which he did ban; and it is a second path to the page, which contradicts the mechanism he ruled on ("carried to the page as a generated module"). So it restates his ban in the two shapes someone would otherwise reach for. Naming it here anyway so striking it stays a one-line edit if he reads it as more than he said. Nothing else exceeds the ruling. "keep it that simple" survives the record: 94 lines, one file, no new machinery proposed, and the Context length is spent on the one question that actually needed answering — why the repo's existing flag answer does not reach here. Cited records — each opened
Claims against sourceEvery falsifiable claim about Tuval's code checks out against the tree at this base:
Hygiene
Findings — none blocking
Neither reaches the bar for a repair round; both are one-line edits if the author is touching the file anyway. Deviations
Verdict-written: 2026-09-07T17:08:28Z |
|
governance: PASS @ 064197a content:56a0997fd3c5 — no contradiction, no weakening Scope. Questions the record decides, and what each was read against.
Sweep outcome: Gate half. Read for this verdict: the bound commit's diff, the added record's body at this head, and the |
Records the founder ruling on #8384, comment 5573677646 (2026-09-07): a Tuval feature flag is a key in the
featuresblock of.tuval/tuval.config.ts, merged across the config layers at boot and carried to the page as the generatedvirtual:tuval/featuresmodule. No flag service, no runtime toggle, no per-viewer state, no flag from the URL or storage; a flip means editing the file and restarting the desk.ADR-only diff — one new file, no code changes.
Deviations
None.