Problem
src/lib/verify-epic.ts marks any acceptance criterion the agent can't verify from the diff as skipped, and the overall verdict caps at partial in that case. Epics whose criteria require live/deployed behavior (external services, manual QA) can therefore never reach pass from a code-only session — producing a false epic-verification-failed on every such epic, even when all code-verifiable criteria are met.
Proposed change
Distinguish "missing/unmet" from "deferred to runtime/manual". Let criteria be tagged (e.g. [runtime] / [manual] / [deferred] in the AC text, or detected) so they don't cap the verdict, and treat a named deferred-verification child / post-epic pass as satisfying them. Report deferred criteria separately from genuine failures.
Files
src/lib/verify-epic.ts, epic-body acceptance-criteria parsing.
Problem
src/lib/verify-epic.tsmarks any acceptance criterion the agent can't verify from the diff asskipped, and the overall verdict caps atpartialin that case. Epics whose criteria require live/deployed behavior (external services, manual QA) can therefore never reachpassfrom a code-only session — producing a falseepic-verification-failedon every such epic, even when all code-verifiable criteria are met.Proposed change
Distinguish "missing/unmet" from "deferred to runtime/manual". Let criteria be tagged (e.g.
[runtime]/[manual]/[deferred]in the AC text, or detected) so they don't cap the verdict, and treat a named deferred-verification child / post-epic pass as satisfying them. Report deferred criteria separately from genuine failures.Files
src/lib/verify-epic.ts, epic-body acceptance-criteria parsing.