IR V1: The corpus, inventoried - #39
Open
afogel wants to merge 1 commit into
Open
Conversation
…v0.1.2 The first slice of the Normative IR (V1 in docs/shaping/normative-ir-slices.md): `bun run ir census` prints the source census and the provision census for the pinned spec, and writes ir/census/provisions.yaml, which CI now holds in sync with the submodule. The corpus is declared, not grepped. ir/census/sources.yaml classifies all 38 documents under spec/acs/docs/ as normative, informative or editorial, and says what makes each normative one so; the census fails when the tree and the declaration disagree in either direction. Every RFC 2119 occurrence lands in exactly one state: bound, excluded with a reason, or unbound. At v0.1.2 that is 208 occurrences in 134 blocks, 197 unbound in normative sources and 11 excluded by source status. Pointed at c259f57, the scan reproduces the X3 spike's numbers exactly (203 in 132 blocks; 145 paragraph, 33 list item, 17 table cell, 8 blockquote), which is the acceptance test the slices doc set for it. The scan also lists the ten (normative) callouts and the other tag shapes the spec uses, and seeds candidate depends_on edges from the eight Referenced-by footers: 22 pillar entries, none dangling, none yet matched by a provision. The shaping doc's Verified ground is re-surveyed at 6fce2a0 (v0.1.2): the missing `## 9.` heading is fixed upstream, which closes upstream Finding 1 and demonstrates Fact 1's consequence; two informative identity pages account for the five new occurrences; the schema count was 44, not 48; and the response envelope now carries the ServerHello union the structural specimen can cite. The ir/ workspace reads spec/acs and nothing else in the repository. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BX56nQPAsqYihopWfWy1xm
afogel
added this pull request to stack #48
September 14, 2026 14:18
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First slice of the Normative IR work stream (
docs/shaping/normative-ir-slices.md§V1), and the base of the IR stack. V2 will be opened against this branch.Demo:
bun run ir censusprints the source census and the provision census for the pinned spec, and writesir/census/provisions.yaml. CI holds that file in sync with the submodule (bun run ir census --check).What it delivers
ir/census/sources.yamlclassifies all 38 documents underspec/acs/docs/as normative, informative or editorial and says what makes each normative one so. The census fails when the tree and the declaration disagree in either direction.c259f57(203 in 132 blocks; 145 paragraph, 33 list item, 17 table cell, 8 blockquote), which is the acceptance test the slices doc set. The five additions at v0.1.2 are table cells in two identity pages that describe themselves as not yet normative.(normative)callouts and the other tag shapes the spec uses are listed as candidates (type is editorial, E1.4). The eightReferenced byfooters are parsed into 22 candidatedepends_onedges, none dangling, none yet matched by a provision (U33).Shaping doc re-survey at v0.1.2
docs/shaping/normative-ir-shaping.mdwas surveyed atc259f57. This PR adds a re-survey at6fce2a0:## 9.heading is fixed upstream (daf81ac). Upstream Finding 1 is closed, and Fact 1's consequence is now demonstrated: three provisions' section anchors changed while their text did not.response-envelope.jsonnow carries theServerHellounion, so the structural specimen has a JSON Pointer to cite.Boundary
ir/is its own workspace. It readsspec/acsand nothing else in the repository (R8.2). No import crosses in either direction.Verification
bun run typecheckpasses.bun test ir: 68 tests pass, including the pinned corpus held to the reference numbers above and the committed census compared byte for byte with a fresh run.bun testfails 27 tests locally inpackages/conformanceand one inpackages/guardian, all because the sandbox has notrashbinary and no network; CI installstrash-cli, and none of those files are touched here.🤖 Generated with Claude Code
https://claude.ai/code/session_01BX56nQPAsqYihopWfWy1xm
Generated by Claude Code