Repository navigation
types ratchet red on master: #7216 gave Tree a second definition (t27b conformance spec) #7294
Description
Problem
Master's Corpus Ratchet workflow (job "Corpus ratchet (expected-failure ledger)", step "A type name may not gain a second definition") has been red since #7216 (0a05923):
ledger 84 name(s), observed 85
+ Tree NEW conflict
tri types dup names the two definitions:
Tree CONFLICTED (2 definitions)
specs/tri/t27b/conformance/unresolved_signature.t27:18
kind: u32, kids: [KIDS]Tree
specs/tri/trees/tree.t27:13
(newtype): T
#7216 added the first one. Its own master run (37568156807) was cancelled, so the first master run to measure it was 37568215828 on df00ec4 (#7242), and every PR based on master since then carries this red. One example is #7291, whose run 37569428325 has the same single line. The check is not required, so it does not block merges, but it hides any new conflict behind a standing red.
Expected
The conformance spec's struct is a stand-in for "a struct that holds itself by value", so its name is arbitrary. Rename it, for example to SelfTree, in specs/tri/t27b/conformance/unresolved_signature.t27 together with whatever t27b expectations name it. Do not bless Tree into the ledger: two unrelated definitions under one name are the defect #2774 describes.
Criteria
tri types ratchetexits 0 on master with the ledger unchanged at 84 names.tri types dup | grep -c '^ Tree 'prints 1.- The t27b conformance run for
unresolved_signature.t27gives the same verdict as before the rename.
Refs #7216
Boundary
specs/tri/t27b/conformance/unresolved_signature.t27specs/tri/trees/tree.t27
User Scenarios
- Given the
Corpus Ratchetworkflow runs on master, Whentri types ratchetexecutes the "A type name may not gain a second definition" step, Then it exits 0 with the ledger unchanged at 84 names. - Given the type duplicate check runs, When
tri types dupis invoked, Then it reports exactly one definition forTreeand zero conflicts for that name. - Given the t27b conformance spec
unresolved_signature.t27is renamed fromTreetoSelfTree, When the conformance suite runs that spec, Then it produces the same verdict as before the rename.
Requirements
- FR-001: The struct named
Treeinspecs/tri/t27b/conformance/unresolved_signature.t27MUST be renamed toSelfTree(or another non-conflicting name) along with all references within that file. - FR-002: Any t27b expectation files that reference the old
Treename in the context ofunresolved_signature.t27MUST be updated to the new name. - FR-003: The definition of
Treeinspecs/tri/trees/tree.t27MUST remain unchanged. - FR-004: The
tri types ratchetledger MUST remain at 84 names with no new entries added.
Success Criteria
tri types ratchetexits 0 on master with the ledger unchanged at 84 names.tri types dup | grep -c '^ Tree 'prints1.- The t27b conformance run for
specs/tri/t27b/conformance/unresolved_signature.t27gives the same verdict as before the rename.
Activity
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.