# Requirements Gates

Use these gates when reviewing requirements before chunk planning. A requirements file is ready for approval only when every applicable gate passes or the limitation is explicitly deferred out of scope.

## Intake Gate

- The raw idea is preserved.
- The user or stakeholder is identifiable.
- The user workflow is described from the user's perspective.
- Success is described in observable terms.
- Unknowns are captured as open questions rather than hidden assumptions.

## Functional Completeness Gate

- Functional requirements describe observable behavior.
- Acceptance criteria are testable.
- In-scope and out-of-scope boundaries are explicit.
- Dependencies and prerequisites are documented.
- Deferred work is named as follow-up or out of scope.

## Data And Permissions Gate

- Data/model implications are explicit or explicitly out of scope.
- Permissions, auth, privacy, and security implications are explicit or explicitly out of scope.
- Destructive or sensitive operations require human decision points.
- Test/dev data expectations and cleanup needs are identified when relevant.

## UI / UX Gate

- User-facing workflows describe primary screens, controls, states, and feedback.
- Accessibility, responsive behavior, and error states are considered when relevant.
- No implementation chunk should invent major UX decisions that requirements left open.

## Runtime And Testability Gate

- Runtime smoke expectations are stated for behavior, UI, auth, configuration, database, integration, or dev-server changes.
- Validation commands or test expectations are identified at the requirements level.
- Known environment dependencies are documented.

## Risk Gate

- Implementation risks are documented.
- Ambiguities that affect scope, data, permissions, UX, or validation are resolved before approval.
- Remaining risks are acceptable for chunk planning or explicitly require manual intervention.

## Chunk Planning Readiness Gate

- `## Requirements Review` has `Verdict: PASS`.
- `## Pass History` contains a current `### Requirements Review Pass N`.
- `## Chunk Plan` is either ready to be filled by Chunk Planner or contains a current plan.
- Approved requirements can be split into small independently testable chunks.

## Lifecycle Gate

- Draft requirements live under `ai/requirements/drafts`.
- Active requirements live under `ai/requirements/active`.
- Approved requirements live under `ai/requirements/approved`.
- Completed requirements live under `ai/requirements/completed`.
- Approval must not happen without a current Requirements Review PASS.
- Completion should happen only after chunk planning is done or the requirements are intentionally superseded.
