Twinned from https://github.com/cfsh/ninefold/issues/1122 by tools/beads/import_github.py's reconcile pass.
Design 011 Amendment A1 (design_docs/011-task-tracking-on-beads.md):
replace per-dev-worktree embedded bd copies with one shared bd workspace
per machine, held in a dedicated reserved worktree (sibling to
ninefold/devs, not inside devs/ — the ninefold-ro shape).
Rationale, evidence, and what changes: see Amendment A1 in the design doc. Short version — §6.1 always specified "shared by all worktrees"; T1 (#1060) implemented per-worktree copies instead to solve a real but narrower problem (committability on this box's bare-repo layout), which is why T5 (#1107) needed cross-machine-style push/pull sync just to keep sibling worktrees on ONE box consistent. A dedicated reserved worktree solves the committability problem without giving up "shared."
Scope, roughly:
- Stand up the reserved worktree (e.g. ~/nf/beads, or per the amendment's
proposal, wherever spawn_dev.py's conventions put a reserved slot).
- A new resolution helper every Bd(...) call site switches to, instead of
nflib.repo_root() / session.worktree / a session's own ROOT.
- Update T2's already-merged chokepoint (merge_pr.py, wrap_up.py, #1088)
and T5's sync (tools/beads/sync.py, #1107) to target the shared
workspace — sync becomes once-per-machine, not once-per-worktree.
- Coordinate with 011-poll (T6, digest.py) and 011-triage (T7,
devcli.py/reap.py) — both call Bd(repo_root) today; this changes
what they should pass.
- notes/beads.md needs the operating instructions rewritten to match.
Unclaimed — filed per CLAUDE.md's "strategic uplifts: file them, don't claim them." Do not start on this without reading Amendment A1 in full first; the design doc is the source of truth for the reasoning and the re-measured evidence.
None.
No comments.