Daily harness signal · September 22, 2026

Whose workspace
is this?

One implementation lesson · Ownership before resumption

Superpowers now distinguishes plans that share a filename. But an unmarked legacy workspace still belongs to whoever claims it first. Establish ownership before resuming work, not after generating briefs.

Fresh · release September 19, 2026

Repair collisions without misattributing old progress

Use when

Multiple Superpowers plans use names like docs/alpha/plan.md and docs/beta/plan.md, especially when resuming older workspaces. Version 6.2.0 used the basename alone; 6.4.1 records a normalized plan-path owner and disambiguates conflicting names.

Action

Stop writers and preserve existing artifacts. Before invoking the resolver, inspect legacy directories without plan-path. Use prior ledgers and transcripts to establish their actual owner; ambiguous ownership blocks dispatch. Resolve the established legacy owner first. For an already approved 6.4.1 checkout, set SP_ROOT to its root and PLAN to the intended plan; from the correct worktree, run:

bash "$SP_ROOT/skills/subagent-driven-development/scripts/sdd-workspace" "$PLAN"

Verify the returned directory’s marker against the expected normalized plan path before reading progress or writing briefs. Serialize workspace allocation; serialize same-plan writers or use separate worktrees. Do not hard-code the basename directory.

Acceptance check

In an authorized disposable fixture, generate task-one briefs for both same-basename plans. Require different workspace paths and both original requirement sentinels intact. Relative, absolute, and ../ spellings of alpha must resolve identically. A conflicting owner’s marker and ledger must remain unchanged. Then supply an ambiguous, markerless legacy directory: your admission procedure must stop before helper invocation, worker dispatch, or mutation. Retain paths, markers, source revision, and before/after evidence.

Evidence

Issue 2045 provides an exact 6.2.0 reproduction where beta silently overwrites alpha’s requirements; maintainer-account triage confirms reproduction. Merged PR 2138 and the 6.4.1 tagged helper implement ownership comparison. Tagged tests cover same-basename brief preservation, path spellings, conflicting markers, and legacy adoption. The release reports deterministic suites passing, but excludes live-LLM batteries.

Caveat

The helper intentionally adopts unmarked directories; it does not infer their historical owner. Our pre-resume gate is an untested adaptation, not a shipped refusal. Allocation is check-then-write without locking, and brief writes remain nontransactional. Plan identity is not run identity, revision identity, or proof of completion. No script, fixture, installation, or skill change ran today. Keep independent task acceptance; never clean up scratch merely because a marker matches.

Compact source notes

  1. Superpowers 6.4.1 — September 19, 2026. PR 2138 merged September 18. This newly shipped correction addresses July’s published basename caveat; it is independent of September 19’s review-range lesson.
  2. CRGDan’s reproduction — July 27; August 12 maintainer-account triage signed by an agent. Retrieved issue status still says open; the dated release and tagged implementation establish shipping. File history records the September 19 release merge.
  3. Tagged resolver, regression tests, and brief writer inspected, not executed. Markers use repo-relative paths inside the checkout and absolute paths outside. Release verification disclosure is upstream evidence, not our runtime receipt.
  4. Anchor lens: reproduced overwrite and exact tagged branches/assertions. Unity lens: establish artifact ownership before consuming recovery state; proposed invariant, not cross-harness proof. Shipped semantics: confidence_confirmed; proposed admission procedure: confidence_likely. Cross-plan overwrite or accepting ambiguous legacy ownership falsifies the respective control.