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: for a pin or a contracts/ this user cannot read, the legs, manifest kinds and shape currency rows disagree with validate-pins.py's named refusal, and manifest kinds names a git checkout HEAD -- that discards work #847
The doctor's rows should agree with validate-pins.py about a pin, or a contracts/ folder, that this user cannot read. #712 (PR #827) makes the gate refuse those by name: REFUSED yaml-unreadable: contracts/spec-pin.yaml: cannot be read (Permission denied), with a remedy for the permission. Three of the doctor's rows still say something else, and one of them names the wrong way out.
Where it comes from: lane 3's RV827 review of #827, S3 (#827 issuecomment-6236474296). It was measured on #827's head 9ecf7bf3 against main 24a977c0, on a real scaffold, with Python 3.12.3.
Not a regression: the doctor's lines are byte for byte main's.
What the doctor says (measured):
It agrees in one place: its pins row now quotes the gate's named refusal, where main quoted a crash.
The legs row (shape-doctor.py:5735 on 9ecf7bf3, through pin_commit at :4945):
it says contracts/spec-pin.yaml carries no 40-hex commit;
its verdict is DRIFTED, both for a pin at mode 000 and for contracts/ at 000;
the gate says the pin cannot be read.
With contracts/ at 000:manifest kinds and shape currency both say could not be run: [Errno 13] Permission denied: '<ROOT>/contracts'.
For a pin at 000:manifest kinds gives the NEXT step git checkout HEAD -- contracts/spec-pin.yaml, which "discards the uncommitted change that broke it". That is the wrong remedy for a permission fault.
Expected:
For a pin, or a contracts/ folder, that this user cannot read or search, each of these rows names the fault the gate names: the file or folder, that it cannot be read, and why. It is never carries no 40-hex commit, DRIFTED or an [Errno 13] line.
The NEXT step is the gate's permission remedy, never a git checkout that would discard work.
CLAIMED — lane openRepoShape-4, session 11c6c0ef-495a-4a05-94cf-811b7b0a1012@Eagle, 2026-10-17T19:48:23Z, for #847
Logged in lanes/log/openRepoShape-4.md at a43e9bf6e0d5043a0e9f7f9a48470877139a37eb.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoShape#847:
none
2. `gh pr list --repo opensoft/openRepoShape --state all --search "#847"`, kept where the row or its body names `#847`:
none
3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `847` as a whole token:
none
Activity
brettheap commentedon Oct 17, 2026
CLAIMED — lane openRepoShape-4, session 11c6c0ef-495a-4a05-94cf-811b7b0a1012@Eagle, 2026-10-17T19:48:23Z, for #847
Logged in
lanes/log/openRepoShape-4.mdata43e9bf6e0d5043a0e9f7f9a48470877139a37eb.The three reads (lane-collision-protocol Rule 1):
shape-doctor.py and its tests: rv860's round 1 on #860 (#847)
shape-doctor.py and its tests: RV860c's round 2 on #860 (#847)
shape-doctor.py: the `legs`, `manifest kinds` and `shape currency` ro…
update-shape.py: a path in the root or the upstream this user cannot …
update-shape.py: a path in the root or the upstream this user cannot …
tests/test_path_guard_hygiene.py and shape-doctor.py: a bare is_file/…