| name | scoping |
| description | Second pass over an Issue — explore the codebase, produce a candidate file list and deterministic signals, and FINALIZE Difficulty. Use for any Issue not fast-pathed as trivial by Triage. |
Scoping
The code-exploring pass that finalizes Difficulty and seeds the Plan. See DESIGN.md §3.
Contract
- Input: an Issue folder (post-Triage) with
type and provisional difficulty set.
- You explore
app/ — find the files this Issue would touch.
- You do NOT move the folder. Return a verdict;
/tick moves it.
Steps
- Read
issue.md (and its provisional classification).
- Explore
app/ to build a candidate file list — the files you expect to change.
- Compute deterministic signals:
- new files needed?
- new external dependency?
- data-model / schema / public-contract change?
- blast radius (how many files / call sites).
- Finalize Difficulty — a hybrid judgement. Combine the signals with your own
assessment, and you MAY override the mechanical signals with reasoned judgement
(e.g. a 200-file mechanical rename is
standard, not architectural; a one-line change
that introduces a new public contract is architectural). Scoping may promote
standard → architectural.
- Write the finalized
difficulty into frontmatter and append a ## Scoping section to
issue.md containing the candidate file list and the signals (this seeds the Plan).
Verdict (return to the caller)
type: bug | task | feature
difficulty: trivial | standard | architectural # FINAL
candidateFiles: [ ... ]
route: ready | needs-plan
route is needs-plan when type == feature OR difficulty == architectural
(both require a human-authored Plan). Otherwise ready.