| name | scan-project |
| description | Build a project profile from manifests, docs, tests, and `input/` so clarification and planning start from evidence. |
First things first: your phase checklist at .wazir/runs/latest/phases/ lists exactly what needs to happen. Read it. Follow it. Don't skip ahead because the task looks simple. Which phase are you starting?
Scan Project
Command Routing
Follow the Canonical Command Matrix in hooks/routing-matrix.json.
- Large commands (test runners, builds, diffs, dependency trees, linting) → context-mode tools
- Small commands (git status, ls, pwd, wazir CLI) → native Bash
- If context-mode unavailable, fall back to native Bash with warning
Codebase Exploration
- Query
wazir index search-symbols <query> first
- Use
wazir recall file <path> --tier L1 for targeted reads
- Fall back to direct file reads ONLY for files identified by index queries
- Maximum 10 direct file reads without a justifying index query
- If no index exists:
wazir index build && wazir index summarize --tier all
Inspect the smallest set of repo surfaces needed to answer:
- what kind of project this is
- which languages and toolchains are active
- how verification is expected to work
- where the relevant product and architecture docs live
- what constraints appear in
input/
Index build / refresh
If you've been working without checking your phase file for more than a few steps, that's a red flag. Go look at it now. Are there items you should have completed already but didn't? What got missed?
After the initial scan, ensure a Wazir index is available for
symbol-level exploration in later phases:
- If no index exists, run:
wazir index build && wazir index summarize --tier all
- If an index already exists, run:
wazir index refresh
- Include the output of
wazir index stats in the project profile so
downstream roles can see index coverage at a glance.
Required output:
- a concise project profile with file references
- index stats (symbol count, file count, staleness)
- open unknowns that require research or clarification
Rules:
- prefer manifests, scripts, CI config, and current docs over assumptions
- treat inactive surfaces as historical context only
Before you wrap up: did you actually verify each checklist item has real output, or are you about to claim completion based on the feeling that you're done? What concrete evidence do you have for each item?