# Work Tracking

Every command creates a work manifest that tracks phases, gates, and artifacts. State lives at `.forge/work/{type}/{name}/manifest.yaml`. Each skill reads it to find the work directory, writes to record artifacts and gates passed.

Full manifest schema: canonical templates live in `.claude/templates/manifests/`. Commands reference these templates — do not duplicate manifest schemas elsewhere.

- `feature.yaml` — template for `/feature`
- `greenfield.yaml` — template for `/greenfield`
- `bugfix.yaml` — template for `/bugfix`
- `refactor.yaml` — template for `/refactor`
- `hotfix.yaml` — template for `/hotfix` (compressed phases; follow-up tracked via successor_path)

## Rules

- One manifest per work item — never share manifests across work items
- Manifests may be committed to version control for traceability (team preference)
- Never manually edit a manifest unless debugging the workflow
- Every command (including `/bugfix` and `/hotfix`) creates a manifest — work state is uniform across types
- Phases with `status: not-applicable` are skipped during resume and gate checking (e.g., `design-system` for backend-only features)
- Terminal states (`completed`, `escalated`) must not be resumed — hooks and commands filter them out
- Work identifier is `{type}/{name}` — names may collide across types (e.g., `feature/add-auth` and `bugfix/add-auth` can coexist)
