Repository navigation
master: Corpus Ratchet red at 760a787 -- five unexpected failures, four spec-side #8957
Copy link
Copy link
Closed
Labels
Description
master: Corpus Ratchet red at 760a787 -- five unexpected failures, four spec-side
First corpus-ratchet run after the 2026-10-10 landing burst + Actions queue drain
(run 38120214535, 07:02Z 2026-10-11). Verdict: ledger 71/71, UNEXPECTED FAILURES 5.
Per-spec causes
specs/a/b_c.t27 [parse-no-discard]-- "parser reached EOF but DISCARDED 1
top-level token". A stray trailing}at EOF: Wave 552's original file ended
at dummy()'s closing brace; the t27b test-block batches t27b checked: test blocks for 7 tiny sibling specs in specs/a*, specs/agents #8488/specs: one distinct real test for a/b_c and a_b_c, replacing the #8488 twins (Closes #8508) #8496 added the
test block plus one brace too many.specs/a_b/c.t27 [parse-no-discard]-- same stray-}shape, same batches.
Also surfaced: its seal records spec_hash 702d0ffd... but the tree is at
4208dee... -- a stale seal that moves again with this fix; reseal in the same
PR.specs/compiler/optimizer.t27 [parse-no-discard]-- "DISCARDED 84 top-level
tokens": the inline;comments after code (Census the optimizer: 4 of 7 passes have no precondition, and dead_store_elim deletes calls #8502 census tests) are
tokenized and then discarded -- the same defect as t27c: inline;comment prose is tokenized -- "this test documents" mints a phantom TestBlock declaration [parked, foreign fix] #8581, now quantified by
the discard counter. Spec-side fix here: move the four inline comments onto
their own lines (full-line comments are stripped before tokenizing, so they
mint no tokens). The compiler-side tokenizer fix stays parked as t27c: inline;comment prose is tokenized -- "this test documents" mints a phantom TestBlock declaration [parked, foreign fix] #8581.specs/memory/graph/ingest.t27 [parse]-- "unterminated string literal
opened at line 414:34":let's/we'rein;comment prose. The
apostrophe opens a char literal the parser never closes, so the whole spec
fails parse (it has failed parse since memory/graph slice 4: ingest.t27 -- the extraction state machine and the LLM effect slot #8493 landed; the PR-side ratchet run
was advisory and the queue was jammed). Reword the three comment phrases.specs/port/trinity/src/tri/orchestrator_bench.t27 [gen-verilog]--
"unsupported multi-dimensional array of aggregate type[10][]const u8for
local variablecommands": the known 2-D array-of-struct lowering gap
(gen-verilog: test-local [N][]const u8 rejected as 2-D array-of-struct; 7 port specs Broken in the catalog #8521, docs/reports/W469_2D_STRUCT_ARRAY_DESIGN.md). The port must stay
faithful to the Zig source, so this one is ledgered, not rewritten: a hand
entry in docs/reports/suite_expectations.json with issue gen-verilog: test-local [N][]const u8 rejected as 2-D array-of-struct; 7 port specs Broken in the catalog #8521, and
max_entries moves 71 -> 72 in the same commit.
Fix
One PR: stray-brace removal (2), comment relocation (1), apostrophe reword (1),
ledger entry + cap raise (1), reseals for every spec whose hash moves.
Refs #6063 (steward lane; the red was found while clearing the post-burst gate
stack).
User Scenarios
- Given the corpus ratchet runs at commit 760a787, When the ratchet executes, Then it reports 5 unexpected failures instead of 0.
- Given specs with stray trailing
}braces, When the parser processes them, Then it discards top-level tokens and failsparse-no-discard. - Given inline
;comments after code in optimizer.t27, When tokenized, Then 84 tokens are discarded andparse-no-discardfails. - Given apostrophes in comment prose in ingest.t27, When parsed, Then an unterminated char literal causes parse failure.
- Given a 2-D array of struct in orchestrator_bench.t27, When gen-verilog runs, Then it fails with unsupported type error and must be ledgered.
Requirements
- FR-001: The stray trailing
}inspecs/a/b_c.t27MUST be removed soparse-no-discardpasses. - FR-002: The stray trailing
}inspecs/a_b/c.t27MUST be removed and its seal MUST be resealed. - FR-003: The four inline
;comments inspecs/compiler/optimizer.t27MUST be moved to full-line comments so zero tokens are discarded. - FR-004: The three apostrophe-containing comment phrases in
specs/memory/graph/ingest.t27MUST be reworded to avoid char literal tokenization. - FR-005: A ledger entry for issue gen-verilog: test-local [N][]const u8 rejected as 2-D array-of-struct; 7 port specs Broken in the catalog #8521 MUST be added to
docs/reports/suite_expectations.jsonandmax_entriesMUST be increased from 71 to 72. - FR-006: All specs whose content hash changes MUST have their seals regenerated.
Success Criteria
t27c specs/a/b_c.t27 --parse-no-discardexits 0t27c specs/a_b/c.t27 --parse-no-discardexits 0t27c specs/compiler/optimizer.t27 --parse-no-discardexits 0t27c specs/memory/graph/ingest.t27 --parseexits 0t27c specs/port/trinity/src/tri/orchestrator_bench.t27 --gen-verilogexits 0 (ledgered expectation)python -m tools.corpus_ratchetreports UNEXPECTED FAILURES 0 and ledger 72/72- Seal files for
specs/a_b/c.t27and any other modified specs are updated
Boundary
- specs/a/b_c.t27
- specs/a_b/c.t27
- specs/compiler/optimizer.t27
- specs/memory/graph/ingest.t27
- specs/port/trinity/src/tri/orchestrator_bench.t27
- docs/reports/suite_expectations.json
Reactions are currently unavailable
Activity
dupe-bodies: ledger the t27b plan-spec helper groups (Refs #8957)
corpus: peel the next layer -- ingest imports, optimizer braceless te…
corpus: in-body comments are //, not ; -- measured, then applied (Refs …
corpus: ingest trailing comments -- the three after-code semicolons (…
corpus: ingest loops -- C-style for is not this language's loop (Refs #…
seals: re-seal the optimizer twins and a_b_c_spec after the corpus re…
corpus: repair the five unexpected failures at 760a787 + dupe-bodies …