# FLOW Redirect Canonical FLOW specification: - `docs/qa/feature-checks/FLOW.md` This compatibility path is intentionally short, but the contract is mandatory. ## Mandatory Problems-First Lock (Quick Reference) Before starting any feature: - Scan all state ledgers in `docs/qa/feature-checks/state/*.json`. - If any feature is in `checking`, `failed`, `triaged`, `confirmed`, `fixing`, or `retesting`, process only those features until they reach a terminal state (`done`, `blocked`, `skipped`, `not_implemented`). - Do not start any `queued` feature until all problem/in-progress states are cleared globally. Deterministic selection order inside problem states: - `retesting` -> `fixing` -> `confirmed` -> `triaged` -> `failed` -> `checking` - Tie-breakers: lower `retryCount`, then alphabetical `module`, then alphabetical `feature`. Multi-agent obstacle rule (still under problems-first lock): - Claim the problem feature in state notes before running tiers. - If another agent is actively owning the same feature and concurrent edits would conflict, record the obstacle and transition to terminal `skipped` with `skipReason = "owned_by_other_agent"` (or `blocked` when ownership is unclear). - Continue with the next highest-priority problem feature only after this transition is recorded. Execution gates for every selected feature: - Read `docs/qa/feature-checks/FLOW.md` before selecting a feature. - Run Tier 0, Tier 1, and Tier 2 for every feature (Tier 2 is required verification, not optional). - Capture fresh run artifacts under `docs/qa/feature-checks/runs////`. - Update module state and sprint/task trackers immediately after each transition. If there is any ambiguity between this file and the canonical FLOW file, `docs/qa/feature-checks/FLOW.md` is the source of truth.