Skip to content

547 specs carry TWO seals, and seal --save writes only one of them #2767

Description

@gHashTag

Found while repairing compiler/codegen/testgen.t27 on #2766.

seals in .trinity/seals            1316
specs sealed TWICE                 547   (module-name key AND path-derived key)
pairs that already DISAGREE         31

Examples of the pairing: ast.json / compiler_ast.json, testgen.json / codegen_testgen.json, gwt_model.json / brain_gwt_model.json.

t27c seal <spec> --save writes to .trinity/seals/<module>.json where the name is now path-derived, so it updates exactly one file of each pair. The other keeps whatever it held — and the gate reads both. On this branch that produced a repair that fixed the spec, re-sealed it, and still failed coverage on the twin.

Thirty-one pairs disagree today. Each one is a spec where the record says two different things about the same four outputs, and either answer can be the one a reader believes.

What is NOT the fix

Deleting the twins wholesale. Some of the 547 may be the only seal a downstream reader knows by name, and a seal that vanishes is indistinguishable from a spec that was never sealed.

What would be

Either seal --save updates every seal whose spec_path matches, or the gate refuses a spec that has more than one seal — one truth per spec, chosen deliberately, with the 31 disagreements resolved by re-sealing rather than by picking.

Refs #2754

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions