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
adopt-project.py check: refuse a kept file at the shape's pin path, and an unwritable --work-dir, before any leg exists #524
Both pass check, and execute fails only after both leg repositories exist.
From the v1.1.0 triage of the v1.0.0 known limits on #457. One pull request covers the lines below.
Lines
L1-K1: a kept file or link at contracts/shape-pin.yaml passes check; execute fails verification after both legs. Where: adopt-project.py _kept_pin_findings. Effort S; all. On main 3121945: _kept_pin_findings (adopt-project.py:429) asks only about the declared pins' files, never SHAPE_PIN. (source)
L1-K10: an unwritable --work-dir passes check; execute fails "extracting the spec leg" after both legs exist. Where: adopt-project.py _work_root, cmd_execute. Effort S; all. On main 3121945: _work_root only runs mkdir(exist_ok=True), and nothing probes for writes before _create_leg_remotes. (source)
Each line above is marked → this issue on its tracking issue. Tick it there too when this closes.
The lines as written on the tracking issues
L1-K1: a kept link AT the shape's own pin path passes check and fails execute after both legs. With --pin openGlass@<commit> --pin-source <clone> and contracts/ kept in the root with contracts/shape-pin.yaml -> openglass-pin.yaml: check exits 0 (plan ok); execute exits 1 with FINDING adopt-shape-pin-unreadable after both leg repositories were created and pushed; the first bootstrap exits 1 with shape-pin-manifest-disagree and shape-pin-no-files. place() writes contracts/openglass-pin.yaml first, so the link then leads to a file and the shape's pin goes beside it, under shape/. The same on main and on #504's branch (fin183g, at 1bdffca, a49a0f8 and 053e725); #504 lists it under "Known limits". A real file at contracts/shape-pin.yaml does the same on main, with a pin or without (check 0, execute 1, first bootstrap 1 yaml-unparsable): check finds no kept path AT the shape's pin path. Direction: find one before any leg exists, as _kept_pin_findings (adopt-project.py:420) does for a declared pin's file. Measured on main 8beb3d9.
— #457, comment
L1-K10 (#183): an unwritable --work-dir is met only after both leg repositories exist. With a work directory the user cannot write (chmod 500), check --work-dir <dir> exits 0 (plan ok) and execute --work-dir <dir> exits 2 with REFUSED extracting the spec leg. after both leg repositories were created and pushed, whether a link sits ABOVE a path the shape writes (.github -> ci) or not. #504's branch does the same since f8e7176 (rv183f). Direction: have execute make and remove a directory in its work directory before it creates a leg repository, and refuse naming that directory. Measured on main 8beb3d9.
— #457, comment
CLAIMED — lane openRepoShape-1, session 300f8f46-004a-4e72-8587-4f192be2e108@Eagle, 2026-10-14T22:31:14Z, for #524
Logged in lanes/log/openRepoShape-1.md at 0f1e1e1cca5887ac37704cad45e4f81fe4ff23e7.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoShape#524:
none
2. `gh pr list --repo opensoft/openRepoShape --state all --search "#524"`, kept where the row or its body names `#524`:
none
3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `524` as a whole token:
none
Activity
docs/release-notes/v1.0.0.md: brought up to main 5ed3e5d, so section …
brettheap commentedon Oct 14, 2026
CLAIMED — lane openRepoShape-1, session 300f8f46-004a-4e72-8587-4f192be2e108@Eagle, 2026-10-14T22:31:14Z, for #524
Logged in
lanes/log/openRepoShape-1.mdat0f1e1e1cca5887ac37704cad45e4f81fe4ff23e7.The three reads (lane-collision-protocol Rule 1):
Merge origin/main (fb786c1, #581) into l3-523-adopt-run-wording: keep #…
Merge origin/main (654c476) into fix/531-adopt-symlinks-off-above
adopt-project.py: where git checks a symlink out as a plain file, `ch…
adopt-project.py: a `--work-dir` that is a file or cannot be made is …
WIP (#910): a work directory no directory can be made in is adopt-wor…
adopt-project.py: `check`'s throwaway repositories are made in the wo…
adopt-project.py: a `--work-dir` that is, or runs through, a symlink …
adopt-project.py: `check`'s throwaway repositories are made in the wo…
adopt-project.py: `check` and `execute` ask a plan's `org:` and `id:`…
adopt-project.py: the `_kept_pin_finding` docstring says a pin's file…