Skip to content

Re-pin the vendored Spec to 745259b; condition single rule (Stage 1, PR A) - #186

Merged
guijacquemet merged 1 commit into
mainfrom
claude/spec-repin-745259b
Nov 7, 2026
Merged

guijacquemet merged 1 commit into
mainfrom
claude/spec-repin-745259b

Conversation

@guijacquemet

Copy link
Copy Markdown
Contributor

What changed

  • Vendored tests/spec_fixtures/ (fixtures, docs/experiment-v1.md, tools/audit/refval.py) moved from Spec 8922a35 to MorphoBricks-Spec main 745259b72d4252f3ddaa563302d3343a1fa2ed49 (PIN.toml: commit, fixtures tree d26daf7..., blobs 6de05a1... and 2ce3a51...). New fixtures i131-i134; v35, v36 and i130 changed text. Counts are now 36 valid, 134 invalid, 12 transitions.
  • Reader (description_identity._conditions): the condition single rule of Spec 3.2. A condition ID is single if and only if its source_folder is single, and a condition whose folder is single must be the only condition (E_SINGLE_MISUSE, phase 4).
  • The inline-table duplicate key (i134) was already E_DUPLICATE_KEY in the reader, and the new refval maps it the same way.
  • Tests: fixture counts (134, and 66 for phases 1-3). CHANGELOG entry.

Why: Spec PR #8 (owner decisions SQ6, Stage 1 design PR 0). Not used by any run, notebook or CLI command yet.

Regression test and result on the old code

With the new fixtures and the old reader, tests/test_spec_reader.py::test_an_invalid_file_gives_exactly_its_codes_from_its_phase[i131..i133] and tests/test_spec_refval_crosscheck.py::test_the_reader_and_the_oracle_agree_on_a_fixture[invalid/i131..i133] FAIL, plus the one-step mutation cross-checks (v01, v02, v03, v06, v07, v10, ...). They pass with the new reader. Refval cross-check: 0 differences.

Checks

python tools/check.py: 3546 passed, 4 skipped (case-insensitive file system x3, file-mode permissions x1; all unrelated to the Spec tests), 2 warnings; Ruff and code rules clean. No Spec test is skipped.


Generated by Claude Code

Fixtures, experiment-v1.md and refval at MorphoBricks-Spec 745259b (new
fixtures i131-i134). The reader applies the condition `single` rule
(E_SINGLE_MISUSE, phase 4). Reader and reference validator agree on all
fixtures and mutations.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Scma6W3LC11s3qjXHZuGDm
@guijacquemet
guijacquemet merged commit b5a47cb into main Nov 7, 2026
7 checks passed
@guijacquemet
guijacquemet deleted the claude/spec-repin-745259b branch November 7, 2026 13:14
guijacquemet pushed a commit that referenced this pull request Nov 7, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Scma6W3LC11s3qjXHZuGDm

# Conflicts:
#	CHANGELOG.md
guijacquemet pushed a commit that referenced this pull request Nov 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants