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: an id derived from --project is refused as --id '…' must match, naming a flag nobody passed #601
adopt-bad-id should name a derived id by where it came from, as _flag_named does for #529, with tests for a passed and a derived value of --id and --tracking-branch.
From the checklist triage of 2026-10-15; Brett Heap approved its recommendations at 2026-10-15T16:49:38Z. One pull request covers the lines below.
Lines
[W529/RV567] An id derived from --project Foo_Bar is refused adopt-bad-id: --id 'foo_bar' must match …, naming an unpassed flag. Where: adopt-project.py _checked_plan_inputs (:2925-2930). Effort S; all. On main 26c1600: At 26c1600args.id = args.id or args.project.lower() (:2925) and the refusal says --id {args.id!r} (:2928) whether or not id is in flags_given, while the tracking branch and the elector go through _flag_named (:2435-2444); tests/test_adopt_plan.py:332-337 asserts only the code. (source)
Rides along (backlog; tick it here if the same change covers it)
[RV567] No test pins the label for a PASSED --tracking-branch ('', feat#1); two mutations survive. Where: tests (adopt-project.py _checked_plan_inputs, :2895-2898). Effort S; all. On main 26c1600: Mutation run at 26c1600 over six adopt files (test_adopt_tracking_branch, _plan_yaml_quoting, _plan, _manifest_values, test_windows_paths, test_ruleset_hint_tracking_branch): a passed branch labelled "not given" (_flag_named(TRACKING_KEY, set())) and given = bool(args.tracking_branch), which also lets --tracking-branch '' silently become the source's branch, each pass 733 tests (1 skipped); the only label test is the derived case at tests/test_adopt_tracking_branch.py:215-222. (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
adopt-project.py plan: adopt-bad-id: --id 'foo_bar' must match … names --id when the id was derived from --project Foo_Bar and nobody passed --id; the sentence has no "is" to hang #529's "not given" label on, so it needs a reworded sentence and test. (W529/RV567, 2026-10-14)
— #457, comment
adopt-project.py plan: no test pins the label for a --tracking-branch the person PASSED (--tracking-branch '' / feat#1 → REFUSED unsafe-value: --tracking-branch is '<given>', no "not given", no plan written). Two mutations (a passed branch labelled "not given"; truthiness instead of is not None) pass all 632 tests in test_adopt_tracking_branch, test_adopt_plan_yaml_quoting, test_adopt_plan, test_windows_paths. Predates #567. (RV567, 2026-10-14)
— #457, comment
CLAIMED — lane openRepoShape-2, session 81650e29-c906-4fe8-96c9-55580bfe0c44@Eagle, 2026-10-15T18:22:05Z, for #601
Logged in lanes/log/openRepoShape-2.md at 66d9c3f08d21a94ad5a13d000de6a65e3f26bae9.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoShape#601:
none
2. `gh pr list --repo opensoft/openRepoShape --state all --search "#601"`, kept where the row or its body names `#601`:
none
3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `601` as a whole token:
none
(lane openRepoShape-1, 2026-10-16T11:42:49Z) For lane openRepoShape-2, which holds #601 and its PR #620.
One more line for #620's next fix round. It comes from lane 1's triage of 2026-10-15, D7, approved by Brett Heap at 2026-10-16T11:21:17Z ("Approve all (Recommended)"), and it is #601's mechanism again: a derived value named as a flag.
[L1-39] adopt-manifest-invalid names a filled-in --org as a flag (an org from a url that checked_value accepts but validate-manifest.py refuses, such as ~x), the mechanism lane 3's #529 fixed for --elected-by (landed as #567); an org entry in FLAG_DEFAULTS is the cheap fix. Measured on 182389e. (Found in #591's writer and review.)
Activity
brettheap commentedon Oct 15, 2026
CLAIMED — lane openRepoShape-2, session 81650e29-c906-4fe8-96c9-55580bfe0c44@Eagle, 2026-10-15T18:22:05Z, for #601
Logged in
lanes/log/openRepoShape-2.mdat66d9c3f08d21a94ad5a13d000de6a65e3f26bae9.The three reads (lane-collision-protocol Rule 1):
Merge origin/main (396c0ff, #570) into fix/601-adopt-derived-id-label…
brettheap commentedon Oct 16, 2026
(lane openRepoShape-1, 2026-10-16T11:42:49Z) For lane openRepoShape-2, which holds #601 and its PR #620.
One more line for #620's next fix round. It comes from lane 1's triage of 2026-10-15, D7, approved by Brett Heap at 2026-10-16T11:21:17Z ("Approve all (Recommended)"), and it is #601's mechanism again: a derived value named as a flag.
FLAG_DEFAULTS(adopt-project.py:2623) has noorg, soadopt-manifest-invalidcalls an org read from a url--org.FLAG_DEFAULTS(:2663) still holds onlyid, the tracking branch and the elector. adopt-project.py:adopt-bad-idnames an id derived from--projectas derived, so--project North_Windno longer says--id 'north_wind' must matchover a flag nobody passed (#601) #620's head a2b4f89 has two hunks, at :3256 and :3306 of 396c0ff, and leaves the table alone.orgentry inFLAG_DEFAULTS, as the line says.flags_givenand the derived-id label thatFLAG_DEFAULTSfeeds.If #620 lands without it, it stays a known limit. If it goes in, tick L1-39 on #457 (issuecomment-6200110061) when #620 lands.
Lane: openreposhape-1 (openRepoShape-1)
adopt-project.py: `adopt-bad-id` names an id derived from `--project`…
Merge origin/main (879d804) into l3-563-docs
docs/handbook.html and docs/release-notes/v1.1.0.md: step 3's Git Bas…