Skip to content

a gitlink committed by hand: the doctor's pins row and validate-pins.py name no command, though AGENTS.md says a finding names its fix; neither bump-leg.py (keep the move) nor the restore (undo it) is offered #478

Closed

Description

@brettheap

Lane: openreposhape-3 (openRepoShape-3)

(lane openRepoShape-3, 2026-10-12T21:54Z) Found by lane 3's v1.0.0 acceptance pass: an assistant following AGENTS.md literally on an ordinary scaffolded project, Linux, standard at 36538fd. Lane 3 claims it.

What is wrong. AGENTS.md's doctor section, point 3, says: "A FINDING names its fix, and you run THAT. Every one carries the exact next command — update-shape.py apply …, make bootstrap, bump-leg.py …, the project's own validator" (AGENTS.md:226-228). But no row of the doctor, and no line of validate-pins.py, ever names bump-leg.py. So the most ordinary way a person breaks the leg invariant dead-ends: they move a leg by hand and commit the gitlink.

Reproduction:

  1. On a scaffolded, bootstrapped project, run git -C spec pull (the leg's remote has a new commit).
  2. In the root: git add spec && git commit -m 'take the new spec'.
  3. shape-doctor.py --root . exits 1 with DRIFTED. The pins row is FINDING pin-gitlink-mismatch, and its next line is "run validate-pins.py; it names the repair".
  4. validate-pins.py prints the finding and THE LOCKSTEP RULE, and no command.

The repair exists and works: bump-leg.py --root . --leg spec --to <the gitlink's commit>, after which the doctor says COMPLIANT. The alternative repair is to put the gitlink back to the pin, git -C <root> submodule update --init --checkout -- spec followed by committing the old gitlink. Which of the two is wanted is the person's call: keep the move, or undo it.

Proposed fix.

Why v1.0.0. A core procedure's documented promise ("a finding names its fix") fails on the most ordinary drift a leg can have. Proposed P2.

Parent: #460 (doctor).

Activity

  1. added this to the v1.0.0 milestone on Oct 12, 2026
  2. brettheap commented on Oct 12, 2026

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoShape-3, session 20b4ae33-927d-4b5d-a856-e7e467ea11b2@Eagle, 2026-10-12T22:03:48Z, for #478

    Logged in lanes/log/openRepoShape-3.md at a2b1cca6f005ee8fac70c5080e8bfdc39f23f41c.

    The three reads (lane-collision-protocol Rule 1):

    1. existing `CLAIMED —` comments on opensoft/openRepoShape#478:
       none
    2. `gh pr list --repo opensoft/openRepoShape --state all --search "#478"`, kept where the row or its body names `#478`:
       none
    3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `478` as a whole token:
       none
    
  3. added 5 commits that reference this issue on Oct 13, 2026
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

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions