Skip to main content
Reference — generated from the toolkit

Source of truth: toolkit/gates/refinement-exit.md. Edit it there; this page is regenerated on build.

Gate: Refinement Exit

Transition: Refinement → Flow-state / Production Owner: Senior Dev (Lead) + Product Owner Runs: once, when a build is raised from acceptable to good

Purpose

Confirm the directed refinement passes (performance, accessibility, resilience, observability) have actually raised quality against ISO/IEC 25010 — not open-ended polishing, but named passes with an exit bar.

Entry criteria

  • Merge gate green on all changes in scope.
  • Directed refinement passes run as skills ("performance pass", "a11y pass", etc.).

Exit criteria

  • Performance within budget (p95 latency targets met; N+1 audit clean; Core Web Vitals where applicable).
  • Full state coverage — empty / error / loading — verified on key screens.
  • WCAG 2.2 AA audit passed (automated + manual keyboard/screen-reader charter).
  • Logging and alert quality reviewed; golden signals emitting.
  • Hotspot / complexity review done.

Evidence required

  • Performance report, a11y audit, observability check.

Automated vs human

CheckAutomated in CIHuman sign-off
Perf budgets, a11y regressions
"Good enough to ship" barLead Dev + PO + SME

Sign-off & waiver

  • Signs: Senior Dev (Lead), Product Owner, SME.
  • May waive: PO may accept a named polish item as a Flow-state backlog entry (it does not block), recorded so it isn't lost.
  • Waiver record: logged in toolkit/registers/ with expiry.