enabling-work
frame · drafted
Question
Which repository infrastructure makes the trust research vettable and publishable?
Owners: @anson (GitHub A-M-Berns), @abram (GitHub abramdemski)
Path: the-program › enabling-work
Roots (the frame's goals)
shared-claim
The argument map under graph/ files the research agenda from deep goals down to concrete tasks, ranks the next work so that human reading goes first to central claims and to claims with high estimated promise, logs every design change and user confusion met in use, and has the maintainers' answers to the design points it leaves open.
The research corpus's claims are formalized in Lean 4 over FAF and adversarially audited in a run independent of the first, the run's flagged packages are repaired or ruled on, the notes stop asserting what the Lean refutes, and selected results build in this repository's CI.
Each candidate for release to this repository is listed with its state, its blocker and its owner, and its claims are sorted by provenance before it is released.
Finishing the clean-room repair round and the note corrections before drafting the li-deference write-up gives a released write-up that needs fewer corrections after release, per researcher-hour, than drafting it now.
Over the next researcher-hours of the agenda, reading and judging existing drafts settles more claims per hour than generating new drafts.
The argument map under graph/ is the one index of the research program: every registered claim a formal result, every priority item a leaf, every maintainer decision reachable from the nodes it touched, every narrative page attached, every round pointed at, and the duplicate human-facing files renders of it.
A website is generated from graph/index.json alone, with a page per frame, formal result, item, decision, round and narrative and three views, showing AI-drafted structure lighter than anything a human event has touched.
What it holds
Nodes this frame is about that are not goals of the ranking: no status, value or rank here.
items (15)
- item-f1: Item F1, Job names in prose, and root documents that classify into no layer, is answered as its entry specifies. — item F1
- item-f2: Item F2, The deference line has no claims registry — *closed*, is answered as its entry specifies. — item F2
- item-f3: Item F3, A layer's theory is authoritative and its only code is in a disposable tree, is answered as its entry specifies. — item F3
- item-f4: Item F4, A pointer into a superseded source tree still resolves — *closed*, is answered as its entry specifies. — item F4
- item-f5: Item F5, Agent worktrees live inside the repository and nothing ignores them — *closed*, is answered as its entry specifies. — item F5
- item-f6: Item F6, The name lint cannot see a citation — *closed*, is answered as its entry specifies. — item F6
- item-f7: Item F7, A round cannot record a dependency on an unindexed research checkpoint, is answered as its entry specifies. — item F7
- item-f8: Item F8, A stack of merged pull requests never reached `main` — *closed*, is answered as its entry specifies. — item F8
- item-10: Item 10, Build the Lean in CI, is delivered in the shape its entry states: A change to `.github/workflows/ci.yml` — **specification layer**, so a maintainer act; contributors propose via issue. — item 10
- item-11: A solution to item 11 ships the check, a passing case, and a failing case proving it bites. — item 11
- item-12: Item 12, A necessity witness for every hypothesis that lacks one, is delivered in the shape its entry states: `witness-checked` entries, one per hypothesis given a witness. — item 12
- item-13: Item 13, Scaffolding self-verification, is answered as its entry specifies. — item 13
- item-36: Item 36, The wiki's source in the repository, synced outward, is answered as its entry specifies. — item 36
- item-37: Item 37, Volatile quantities in `wiki/` cite the structured state or do not appear, is answered as its entry specifies. — item 37
- item-38: Item 38, Enforce the write-scope conditions and the job enumeration, is answered as its entry specifies. — item 38
Narrative: CONVENTIONS
Wiki conventions
This directory is the wiki's source of truth. Pages are edited here and arrive as pull requests, which pass the same gates as everything else. The hosted wiki is a build artifact: the sync job force-pushes this directory to it on every merge to main that touches wiki/, so an edit made in the hosted wiki's web editor is overwritten without warning and without a record.
This file and ORIGIN.md are repo-side only. Every other file here is a page, named by its filename, and _Sidebar.md is the navigation column.
Register
Human-facing conceptual content: what the program is asking, why a distinction matters, how the lines fit together, what a result means for the question that motivated it. The lab holds the machine-facing record — statements of record, claim registries, structured state, verification. Machine ledgers are linked, not mirrored. A page that reproduces a registry row acquires a copy that drifts silently the moment the registry moves, and a reader has no way to tell which of the two is current.
Links into the repository
Every link into this repository is pinned to a full 40-character commit SHA — /blob/<sha>/… or /tree/<sha>/…, never /blob/main/…. A page cites evidence, and evidence a branch name resolves to is evidence that changes underneath the sentence citing it. checkers/wiki_links.py enforces this, and also that every link to another page here resolves to a page that exists.
Volatile quantities
A number that changes when work lands — a claim count, a pull-request number, a round tally — is declared, or it does not appear. Declaring it is two HTML comments, invisible in the rendered page, and checkers/wiki_state_bindings.py compares what you wrote against what the workspace says today.
Bind a live quantity to a dotted path into the state emission:
The consolidation is a separate
180-claim foundation.
workspace is python3 -m checkers.workspace_state --json, this repository's one adjudicator; python3 -m checkers.wiki_state_bindings --sections lists the sections it offers. Aggregates live in its counts section, because deriving them here would make the wiki a second judge of what the workspace holds. A path that has no key is a request to the maintainer to grow the emitter, not a licence to write the number bare.
Mark a past event historical when the statement cannot rot:
<!--historical-->PR #31 registered no workspace claim<!--/historical-->
Nothing inside is verified, which is why it is capped at three lines: it marks a statement, not a section.
Four forms fail unless declared — a pull-request number, and an integer immediately before claims, rounds, or priorit(y|ies). That list is a backstop for what gets written without thinking, not a definition of volatility; nothing here reads free prose to guess. A hit is not a complaint about the sentence. It asks where the number came from, and the remedy is to bind it or mark it historical. Growing the list is a maintainer act.
Statement
The repository's infrastructure, an argument map that files and ranks the agenda, a machine-checked corpus and a publication pipeline, lets the trust research be vetted and published.
Source
The repository's own activity as the activity sweep read it: graph/README.md and graph/PROTOCOL.md (the map), projects/deference/faf-cleanroom-2026-10-02/README.md (the clean room), PRIORITIES.md and RESEARCH_STATE.md (the publication queue); the claims and cruxes below cite their sources in their own files.
Notes
A sub-frame of the-program holding the enabling work the activity sweep found in the repository. It is a frame so that infrastructure stands below the agenda's own items (the two axes, the cruxes, the abstraction arc) rather than beside them. Its roots are shared claims, not plans: each is a deliverable whose success is a state of the repository, not an outcome class, so none is an option in the plan decision. The two cruxes are the filing session's: their Notes say so.
Author and human events
Author @smithy-verity; version 2; size M.
No human event has touched this node.
Edges
Above
- part of the-program
- root (plan) of the-program
Children
- part: enabling-vetting-and-prioritization-system and
- part: enabling-machine-checked-corpus and
- part: enabling-publication-pipeline and
- part: crux-formalize-before-write-up cases
- part: crux-vetting-or-generation cases
- part: enabling-map-as-canonical leaf/task
- part: enabling-program-site leaf/task
Work pointers
- decision the map is the canonical index of the program: two maintainer handles, one plan with seven lines, programmes drafted from the wiki, the map as the foundational layer, multi-owner frames, `PRIORITIES.md` as a render, decision anchors, and the structure-only index (M1–M8)
- round 2026-08-11-attribution-provenance-names
- round 2026-08-11-branch-protection
- round 2026-08-11-contributor-checkers
- round 2026-08-11-licensing-dco-citation
- round 2026-08-11-priorities-and-slop
- round 2026-08-11-workspace-ethos
- round 2026-08-11-workspace-integration
- round 2026-08-16-wiki-in-repo-sync
- round 2026-08-16-wiki-state-bindings
- round 2026-08-24-reservation-bar-and-debt
- round 2026-10-02-graph-prototype
Ranking (the lens, not the structure)
{
"status": "open",
"diagnosis": null,
"flags": [],
"V": {
"V_prior": null,
"display": "2",
"headline": 2,
"ref": 2,
"valid": 2,
"weaker": "both"
},
"belief": null,
"draft": "ai",
"root": {
"status": "open",
"Pr": {
"hi": "0/1",
"lo": "0/1",
"mid": "0/1"
},
"value": null,
"cost": "118/1",
"margin": "no established leaves"
}
}Say something about it
Each verb opens a prefilled issue; a round files what lands as the ledger event it is.