Repository navigation
specs: one distinct real test for a/b_c and a_b_c, replacing the #8488 twins (Closes #8508) - #8496
Conversation
Each of the two acceptance-criteria stubs declares exactly one function,
dummy(), and nothing else; each now carries one test block asserting what
that function returns. specs/agents/{v,w,x,y,z}.t27 from the same issue
were already checked by #6620, so this PR covers the two specs that were
still pass_vacuous at lab run 285512a.
Closes #8472
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Superseded mid-flight: PR #8488 (branch queen-8472, commit 50fbc78, author "Trinity Bee") merged as 1f4863e at 2026-10-10 09:53Z and closed #8472 while this branch was being verified on the t27c lab. Both branches edit the tail of the same two files, so this PR now conflicts. What differs from what landed: this branch adds ONE test per file with distinct bodies (no byte-equal twin, per the issue's own sibling rule) and no Auto-merge disabled; left open for the coordinator to decide whether to adopt these tests over the landed twins or close as superseded. Separately, the t27b-native-ratchet ledger is pinned at 606611c and stale against master: this run showed 8 UNEXPECTED PASS rows (6 of them from #6620/#6623 already on master, not from this branch) and 6 UNLISTED -- the steward ledger needs a re-bless independent of this PR. |
…rue (#8508) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
PR DashboardGenerated at: 2026-10-10 10:46:01 UTC
Summary
Seal Status
|
…ledger + reseals (Closes #8957) (#8962) * corpus: repair the five unexpected failures at 760a787 (Closes #8957) Four spec-side fixes and one ledger entry, per the ratchet verdict of run 38120214535: - specs/a/b_c.t27, specs/a_b/c.t27: drop the stray trailing `}` the t27b test-block batches (#8488/#8496) left at EOF -- the parser reached EOF after discarding it (1 top-level token each). - specs/compiler/optimizer.t27: the four inline `;` comments moved onto their own lines. Inline `;` prose is tokenized and then discarded (84 tokens; the #8581 defect), full-line comments are stripped before the tokenizer runs, so the same words mint no tokens where they now sit. - specs/memory/graph/ingest.t27: reword the three comment phrases whose apostrophes (`let's`, `we're`) opened a char literal at 414:34 that never closed -- the spec has failed parse since #8493 landed. - specs/port/trinity/src/tri/orchestrator_bench.t27: ledgered, not rewritten -- the port stays faithful to the Zig source's `commands : [10][]const u8`, and gen-verilog's 2-D array-of-aggregate lowering is the known gap (#8521, W469). max_entries 71 -> 72. Seals for every spec whose hash moved follow on the lab in this PR. Refs #6063 (steward lane). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * dupe-bodies: ledger the t27b plan-spec helper groups (Refs #8957) The 2026-10-10 landing burst added t27b plan specs whose self-contained helper bodies are byte-identical to siblings', moving the Duplicate Body Ratchet at 760a787: - same [3]: int_cast_plan.t27 joined opaque_plan.t27 + type_text.t27 (bytewise string compare, the crypto-family bytes*_eq/same precedent). - bits [2]: ast_shape.t27's `bits` is ast_scan.t27's `mask` under its local name (pack marks into a u32 bitmask). - clear [6, 2]: a second clear-named group -- ast_scan.t27 `clear` + ast_shape.t27 `wipe` -- beside the long-ledgered sdk_contract six. All are the established per-spec helper convention: each plan spec stays self-contained rather than importing shared plumbing. Ledger moved in this commit (dupe_scan --bless; 186 groups, 678 bodies). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * corpus: peel the next layer -- ingest imports, optimizer braceless tests (Refs #8957) Lab re-run of the ratchet on the branch showed the first fixes were necessary but not sufficient; the two remaining failures had a second defect each. - specs/memory/graph/ingest.t27: with the apostrophe strings gone, the parser next refuses `import MemoryGraphTypes;` at line 8 -- `import` is not a keyword of this language (ingest is the only spec in the corpus that uses it; 153 use `use`, and slices 1-3 of this very family reference each other with no import lines at all). Dropped the four lines: the module graph resolves without them. - specs/compiler/optimizer.t27: the discard count was 84 before AND after the comment move, so the comments were never the source. `t27c parse-complete --causes` names the top channel "a whole braceless block falling back" -- it is the 24 braceless given/then tests #8502 added. All 24 rewritten to explicit braced form (`var` + `assert`), same names, same expressions. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * corpus: in-body comments are //, not ; -- measured, then applied (Refs #8957) Minimal repro against t27c (lab, master binary) pins the comment law: - `;` at top level: stripped, always parsed. - `;` between `test <name>` and `given` (braceless sugar header): parsed. - `;` inside a braced body, fn OR test block, full-line or trailing: NOT a comment -- it reaches the parser as a Semicolon token and fails. - `//` inside a fn body: parsed (optimizer's July `// driver pass`). Two consequences, both applied: - specs/memory/graph/ingest.t27: all 31 indented `;` comment lines were parse errors waiting in line order (the file has never parsed); now `//`. - specs/compiler/optimizer.t27: my own layer-2 rewrite had just moved the placeholder comments into braced test bodies -- illegal as `;`, now `//`. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * corpus: ingest trailing comments -- the three after-code semicolons (Refs #8957) Same law as the previous commit: a ; after a complete statement is a Semicolon token, not a comment. The three trailing annotations move to the // form, which the parser reads as a comment after a statement (optimizer's // driver pass since July). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * corpus: ingest loops -- C-style for is not this language's loop (Refs #8957) The two exhaustive-check fns use C-style for headers, which reach the parser as an expression and fail on the var at 346:10. Rewritten as while loops with explicit counters -- the form every healthy spec uses (and which the reference compiles). && and ! stay: 219/562 healthy specs use them. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * seals: re-seal the optimizer twins and a_b_c_spec after the corpus repairs (Closes #8957) optimizer.t27's spec hash moved with the braced-test rewrite and a_b/c.t27 with the stray-brace fix; a_b_c_spec.json was already stale on master (seal-verify MISMATCH in the same run that exposed the five). Sealed on the lab with zig on PATH; armored transfer, md5-verified against the lab files. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Closes #8508. Replaces what #8488 landed in specs/a/b_c.t27 and specs/a_b/c.t27: byte-equal twin test_module_exists bodies plus assert-true blocks in both files (the assertionless shape the corpus ratchet gates against — latent red while master's corpus-ratchet runs sat cancelled).
One distinct, real test per spec now:
Both verified on the t27c lab: one test, one pass, zero FAIL, one runtime assert executed, zero vacuous passes.
🤖 Generated with Claude Code