Conversation
…nance texts V8 of the normative IR, up to the posting. - `acs-ir markers patch` (N60): the overlay as a unified diff against the spec repository, ir/dist/markers.patch (155 provisions, 14 files) and, with --ids, ir/dist/markers-poc.patch (the five worked provisions). Both are committed and --check'ed in CI - tests prove both apply to the pinned checkout with git apply, and that extracting from the patched tree yields the committed manifest, which is the E3.3 retirement proven before the patch is sent - the resolver refuses an anchor that would precede a list, quote, table or heading marker on its line (the bulk patch had one: ACS-REQ-0060's quote now starts inside the list item), and refuses an entry whose marker the corpus already carries, so the overlay retires entry by entry as markers land upstream - ir/slices/v8/: the Discussion draft with five worked provisions, the proof-of-concept PR text and the bulk PR text, for the maintainer to post; verified locally that the spec repository's own guards pass on the patched tree and that MkDocs renders the anchors invisibly 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
|
…ixtures readable
A review pass over every slice README, the V8 drafts, the IR README,
the shipped notes in the slices doc, and the comments and test names
under ir/: metaphor and flourish replaced by the literal statement
("burn-down" -> "the number every later slice reduces", "vouch for" ->
"declared basis", "the day X merges" -> "when X merges", and so on).
No meaning, number, identifier, command or code changed.
The conformance fixtures now read without the vocabulary open:
- every .facts file starts with comment lines naming the relation's
columns and source, copied from relations.yaml; readFacts() skips
them and Soufflé is always run on a copy without them
- the opaque values are named for what they are: session-violating,
entry-1, prov-user-input, prov-agent, prov-unknown, hash-claimed,
hash-recomputed, head-20, req-2, fingerprint-a; expected.tsv, the
fixture READMEs and the Discussion draft use the same names, and
each fixture README ends with a legend
- listFixtures() ignores dot-directories, so a stray .acs/ written next
to the fixtures is not run as one
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.
Eighth and last slice of the normative IR, stacked on #45 (V7). Scope per
docs/shaping/normative-ir-slices.md§V8; slice README atir/slices/v8/README.md. This ships the tooling and the drafts; posting to the spec repository is the maintainer's step, under theafogelidentity with no tool attribution (shaping doc D-f).What this does
acs-ir markers patch(U8, N60). The overlay as a unified diff against the spec repository root:ir/dist/markers.patch(155 provisions, 14 files, 746 lines) and, with--ids,ir/dist/markers-poc.patch(the five worked provisions, 2 files). Every hunk is a one-line replacement, because a marker never contains a line break. Both files are committed and--checked in CI.git apply, and extracts provisions from the patched tree with no overlay involved; the text hashes equal the committed manifest's. A second test runsgit apply --checkagainst the submodule.ir/slices/v8/: the Discussion with five worked provisions from different families (ACS-REQ-0007, ACS-REQ-0010, ACS-REQ-0013, ACS-INV-0001, ACS-EXC-0001) showing prose, ID, predicate, rule and tests; the proof-of-concept PR text; the bulk PR text with per-file anchor counts and the procedure if the proof of concept merges first.Second commit: prose and fixture readability
A review pass over every slice README, the V8 drafts, the IR README, the shipped notes in the slices doc, and the comments and test names under
ir/, replacing metaphor and flourish with the literal statement. No meaning, number, identifier, command or code changed. The conformance fixtures now read without the vocabulary open: every.factsfile starts with comment lines naming its columns and source (the reader skips them; Soufflé always runs on a copy without them), and the opaque values (s1,hX,fA,p9) are named for what they are (session-violating,hash-claimed,fingerprint-a,prov-unknown), with a legend at the end of each fixture README.Verified
bun run typecheck,bun test ir(183 pass, withACS_IR_REQUIRE_SOUFFLE=1and Soufflé 2.5 present), every--checkincluding the two new patch checks,lint(0 failures),differential(both fixtures agree), andverifyover the clean trace (exit 0).uv run pytest, 203 passed), anduv run mkdocs buildrenders the pages with<a id="acs-req-0007"></a>in the HTML, the closing comments preserved as comments, and no marker text visible after stripping tags and comments. The checkout was reverted afterwards; nothing inspec/acschanged.Also in this stack today
CI on #40 to #45 was red for two reasons that are now fixed on their branches and merged upward: the repository's
.gitignoreexcludes everydist/directory, soir/dist/provision-index.mdandrules.dlhad never been committed and the--checksteps failed on a fresh checkout (fixed onir/v2, re-includingir/dist/); and the Soufflé-presence test asserted onCI, which GitHub sets in every job including the one without Soufflé (fixed onir/v5: the requirement is opt-in throughACS_IR_REQUIRE_SOUFFLE, set by the differential job, which now also runs the differential tests). All six are green.🤖 Generated with Claude Code
https://claude.ai/code/session_01BX56nQPAsqYihopWfWy1xm