Skip to content

A script named verify_all_152.py has never parsed: eight conflict markers, present since the commit that added it #2873

Description

@gHashTag

scripts/verify_all_152.py carries eight unresolved merge conflicts, some
of them nested:

  4:<<<<<<< Updated upstream
  6:=======
  8:>>>>>>> Stashed changes
 13:<<<<<<< Updated upstream
 ...
 61:<<<<<<< Updated upstream
 63:<<<<<<< Updated upstream     <- nested

It does not parse:

$ python3 -c "import ast,pathlib; ast.parse(pathlib.Path('scripts/verify_all_152.py').read_text())"
SyntaxError: invalid syntax

It has been that way since f1fb1456b, the commit that introduced it —
checked: there is no earlier, clean revision to restore. Nothing imports
it and nothing runs it (git grep verify_all_152 outside the file itself
returns nothing), so it has never executed once.

The name is the sharp part. A file called verify_all_152.py, whose docstring
says "Verify all 152 Trinity formulas with 50-digit mpmath precision", is an
instrument. Anyone reading the tree sees a verification script and reasonably
assumes the 152 formulas are verified by something. What is actually there is
a syntax error.

Nothing looks for the shape

A second marker sat in .claude/skills/ci-gates/SKILL.md (committed in
2c0ce54e8, #2574) and was found by hand while resolving an unrelated merge —
removed in #2865. No check in this repository looks for conflict markers, and
tri skill check reports OK on a skill file containing one, because it checks
section numbering and nothing else.

What #2866 adds

tools/check_conflict_markers.py — scans every tracked file, refuses the ones
carrying an opening or closing marker. Measured on master: 7592 files read,
1 carrying markers, 60 not read
(binary; the abstention is printed rather
than folded into the pass).

It abstains on a bare =======. Seven equals signs with nothing after them
is an ordinary Markdown rule and this repository has hundreds; git always
writes that line between two labelled markers, so refusing on the labelled pair
alone loses nothing and invents no false positives.

The file is recorded in tools/conflict_markers_baseline.txt with the reason
rather than being repaired, because repairing it means choosing which of 152
numeric formulas is right, and that is not a gate's judgement to make.

What the owner decides

  1. Delete it, or rewrite it. There is no revision to restore. If the 152
    formulas are verified somewhere else, this file is a misleading duplicate;
    if they are not, this is the gap.
  2. If it is rewritten, remove its line from the baseline — the gate reports a
    baseline entry that has outlived its debt, so it will say when that happens.

Refs #2756, #2574.

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