Skip to content

#443's body cites have drifted since it was filed, and "all five call sites" enumerates a different five #743

Description

@pbean

#443 was filed on 2026-08-03 and its file:line cites were taken against the tree of that day. Almost none of them still land on what they name, and one count contradicts the issue's own removal list a few lines below it. #443 is the design-of-record for shape (1) of the repo_root != project work, so whoever implements it will resolve these cites first — and a stale cite that lands on real code is the failure mode conventions.md calls out, because it survives a spot-check.

Resolved by symbol against main @ 1a3d358b.

"all five of its call sites" enumerates a different five

The body says landing #443 deletes bmadconfig.worktree_isolation_conflict "and all five of its call sites", then names them as _reject_isolation_conflict at cmd_run/cmd_sweep/_resume_paused_run, the RuntimeError in the sweep factory, and the cmd_validate finding.

The actual five callers are cli.py:197 (inside _reject_isolation_conflict itself), cli.py:369 (cmd_validate), cli.py:1081 (_warn_preflight_would_abort), cli.py:2185 (the sweep factory), and tui/app.py:222 (_guarded). The parenthetical counts _reject_isolation_conflict's three callers (cli.py:1843, :2244, :2414) as three sites and omits _warn_preflight_would_abort and the TUI — both of which get their own removal bullets immediately below. This is the one genuinely miscounted number in the body.

Stale cites

Body says Actually at
cli.cmd_validate's verify.worktree_clean(project)cli.py:268 cli.py:423 (def :316); cli.py:268 is an unrelated resolve_profiles/ProfileError docstring
merge-back and teardown — worktree_flow.py 389, 613, 730 merge_local :1852, gc_run_worktrees :2251, discard_worktree :2266
sweep.py:666 discard_worktree :847, worktree_clean :882 and :1426
isolation predicate — recovery_flow.py:172 :828
cli.py clean-tree gates — 1023, 1261 :1860, :2247
_reconcile_stale — 179 def :301, calls :1867 and :2254
--reverify — 1813, 1855 _reverify def :2927, calls :3026 and :3068
the confirm commit — 1984 verify.commit_paths(paths.repo_root, …) at cli.py:3211, in _land_confirmation (def :3161)
cmd_clean — 2385 def :3720
load_paths' config requirement — bmadconfig.py:72-74 :188-190; :72-74 is inside worktree_isolation_conflict's docstring
ProjectPaths.rebasedbmadconfig.py:43-63 :45-65
hook-relay bake — worktree_flow.py:142-143 relay = repo_root / HOOK_SCRIPT_REL at :818, in provision_worktree (def :721)
skill trees / _bmad/custom/ copies — worktree_flow.py:238-245, 262-266 _seed_bmad_tree :373, base_skills_seed_incomplete :489, _worktree_skill_copy_candidates :96
seed_files / seed_globsworktree_flow.py:196-200 consumed at :848 and :920

Two content claims that also drifted

  • "probed under project" is imprecise. The body says skill trees and _bmad/custom/ overrides are "probed under project" by missing_base_skills / resolve_review_layers. Those functions take whichever root the caller passes: worktree_flow.py:98 and :111 call resolve_review_layers(repo_root, tree), and base_skills_seed_incomplete(worktree, repo_root, trees) probes repo_root. Only the preflight is project-rooted. The current wording reads as though the functions are inherently project-rooted.
  • "Coverage gap to close" was narrowed by PR fix(verify): run review-gate commands in repo_root; spare an empty-proof park #742. It says the refusal's tests "construct the divergent pair but stop at the refusal". tests/test_verify.py:2692 (test_verify_review_gates_run_commands_in_repo_root) and the rows after it now go past it, built with dataclasses.replace(project, repo_root=…) — the house idiom an implementer of shape (1) would reuse. The provisioning gap the section describes is still real; the sentence is just no longer the whole picture.

Suggested fix

Re-resolve every cite by symbol and correct the five-call-sites parenthetical. Related to #551, which is blocked behind #443 and quotes some of the same cites in its answer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P4Parked - needs design, blocked upstream/PR, or speculativearea:configBMAD config resolution and the setup skilldocumentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions