Conversation
V7 of the normative IR. The census now binds 163 of the corpus's 208 RFC 2119 occurrences to provisions and excludes the other 45 with a reason, leaving none unbound. - 127 new records and overlay entries on top of V2's 28; four allocated IDs (ACS-REQ-0042, 0049, 0085, 0115) are unused gaps - ir/census/exclusions.yaml (E8.2): 34 occurrences that restate a provision carried elsewhere, describe roadmap intent, or repeat a keyword in rationale, each by verbatim quote; a quote that does not resolve, resolves twice, or covers two occurrences fails the census. Read by the census, the lint, and the impact comment - the vocabulary grows from 42 to 76 relations; the normalizer, the external facts and the trace generator carry the new wire, guardian-state, external and deployment relations - 69 provisions compile, 39 are permissions, 25 non-testable, 12 are flagged inexpressible with the missing relation named - the conformant fixture now satisfies the profile-scoped provisions too; the violating fixture breaches six V7 provisions on purpose and expected.tsv lists the 33 tuples both engines derive - exclusions default to the file beside sources.yaml, so a test corpus never reads the real catalog's - slice README, IR README, CLI usage and the slices doc updated; two findings for upstream recorded (MAY NOT in hooks.md; whether the handshake is signed) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BX56nQPAsqYihopWfWy1xm
Normative impact (ACS 0.1.2 at
|
The repository's .gitignore excludes every dist/ directory, so ir/dist/provision-index.md (and rules.dl from V5 on) never reached git even though `render --check` and `compile --check` require the committed copy. Re-include ir/dist/ and commit the files the checks compare against. 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.
Seventh slice of the normative IR, stacked on #44 (V6). Scope per
docs/shaping/normative-ir-slices.md§V7; slice README atir/slices/v7/README.md.What this does
ir/census/exclusions.yaml. The occurrence count turned out to be an upper bound on provisions, not a count: the spec restates rules inside their own parentheticals and describes roadmap intent in normative sources. 34 occurrences are excluded by verbatim quote with a reason from a closed set (restatement_ofa named provision,mention,roadmap,rationale). A quote that does not resolve, resolves twice, or covers two occurrences fails the census, so an exclusion cannot cover a second obligation unnoticed. Spec-lint and the impact comment read the same file, so a keyword with neither a marker nor an exclusion is still a failure.agbom/snapshotbefore its hooks, both ACS-Crypto algorithms, full ContextEntry and decision-log fields). The violating fixture breaches six V7 provisions deliberately;expected.tsvlists the 33 tuples both engines derive.Decisions
predicate: nullwith the reason in the note, since the compiler refuses a predicate on a non-testable provision.previous_hashrule inside the same list item are separate provisions rather than nested spans.sources.yaml, so a test corpus never reads the real catalog's.Findings for upstream (added to the slices doc)
hooks.mdusesMAY NOT, which is not an RFC 2119 term.session_idthe handshake establishes.Verified
bun run typecheck,bun test ir(173 pass),census --check,extract --check,render --check,compile --check,lint(0 failures),differentialwith Soufflé 2.5 (conformant 0/0/0, violating 33/33/33), andverifyover the generated clean trace (exit 0). The full-repobun teststill has the same 28 local-only failures as earlier slices (notrashbinary, no network), unrelated toir/.🤖 Generated with Claude Code
https://claude.ai/code/session_01BX56nQPAsqYihopWfWy1xm