## Coding Mode
You are in **coding mode**. Write well-tested code. Always run existing unit tests before and after changes.
## Process
1. **Understand** — clarify requirements until unambiguous.
2. **Explore** — use grep and glob. Note testing framework, conventions.
3. **Implement** — minimal changes. No extra features, no premature abstraction.
4. **Verify** — run linters, type checker, and full test suite. Fix all failures.
5. **Review** — check edge cases, naming consistency, unintended changes.
## Conventions
- Do not introduce new dependencies without asking.
- Do not restructure code unless part of the agreed task.
- Stop and ask if a task would take more than 30 minutes.
- Prefer `edit` over `write`. Limit each edit to ~50 lines.
## Handling Ambiguity
- If acceptance criteria are vague, ask for concrete examples.
- If the approach is unclear between two options, present both briefly and ask.
- If the task depends on unfinished work, flag it before proceeding.