Repository navigation
types ratchet: 26 new conflicted type names on master, hidden while Corpus ratchet died at its first step #7437
Description
Since 07:23Z on 2026-10-07, the Corpus ratchet job on master has stopped at its first step, "No new assertionless spec test". The cause was assert true tests in two ports (#7211, #6875), so every later step was skipped, including "A type name may not gain a second definition". PR #7397 fixes that first step. Once it lands, the types step runs again and fails.
At 2b74c2b (the #7397 head, clean tree on the t27c lab), tri types ratchet reports ledger 84 name(s), observed 110 and lists 26 NEW conflicts. Every one of them comes from a specs/port/ file merged in the port batch:
- AppState: trios-server mcp_endpoints/experience.t27 vs tasks.t27
- AsmSection, AssembledInstr: specs/fpga/assembler.t27 vs port compiler/AsmRelocEntry_new.t27 and AssembledInstr_r_type.t27
- BlinkState (4) and Inputs (4): trinity/fpga/openxc7-synth blink_*, d6_blink, d_oscillator and d_slow_blink
- Block: scripts/gen_w377.t27 vs tools/dedupe_identical_tests.t27
- Cli: trios-doctor main.t27 vs trios-igla-race main.t27
- FileChange: specs/file/schema.t27 vs trios-git status.t27
- HirBoardResources: compiler/HirIpCatalog_new.t27 vs HirTernaryRegFile_new.t27 (DRIFT: same fields,
[]const u8vsstr) - HwType: specs/fpga/hw_types.t27 vs compiler/HwType_hw_width.t27
- IdentityConfig: browseros lib/identity.t27 vs specs/sacred/sacred_identity.t27
- LinkSection, LinkedSymbol: specs/fpga/linker.t27 vs compiler/LinkSection_text.t27
- LockFreeStack: trinity gen_lockfree_stack.t27 vs specs/tri/collections/lockfree_stack.t27
- LockGuard: trios-cli cmd/report.t27 vs lock.t27
- Path: trios-server tools/git.t27 vs specs/tri/io/fs.t27
- Point: trinity gen_transform.t27 vs specs/tri/math/bezier.t27
- RTree: trinity gen_rtree.t27 vs specs/tri/trees/rtree.t27
- RunResult: trios-cli cmd/run.t27 vs trios-trainer train_loop.t27
- Segment, Segments: scripts/gen_w390.t27 vs gen_w391.t27
- TestResults: fpga/verilog gft_smul_jtag, gft_train1_jtag and vivado gf16_uart_sim_bench
- ToolDefinition, ToolRegistry: browseros tools/tool-registry.t27 vs specs/tools/schema.t27
- Value: trios-server mcp_endpoints/tasks.t27, tools/git.t27 and tools/mod.t27
- Variant: trios-macos clade-improve oversight.t27 vs specs/tri/collections/variant.t27
tri types classified also reports 26 UNJUDGED names.
How to fix: rename the port-side struct to a module-unique name when the two types are DISTINCT, which is the #7315 approach (ExitPool, KidTree). Unify them when they DRIFT. Blessing all 26 would make the ratchet meaningless. Per-file full listing: tri types dup.
Boundary
compiler/AsmRelocEntry_new.t27compiler/HirIpCatalog_new.t27compiler/HwType_hw_width.t27compiler/LinkSection_text.t27scripts/gen_w377.t27scripts/gen_w390.t27specs/file/schema.t27specs/fpga/assembler.t27specs/fpga/hw_types.t27specs/fpga/linker.t27specs/sacred/sacred_identity.t27specs/tools/schema.t27specs/tri/collections/lockfree_stack.t27specs/tri/collections/variant.t27specs/tri/io/fs.t27specs/tri/math/bezier.t27specs/tri/trees/rtree.t27tools/dedupe_identical_tests.t27tools/git.t27tools/mod.t27tools/tool-registry.t27
User Scenarios
- Given the Corpus ratchet job is unblocked by PR specs(port): nine batch-merged ports spell string arrays as [N]str, so gen-verilog lowers them (Closes #7393) #7397, When
tri types ratchetruns on master, Then it must report zero new conflicted type names (ledger count equals observed count). - Given 26 type names currently have duplicate definitions across port and non-port specs, When the port-side structs are renamed to module-unique names or unified where they drift, Then
tri types classifiedmust report zero UNJUDGED names.
Requirements
FR-001: Each of the 26 conflicted type names MUST be resolved by either renaming the port-side definition to a module-unique name or unifying the definitions when they represent the same type with drift.
FR-002: The resolution MUST not change the public API of any non-port spec file.
FR-003: After resolution, tri types ratchet MUST exit 0 with ledger count equal to observed count.
FR-004: After resolution, tri types classified MUST report zero UNJUDGED names.
Success Criteria
tri types ratchetexits 0 and reportsledger 110 name(s), observed 110tri types classifiedreportsUNJUDGED: 0tri types dupproduces no output
Activity
docs(type conflicts): drop the ledger and verdict rows for the names …
docs(type conflicts): drop the ledger and verdict rows for the names …
docs(type conflicts): drop the ledger and verdict rows for the names …
gHashTag commentedon Oct 7, 2026
Reopened 2026-10-07: the bulk close of issues without a
## Boundarysection was reverted by the owner. Nothing to do here; this comment replaces the earlier close notice.specs(t27b conformance): fixture-unique names PostfixPoint and Postfi…
specs(port trinity, fpga, scripts, tools): rename 9 port-only types (C…
specs(port compiler): unify AssembledInstr, LinkSection, LinkedSymbol…
specs(port trios, browseros): unify LockGuard; rename 11 port-only ty…
github-actions commentedon Oct 17, 2026
Re-filed as #9888.
An attempt claimed this issue on 2026-10-08 and left an empty branch. A dispatch row that has spent its retry ceiling is released once and then keeps its issue for good, which is the right rule for a third identical failure and the wrong outcome for an issue nobody ever attempted twice. The new issue carries the same work, the same boundary, and today's brief.
Closing this one so the swarm can take the work again.