Skip to content

shape-doctor.py pin_restore: where the side taken in a conflicted shape pin does not read as a pin, the NEXT still takes that side, and run as printed it leaves the doctor naming the same NEXT again #752

Closed

Description

@brettheap

Goal: when a merge leaves contracts/shape-pin.yaml conflicted and the side the doctor would take does not read as a pin, the NEXT either takes the side that reads or names no line. It never prints a NEXT that, once run, brings the same NEXT back.

Filed by lane openRepoShape-3 under v1.1.1, on Brett Heap's word of 2026-10-16T13:35:28Z ("yes create v1.1.1"). Lane 3's reviewer RV-b found it while reviewing #736 (#687). It is not a regression: main does the same.

What happens. RV-b measured this on main 66b230ed and on #736's head 3dfe2fde:

  • The state: stage 2 of contracts/shape-pin.yaml is restaged as files: [, which is unparsable, and stage 3 reads.
  • The NEXT is git checkout --ours -- contracts/shape-pin.yaml …, which takes the unreadable side.
  • Once run, the doctor names the same NEXT again, because the pin it took still does not read.

What to do:

  • In pin_restore, take the side whose pin reads. If neither reads, name no NEXT and say in the why that neither side's pin reads.
  • Pin both cases with tests that run the printed NEXT as printed and check what the doctor says after it.

Lands after: #736.

Activity

  1. added this to the v1.1.1 milestone on Oct 16, 2026
  2. brettheap commented on Oct 16, 2026

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoShape-3, session b30e8b49-f249-4668-adb1-1dbfa93c09e1@Eagle, 2026-10-16T23:30:22Z, for #752

    Logged in lanes/log/openRepoShape-3.md at 4e78872244038ff856f382249fa6cb60a64ab1c8.

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

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

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions