What we check, how, and when
Every concern, and the moment it is checked. Read it left to right: nothing waits until the end.
Concerns are deliberately not skills. A concern is asserted at several moments by several tools, so turning one into a skill would duplicate it across every trigger. They are rows, and the table is the point: laid out concern against trigger, an unfilled row is visible rather than inferred. That is how we found we had no dependency-scanning slot.
| Concern | On commitevery save-point | On pull requestevery push | Before mergeevery change | Before productionbefore real users | In productioncontinuously |
|---|---|---|---|---|---|
| Code style | Machine · On commitformat + lintstaged filesmxa-verify-precommit | Machine · On pull requestformat + lint, project-widethe same commands as at commitmxa-verify-pr | not applicable | not applicable | not applicable |
| Logic and components | Machine · On committype checkmxa-verify-precommit | Machine · On pull requestunit + component testsJestmxa-verify-pr | not applicable | Machine · Before productionfull regressionmxa-verify-promote | not applicable |
| Critical journeys | not applicable | Machine · On pull requestend-to-end journeysPlaywrightmxa-verify-pr | not applicable | Human · Before productionfull e2e regression, plus an exploratory passQA specialistmxa-verify-promote | not applicable |
| Design intent & correctness | not applicable | Machine · On pull requestagent first-pass reviewadvisory, optionalmxa-verify-merge | Human · Before mergereview of every changesenior / design engineermxa-verify-merge | Human · Before productionrelease sign-off, recordedaccountable ownermxa-verify-promote | not applicable |
| Accessibility | not applicable | Machine · On pull requestautomated checksaxe, on rendered pagesmxa-verify-pr | not applicable | Human · Before productionmanual + assistive-tech passesQA specialistmxa-verify-promote | not applicable |
| Visual consistency | not applicable | Machine · On pull requestscreenshot diffsPlaywrightmxa-verify-pr | not applicable | not applicable | not applicable |
| Motion | Machine · On commitmotion checkpresets only: no transition: all, no animated size or shadow, no literal numbers, reduced forms presentmxa-motion | Machine · On pull requestnon-composited animationsLighthouse, on the rendered pagesmxa-verify-pr | not applicable | not applicable | not applicable |
| Browsers & devices | not applicable | Machine · On pull request3 engines × 2 viewportsPlaywright: Chromium, WebKit, Firefoxmxa-verify-pr | not applicable | Human · Before productionreal-device pass on the agreed matrixvia the preview linkQA specialistmxa-verify-promote | Machine · In productionreal-user monitoring by browser and deviceSentry · web-vitalsmxa-observe |
| Performance | not applicable | Machine · On pull requestCore Web Vitals budgetLighthouse CI · pass/failmxa-verify-pr | not applicable | Machine · Before productionbudget re-run against real contentmxa-verify-promote | Machine · In productionreal-user monitoringSentry · web-vitalsmxa-observe |
| Search & AI visibility | not applicable | Machine · On pull requestLighthouse SEO + AI-crawlability checksthe audit's own scanner, pass/failmxa-verify-pr | not applicable | not applicable | not applicable |
| Dependencies | not applicable | Machine · On pull requestvulnerability + licence scanmxa-verify-pr | not applicable | not applicable | Machine · In productionsecurity advisoriesas they are publishedmxa-observe |
| Owned by | mxa-verify-precommit | mxa-verify-pr | mxa-verify-merge | mxa-verify-promote | mxa-observe |