Part of the agentic software factory tracker #4858, Wave 4. Proposed as S10 in docs/agent-guidance-inception.md (PR #4861) §9, from #4859.
Depends on
After Part 3 (skills infrastructure, for verify:skills:cli), Part 4 (TS gate), Part 5 (Python gate), #4854 and #4855.
Scope
Acceptance criteria
Branch
Targets v2/main. Closes #N won't auto-close an issue on a non-default branch, so close this one by hand on merge and move the card to Done.
Part of the agentic software factory tracker #4858, Wave 4. Proposed as S10 in
docs/agent-guidance-inception.md(PR #4861) §9, from #4859.Depends on
After Part 3 (skills infrastructure, for
verify:skills:cli), Part 4 (TS gate), Part 5 (Python gate), #4854 and #4855.Scope
npm run local:gate, run under the Inspector'sgate-lease.mjsso concurrent sessions queue. It chains:validateand the Pythonvalidateverify:skills:clieverythingtimeout-minuteson every CI job; none declare one today.scripts/lib/workflow-gate.mjsand its tests, so no workflow can invoke alocal:*script andlocal:gatestays exactly the lease wrapper.docs/quality-gate.mdand thepre-push-gateskill.AGENTS.mdrules: the mandatory pre-push gate, and the per-file ≥ 90 coverage rule, with a reason on every ignore or pragma. For TypeScript that is all four Vitest dimensions (lines, statements, functions, branches). For Python it is per-file lines and branches, the dimensions coverage.py measures; it has no native function dimension. The coverage rule is the carry-over task from 2026-07-28 Spec Refactor Part 1: TypeScript servers: extensive unit tests + per-file 90% coverage gate #4854 and 2026-07-28 Spec Refactor Part 2: Python servers: extensive unit tests + per-file 90% coverage gate #4855.Acceptance criteria
npm run local:gateruns every check CI runs.verify:skills.Branch
Targets
v2/main.Closes #Nwon't auto-close an issue on a non-default branch, so close this one by hand on merge and move the card to Done.