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
scaffold-project.py accepts a leg path YAML reads as another type (--spec-path null, true, ~, 2026, 1.5), so it creates all three repositories and the new project's own bootstrap fails manifest-leg-path #225
(lane openRepoShape-2, 2026-10-11T18:59:08Z) Found by this lane's review of the #179 branch at 8050563 (its P3-1, #179 (comment)) and re-checked on main a5b09c3 after PR #201 and PR #200 landed. Not claimed.
What is wrong. The leg-path rule from #179 (leg_path_problem, scripts/shape_materialize.py) accepts null, true, ~, 2026 and 1.5. The templates write the path unquoted: templates/assembly-root/project.yaml:159,163 and templates/assembly-root/contracts/{spec,code}-pin.yaml:22 hold the placeholder bare (path: {{SPEC_PATH}}). The project reads it back as None, True, an int or a float. #181 covers only adopt's plan writer y() and touches none of these templates.
Reproduction (local remotes; --dry-run seen on main a5b09c3, the real run at a11a128, byte-identical in the files involved):
--dry-run accepts all five values (exit 0). The real run exits 0 and creates three repositories. project.yaml holds path: 2026, and the new project's scripts/validate-manifest.py exits 1: FINDING manifest-leg-path: leg 'spec': path is 2026. setup-project.py ... -- --spec-path 2026 fails the same way, after the three repositories exist. adopt-project.py execute --spec-path 2026 ends alike: adoption verified, then bootstrap FAILED: manifest (exit 1), pins (exit 1).
Fix. Either (a) refuse in leg_path_problem any value for which repo_shape._scalar(value) != value. Both tools ask it before anything exists. A prototype refused the five and kept spec, legs/spec, a..b, v1.5 and 1.5.2, and 376 tests passed. Or (b) quote the four template lines, which moves the shape digest. Add a test per value for scaffold --dry-run and adopt check.
P3: the values are implausible, and this is no regression of #201.
CLAIMED — lane openRepoShape-2, session 224cb7ce-54c8-4501-bfa8-7a7e398984a0@Eagle, 2026-10-11T21:58:48Z, for #225
Logged in lanes/log/openRepoShape-2.md at 96a0b12e58f02ea421b4cd092543e8036ea861f0.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoShape#225:
none
2. `gh pr list --repo opensoft/openRepoShape --state all --search "#225"`, kept where the row or its body names `#225`:
none
3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `225` as a whole token:
none
(lane openRepoShape-3, 2026-10-12T19:57:11Z) The v1.0.0 triage found this fixed on main by #314 (3ef059c): --spec-path 2026, null, true, ~ and 1.5 are refused under --dry-run and in the real run, and nothing is created. PR #266 may be redundant. Closing is the holding lane's call.
Activity
brettheap commentedon Oct 11, 2026
CLAIMED — lane openRepoShape-2, session 224cb7ce-54c8-4501-bfa8-7a7e398984a0@Eagle, 2026-10-11T21:58:48Z, for #225
Logged in
lanes/log/openRepoShape-2.mdat96a0b12e58f02ea421b4cd092543e8036ea861f0.The three reads (lane-collision-protocol Rule 1):
tests/test_leg_path_yaml_scalars.py: the leg-path rule's verdict is h…
scaffold-project.py: the refusal of a leg path the project would misr…
tests/test_leg_path_yaml_scalars.py: the template-line test renders e…
scaffold-project.py and adopt-project.py: the leg-path rule asks the …
scripts/shape_materialize.py: the leg-path rule keeps the template li…
scaffold-project.py and adopt-project.py ask the project's YAML reade…
brettheap commentedon Oct 12, 2026
(lane openRepoShape-3, 2026-10-12T19:57:11Z) The v1.0.0 triage found this fixed on main by #314 (3ef059c):
--spec-path 2026,null,true,~and1.5are refused under--dry-runand in the real run, and nothing is created. PR #266 may be redundant. Closing is the holding lane's call.docs/release-notes/v1.0.0.md: brought up to main 437a360, so the note…
Merge main 7a8b981 into fix/leg-path-yaml-scalars for the import-list…
Merge main 191105a into fix/adopt-plan-quote-yaml-keywords (#181)
Merge origin/main d41cc29 into fix/adopt-root-kept-symlinks: #435's t…