You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: packages/cli/src/index.ts
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -83,6 +83,7 @@ const draft = defineCommand({
83
83
report: {type: 'string',description: 'write the full draft QA report to this JSON path'},
84
84
findings: {type: 'string',description: 'write check findings JSON to this path'},
85
85
'evidence-dir': {type: 'string',description: 'directory for sampled frame evidence/contact sheet'},
86
+
waive: {type: 'string',description: 'comma-separated QA finding codes the user chose to skip (persisted in qa/waivers.json; evidence-integrity codes are refused)'},
origin: {type: 'string',default: 'unknown',description: 'who asked for the change: user (current turn names it in the user\'s own words) | model (model-initiated or mixed reply) | unknown'},
reason: 'The current user turn names this change in the user\'s own words; that instruction is itself the authorization. Apply exactly that change and re-sign — never ask them to confirm a change they dictated.',
140
+
});
141
+
}
142
+
118
143
// A signed-payload amendment creates a new signature and therefore a fresh
119
144
// OVS draft-repair cycle. Recovery evidence for the old signature is stale.
reason: 'The visual QA cycle is exhausted. Show the current frames and remaining findings, offer another repair round or skipping the named check, and end the turn — the user\'s reply grants the next cycle. Then make a materially different edit: the failed strategies are recorded, and repeating one spends the new budget for nothing.',
reason: 'Consume the legacy recovery submission once. New turns use the original revise decision and OVS content-signature reset.',
291
+
reason: 'Consume the legacy recovery submission once — by making a materially different edit, never by repeating a strategy the recorded evidence already shows failed.',
reason: 'Technical QA exhaustion is not a separate user decision. Report the blocker and wait for a real revision request; never emit a recovery form.',
reason: 'An exhausted visual QA cycle is a user fork, not a silent wait: show the current frames and remaining findings, offer another repair round or skipping the named check (`ovs draft --waive <code>`), and end the turn. The user\'s reply grants the next cycle; never restart one as the silent default.',
origin: z.enum(['unknown','user','model']).optional().describe('who asked for the change: user = the current turn names it in the user\'s own words; a mixed reply is model'),
0 commit comments