Conversation
…ds on it The third slice of the Normative IR (V3 in docs/shaping/normative-ir-slices.md), stacked on V2. `acs-ir lint` re-extracts the marked corpus, joins the catalog, and reports every record whose reviewed_against no longer matches its provision's text, then walks the catalog's edges in reverse: a Requirement that depends_on a changed Definition or Invariant needs review though no sentence of its own changed (R2.6), and a pillar copy that restates a changed concept-page provision needs review because the concept page is canonical (R2.9). Each entry says why, what it invalidated, and which conformance tests cite it. Nothing is marked invalid. The reviewer classifies the change and clears the flag by updating the record; the command exits 1 until then, and CI runs it. The demo is a test: change "grow" to "widen" inside the Intent immutability callout and the lint names ACS-INV-0001, ACS-REQ-0011 and ACS-REQ-0012, none of which contain the word, with the keyword count unchanged. The same pass emits the migration worklist concepts/README.md:33 promises: one inline pillar copy today, §9's approver-authentication sentence restating agents.md. 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.
Third slice of the Normative IR (
docs/shaping/normative-ir-slices.md§V3), stacked on #40.Demo: change one word inside the
> **Intent immutability (normative).**callout inconcepts/intent.md.bun run ir lintreports the Invariant as needing review, the §8.4 Requirement thatdepends_onit, and the SHOULD downstream of that. None of them contain the edited word, and no RFC 2119 keyword moved. The captured output is inir/slices/v3/README.md, andir/test/staleness-demo.test.tsperforms the same edit.What it delivers
checkStaleness()finds every record whosereviewed_againstno longer equals its provision'stext_hash(R2.4), then walksdepends_onin reverse (R2.6) andrestatesin its fixed direction (R2.9): a changed concept-page provision stales its pillar copy, never the reverse. Each entry says why, what it invalidated, and which conformance tests cite it.acs-ir lintexits 1 until then, and CI now runs it.restatesedge is an inline pillar copy awaiting replacement by a reference. One entry today.ir/test/conformance/(R2.7). The directory arrives in V5; until then the report says "none" rather than dropping the column.Verification
bun run typecheckpasses;bun test ir: 119 tests pass, including the demo.bun run ir linton the pinned corpus: nothing to review, exit 0.🤖 Generated with Claude Code
https://claude.ai/code/session_01BX56nQPAsqYihopWfWy1xm