You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
types: gen_hash_table.t27 defines a second Entry; rename it HashTableEntry (NEW type-name conflict) #9127
Part of epic #9025 (downtime). Corpus Ratchet is red on master (run 38141306072): tri types ratchet reports Entry NEW conflict (ledger 86, observed 89). Write it in t27 only, with no hand-written code in other languages (see #8236). DRY rule (AGENTS.md, see #8963): search before you write, with t27c dupes --name <fn> and grep -rn over specs/. If one exists, use it and extend it instead of copying.
Two specs define a type named Entry:
specs/network/mvp_v3.t27:209, pub struct Entry: one step of the MVP v3 ledger (ev, op, job, who, arg, amt, src, ...). It came first, in 49461b7.
They are different types. So the second one takes a name that says what it is, and nobody blesses the conflict.
User Scenarios
Given master with this change, when tri types ratchet runs, then Entry is no longer reported as a NEW conflict.
Given gen_hash_table.t27 after the rename, when its tests run with master's t27c, then they pass as before.
Requirements
FR-001: In specs/port/trinity/src/tri/gen_hash_table.t27, Entry MUST be renamed to HashTableEntry, with every use in that file. specs/network/mvp_v3.t27 MUST NOT change.
FR-002: The conflict MUST NOT be blessed: docs/reports/type_conflicts.json stays as it is.
FR-003: The spec MUST keep passing its tests under master's t27c (t27c test-report specs/port/trinity/src/tri/gen_hash_table.t27 shows FAIL 0). It has no seal today; if the PR adds one, it is written by t27c seal --save, never by hand.
Success Criteria
grep -c 'pub const Entry = struct' specs/port/trinity/src/tri/gen_hash_table.t27 prints 0. It prints 1 today.
./target/debug/tri types ratchet | grep -c 'Entry NEW conflict' prints 0. It prints 1 today.
grep -c 'HashTableEntry' specs/port/trinity/src/tri/gen_hash_table.t27 prints a number above 0. It prints 0 today.
Activity