- Follow
/Users/d/.codex/policies/communication/BigPictureReportingV1.mdfor all user-facing updates. - Use exact section labels from
BigPictureReportingV1.mdfor default status/progress updates. - Keep default updates beginner-friendly, big-picture, and low-noise.
- Keep technical details in internal artifacts unless explicitly requested by the user.
- Honor toggles literally:
simple mode,show receipts,tech mode,debug mode.
- Every task runs on a non-main branch named
codex/<type>/<slug>. - Never commit directly to
mainormaster. - Commits must be atomic and follow Conventional Commits.
- Before finalizing each logical commit, run reviewer/fixer loop:
- Run read-only reviewer.
- Apply accepted findings with fixer in severity order.
- Re-run reviewer until no P0/P1 findings remain.
- PR description must include:
- What/Why/How/Testing/Risks
- Performance impact section
- Lockfile rationale when lockfiles changed
- Screenshots for UI changes
- Performance checks required before release health is considered done:
- bundle delta
- build time delta
- Lighthouse budgets
- API latency thresholds
- DB query health checks
- asset-size checks
- Core repo health must be green for normal development work; release health must be green before calling release validation done.
- Any required gate in
failornot-runblocks completion for the relevant health tier.
- Read-only reviewer agent must output
UIFindingV1[]. - Fixer agent must apply findings in severity order:
P0 -> P1 -> P2 -> P3. - Required states per changed UI surface: loading, empty, error, success, disabled, focus-visible.
- Required core repo health gates:
- eslint + typecheck + stylelint
- smoke lane
- visual regression (Playwright snapshots)
- accessibility regression (axe)
- responsive parity checks (mobile + desktop)
- Required release health gates:
- Lighthouse CI thresholds
- Done-state is blocked if any required gate in the active health tier is
failornot-run.
- Any production code change must include meaningful test updates in the same PR.
- Meaningful tests must include at least:
- one primary behavior assertion
- two non-happy-path assertions (edge, boundary, invalid input, or failure mode)
- Trivial assertions are forbidden (
expect(true).toBe(true), snapshot-only without semantic assertions, render-only smoke tests without behavior checks). - Mock only external boundaries (network, clock, randomness, third-party SDKs). Do not mock the unit under test.
- UI changes must cover state matrix: loading, empty, error, success, disabled, focus-visible.
- API/command surface changes must update generated contract artifacts and request/response examples.
- Architecture-impacting changes must include an ADR in
/docs/adr/. - Required checks are blocking when
failornot-run: lint, typecheck, tests, diff coverage, docs check. - Reviewer -> fixer -> reviewer loop is required before merge.