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 plan writes leg: spec with no question for a source path that execute will refuse (-notes.md), so the answer check or execute then rejects is one plan chose for the person, and root or drop is offered for that entry nowhere #319
What happens. A source with four tracked files, -notes.md, README.md, docs/guide.md, src/main.py, one commit. On main be2790e:
plan -notes.md spec medium extension-majority (review_required: false, no `question:`)
check exit 0 plan ok
execute exit 2 REFUSED unsafe-value: a plan path is '-notes.md', which is not a value this tool will put on a `git` or `gh` command line
execute was run with a no-op git-filter-repo stub on PATH (none is installed here). Its refusal comes before any leg exists; no remote directory was created.
PR #231 (open) changes the last two lines: check exits 1 with FINDING plan-unsafe-path, and execute refuses it before any leg exists. Its table measures the same shape for a tab or another control character, ==>, and a byte that is not UTF-8. In every case plan has already written the entry's leg: itself and asked nothing. The ways out are renaming the file in the source or hand-editing the plan to root or drop, and no message offers either for this entry.
Where. adopt-project.py:cmd_plan (entries come from walk and ask_about_submodules, then render_plan); scripts/path_classify.py (the verdict's question and review_required). On main the refusing test is checked_value in _leg_paths (SAFE_ARG_RE); after #231 it is entry_path_problem(path), which plan does not ask.
Why it matters.plan is the step whose output a person reads to decide. For a path of this kind it hands over a plan that cannot be carried out, chosen by plan, and the first notice is a later command. Lane 2's review rated it P3, and main had the same gap (it refused such a path only at execute). Direction: plan asks entry_path_problem of each entry it writes and, where it refuses, writes leg: null, review_required: true and a question: that names the reason and offers root or drop. That needs #231's helper, so the fix lands after #231.
Source. PR #231, ## Left out, first bullet ("plan should ask entry_path_problem of each entry it writes", lane 2's review, P3, not filed); the coordinator ruled it out of #231. Related: #196 (open) is the check side.
CLAIMED — lane openRepoShape-3, session b2cc9e59-4dc8-4f43-b01b-81cb99c8b07e@Eagle, 2026-10-12T10:58:04Z, for #319
Logged in lanes/log/openRepoShape-3.md at af65829fdeeca2f3da61cfc96905b52dbd7f86e5.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoShape#319:
none
2. `gh pr list --repo opensoft/openRepoShape --state all --search "#319"`, kept where the row or its body names `#319`:
none
3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `319` as a whole token:
none
Activity
brettheap commentedon Oct 12, 2026
CLAIMED — lane openRepoShape-3, session b2cc9e59-4dc8-4f43-b01b-81cb99c8b07e@Eagle, 2026-10-12T10:58:04Z, for #319
Logged in
lanes/log/openRepoShape-3.mdataf65829fdeeca2f3da61cfc96905b52dbd7f86e5.The three reads (lane-collision-protocol Rule 1):
adopt-project.py: `plan` asks about every source path `execute` will …
Merge origin/main (92e29d9) into fix/adopt-late-failure-notice
Merge origin/main 92e29d9 into fix/adopt-root-kept-symlinks: #190's r…
Merge main 92e29d9 into fix/adopt-plan-quote-yaml-keywords (#181)