Skip to content

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

Closed

Description

@brettheap

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:

Lands after: #827 (#712), whose named refusals and words the rows should quote.

Files: scripts/shape-doctor.py (the legs, manifest kinds and shape currency rows, and pin_commit), and a new test file.

Effort: S to M. Platform: all. The mode rows skip on Windows and as root; the refused-stat rows stand in there.

Milestone: v1.1.1, which lane 3, the release owner, may move.

Activity

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

    @brettheap
    ContributorAuthor

    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
    
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