verification
Verification
Verify implementation changes via iterative code review and optional QA web testing.
Inputs
Raw arguments: $ARGUMENTS
Infer from the arguments:
- DEV_CONTEXT: (optional) dev environment context — can be a dev server URL or empty to auto-detect
Execution
Resolve Dev URL (once, before loop)
If DEV_CONTEXT is provided, use it to infer the dev environment setup (it may reference a skill, project, service, or directory — use your judgement to determine the dev server URL from its context). Otherwise check for a running dev server (localhost:3000, localhost:5173, localhost:8080). If no dev server found, QA web test will be skipped.
Loop until all issues are resolved:
-
Code Review — Invoke
Skill("codex-review", "review the uncommitted changes against main branch")to review all changed files.- If critical or important issues found — fix them and re-run the code review (loop back to step 1).
- If only minor or no issues — proceed to step 2.
-
QA Web Test (if Web UI verification required) — Run only when code review passes (no P1/P2) AND a dev URL was resolved AND:
- UI files were changed (
.tsx,.jsx,.vue,.css,.scss,.html, templates, components) - Backend changes affect data the UI renders (API responses, formatting, rendering logic)
- Bug fixes where the browser is the best way to visually confirm the fix
Invoke
Skill("qa-web-test", "{dev_url}").- If QA issues found — fix them and loop back to step 1 (code review again after fixes).
- UI files were changed (
-
Confidence Check — After both code review and QA pass with no issues, verify again:
- Review the diff one more time — any edge cases missed, logic errors, regressions, security vulnerabilities, performance issues, improper abstractions, duplicate code, or failure to reuse existing shared code?
- Any issues dismissed as minor that are actually important?
- Are you lacking specific technical knowledge relevant to this task (e.g., framework APIs, library behavior, platform constraints)? If so, look it up before concluding.
- If any issue found — fix it and loop back to step 1.
- Only exit the loop when sure there are no remaining issues.
Output
Do NOT delete .codex-review-output.md — it serves as an audit trail of the code review.
Output a summary of what was verified and any fixes applied:
{
"status": "passed | fixed | skipped",
"reviewRounds": 2,
"qaRun": true,
"fixesApplied": ["Fixed missing null check in auth handler"],
"errors": []
}
passed— all checks passed without needing fixesfixed— issues were found and fixed, final round passedskipped— verification was skipped (e.g. no dev server, no changes)