# Definition of done

Select the checks that apply before work begins. Do not add a check after the
result is known merely to make the task appear complete.

## Outcome

- [ ] The requested behavior is observable through the intended interface.
- [ ] Every acceptance criterion has evidence.
- [ ] Expected failure and recovery behavior were exercised.
- [ ] Non-goals remain unchanged.

## Code quality

- [ ] Relevant lint checks pass.
- [ ] Type checks pass.
- [ ] Focused tests pass.
- [ ] The full relevant test suite passes.
- [ ] The production build succeeds.
- [ ] The diff contains no unrelated edits, generated noise, or debug code.

## Runtime verification

- [ ] The application starts in the supported environment.
- [ ] The complete user flow was run from its real entry point.
- [ ] Browser console errors were inspected.
- [ ] Relevant network failures and response payloads were inspected.
- [ ] Logs, traces, screenshots, or test reports were saved when useful.

## Safety and operations

- [ ] No secret, token, personal data, or production credential was exposed.
- [ ] Authentication and authorization boundaries still hold.
- [ ] Destructive actions, retries, and duplicate side effects were considered.
- [ ] Documentation and operational instructions match the new behavior.

## Handoff

- [ ] `PROGRESS.md` records what passed, failed, and was not run.
- [ ] Remaining work has one clear next action.
- [ ] Another session can resume without reconstructing hidden decisions.
