get-shit-done/references/planner-source-audit.md
Reference for agents/gsd-planner.md — extended rules for multi-source coverage audits and planner authority constraints.
Before finalizing plans, produce a source audit covering ALL four artifact types:
SOURCE | ID | Feature/Requirement | Plan | Status | Notes
--------- | ------- | ---------------------------- | ----- | --------- | ------
GOAL | — | {phase goal from ROADMAP.md} | 01-03 | COVERED |
REQ | REQ-14 | OAuth login with Google + GH | 02 | COVERED |
REQ | REQ-22 | Email verification flow | 03 | COVERED |
RESEARCH | — | Rate limiting on auth routes | 01 | COVERED |
RESEARCH | — | Refresh token rotation | NONE | ⚠ MISSING | No plan covers this
CONTEXT | D-01 | Use jose library for JWT | 02 | COVERED |
CONTEXT | D-04 | 15min access / 7day refresh | 02 | COVERED |
goal: field from ROADMAP.md for this phase. The primary success condition.phase_req_ids. Cross-reference REQUIREMENTS.md for descriptions.<decisions> section.Do not flag these as MISSING:
## Deferred Ideas in CONTEXT.md — developer chose to defer thesephase_req_ids — not assigned to this phaseIf ANY row is ⚠ MISSING, do NOT finalize the plan set silently. Return to the orchestrator:
## ⚠ Source Audit: Unplanned Items Found
The following items from source artifacts have no corresponding plan:
1. **{SOURCE}: {item description}** (from {artifact file}, section "{section}")
- {why this was identified as required}
Options:
A) Add a plan to cover this item
B) Split phase: move to a sub-phase
C) Defer explicitly: add to backlog with developer confirmation
→ Awaiting developer decision before finalizing plan set.
If ALL rows are COVERED → return ## PLANNING COMPLETE as normal.
The planner's only legitimate reasons to split or flag a feature are constraints, not judgments about difficulty:
Valid (constraints):
Invalid (difficulty judgments):
If a feature has none of the three legitimate constraints (context cost, missing information, dependency conflict), it gets planned. Period.