Sweep main before trusting worktree specs
Worktrees can be 100+ PRs behind origin/main. A spec or plan
inside a long-lived worktree may describe a “research stub” that was
already implemented + merged three days ago. Before claiming
“not implemented” or “out of scope,” run git log origin/main -- <topic>
to confirm the worktree’s view is current.
Why this exists
Worktrees in DPF persist for the lifetime of a feature branch. They can sit idle while:
- The operator travels and the weekly rate limits reset their schedule
- Other concurrent sessions land 30+ PRs to
mainfor adjacent work - The kernel evolves and the worktree’s local
docs/founder-kernel/copy goes stale
Trusting the worktree’s docs as the current state has produced:
- “Let me write this spec because the topic isn’t in the kernel” → it was, just merged to main two days ago in a parallel session
- “I’ll mark this as not implemented” → there was already a PR for it ahead of the worktree
- “The schema doesn’t have this column” → it did on main; the worktree was on a branch that pre-dated the migration
What to do
Before believing “X doesn’t exist” or “X isn’t implemented”:
git fetch origin mainin the worktreegit log origin/main --oneline -- <relevant-path>for recent commits touching the areagit diff HEAD origin/main -- <relevant-path>to see what you’re missing- If you find work you didn’t know about, rebase the worktree
onto
origin/main(perworktree-base-origin-main) before continuing - For backlog state, query the LIVE DB via
mcp__dpf__query_backlog— the worktree’s local docs are not the source of truth for backlog items
Anti-pattern
- “I read the spec at
docs/superpowers/specs/...and it says this is a stub” — without checking when that file was last touched on main - Naming a “new” epic for work that’s been an open backlog item for two weeks
- Designing a substrate the kernel already has a principle for, because
the worktree’s
docs/founder-kernel/copy is from before the principle was added
Related principles
worktree-per-session— each concurrent session in its own worktreeworktree-base-origin-main— branch offorigin/main, not localmainconsult-specs-first— but the specs you consult must be currentverify-substrate-before-proposing-new— grep the LIVE codebase, not the worktree’s copy