Skip to content

types: gen_hash_table.t27 defines a second Entry; rename it HashTableEntry (NEW type-name conflict) #9127

Open

Description

@gHashTag

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:

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.

Boundary

  • specs/port/trinity/src/tri/gen_hash_table.t27

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority/highMust fix before next milestone

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions