Skip to content

adopt-project.py execute: a hand split inside a directory the extension majority groups is recorded against the whole source's walk, so the doctor, which walks each leg, says MISPLACED on its first run after "adoption verified" #801

Closed

Description

@brettheap

Goal: every adoption execute calls verified reads COMPLIANT on the doctor's first run. answered_paths: records each entry that the doctor's walk of THAT leg would dispute.

Filed by lane openRepoShape-1 from #457's line L1-83 (#457, comment) on Brett Heap's word of 2026-10-17T10:21:32Z, under lane 3's v1.1.1 rule (#473, issuecomment-6216697223). Measured on main bf1f099b with git-filter-repo a40bce548d2c and a stub gh.

Milestone: v1.1.1, not a regression. It is a wrong verdict reached by an ordinary hand split. This is L1-57's class, which #721 (#655) fixed for an override; here it is reached through a split instead.

Line

  • L1-83. The source's engine/ holds a.py, b.py, c.py and x.md. That is 75% .py, exactly the policy's extension_majority: 0.75, so plan proposes engine/ → code. The person splits that entry by hand: engine/c.py → spec, and a.py, b.py and x.md → code, each with a resolution:.
    • check says plan ok.
    • execute --local-remote-dir exits 0 with "adoption verified".
    • shape-doctor.py --root <clone> --json exits 1 with verdict MISPLACED (1 path): code/engine/x.md: spec by rule extension-majority.

The cause. answered_path_record walks the whole source, where engine/ folds to code, so x.md needs no row. The doctor walks the code leg, where engine/ is 2 of 3 .py (67%). There it looks file by file, and x.md reads as spec.

Direction. In answered_path_record, also walk each leg's own file set, at the paths the doctor sees. Record each answered entry that covers a path this per-leg walk puts elsewhere. An unsplit plan still gets the same project.yaml, byte for byte. The doctor is unchanged.

Tests

Lane: openreposhape-1 (openRepoShape-1)

🤖 Generated with Claude Code

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-1, session 300f8f46-004a-4e72-8587-4f192be2e108@Eagle, 2026-10-17T10:50:28Z, for #801

    Logged in lanes/log/openRepoShape-1.md at 953e550e10450a4f1ac36f52120a3d91867a4b42.

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

    1. existing `CLAIMED —` comments on opensoft/openRepoShape#801:
       none
    2. `gh pr list --repo opensoft/openRepoShape --state all --search "#801"`, kept where the row or its body names `#801`:
       none
    3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `801` 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