You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
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
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.
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
Activity
brettheap commentedon Oct 16, 2026
CLAIMED — lane openRepoShape-3, session b30e8b49-f249-4668-adb1-1dbfa93c09e1@Eagle, 2026-10-16T23:30:22Z, for #752
Logged in
lanes/log/openRepoShape-3.mdat4e78872244038ff856f382249fa6cb60a64ab1c8.The three reads (lane-collision-protocol Rule 1):
shape-doctor.py: a conflicted shape pin's NEXT reads both sides' pins…
Merge F (#779's final head 1d883ce) into l3-753-renamed-copy
Merge S (#779's squash c100843 on main) into l3-753-renamed-copy
Merge main (ca47b71) into fix/847-doctor-unreadable-pin