fix(qa): after an input change, a probe is affected unless shown otherwise

CI late-input run finished in time but revalidated only the happy probe after
the locale input changed and reported the stale adverse probe green. The
revalidation step now treats any probe not shown to be unaffected as affected.
This commit is contained in:
garrytan committed 2026-09-30 19:29:54 +00:00
1 parent ee929ff710
commit ac177337a1
3 files changed
+7 -7

No files matched your search

+2 -2
View File
@@ -84,7 +84,7 @@ Never batch probes.
to confirm it, then minimize via those gates. Expiry leaves confirmation/minimization incomplete.
Another input or a regression test is not that replay.
5. If the user or another process changes source, commands or fixtures, review the affected
contracts and return to step 2 for each affected revalidation. Do not make product changes yourself.
contracts and return to step 2 for each affected revalidation (unproven=affected). Do not make product changes yourself.
Keep the original limits/notes; update outcomes only from fresh evidence.
## 3. Parent handoff
@@ -97,7 +97,7 @@ with their failing contract and expected assertion; never create tests or freeze
Use the surface report template; link each checkpoint. Separate browser scores, functional outcomes and proposed/executed tests.
Write R/annotations.json: {evidence: [{capture, command, contract, expected, classification}], limits}.
Before Markdown, `bun Q materialize R annotations.json` builds evidence.json; Q fills observed, revision, runtime, cwd and learning and prints reportLinks to include; you classify. Retain all safe probes, including failures/replays; disclose withheld/incomplete evidence.
Before Markdown, `bun Q materialize R annotations.json` builds evidence.json; Q fills observed, revision, runtime, cwd and learning and prints reportLinks; you classify. Retain all safe probes, including failures/replays; disclose withheld/incomplete evidence.
Evidence is invocation-local.
Missing prerequisites/expectations/observations, timeouts and refusal never pass.
Pass requires all required current-input contracts to pass with no required remainder.
+2 -2
View File
@@ -66,7 +66,7 @@ Never batch probes.
4. Replay the exact failing command/request from the same initial fixture state via steps 2–3 (same native command, fresh capture ID)
before repair, then minimize via those gates. Expiry leaves confirmation/minimization incomplete.
Another input or a regression test is not that replay.
5. After source/commands/fixtures change, re-review and return to step 2 for each affected revalidation. Keep limits/notes; status requires fresh evidence.
5. After source/commands/fixtures change, re-review and return to step 2 for each affected revalidation (unproven=affected). Keep limits/notes; status requires fresh evidence.
## 3. Parent handoff
@@ -82,7 +82,7 @@ Never freeze buggy output, weaken tests or delete valid red tests.
Use the surface report template; link each checkpoint. Separate browser scores, functional outcomes and proposed/executed tests.
Write R/annotations.json: {evidence: [{capture, command, contract, expected, classification}], limits}.
Before Markdown, `bun Q materialize R annotations.json` builds evidence.json; Q fills observed, revision, runtime, cwd and learning and prints reportLinks to include; you classify. Retain all safe probes, including failures/replays; disclose withheld/incomplete evidence.
Before Markdown, `bun Q materialize R annotations.json` builds evidence.json; Q fills observed, revision, runtime, cwd and learning and prints reportLinks; you classify. Retain all safe probes, including failures/replays; disclose withheld/incomplete evidence.
Evidence is invocation-local; /ship reruns once per invocation.
Missing prerequisites/expectations/observations, timeouts and refusal never pass.
Pass requires all required current-input contracts to pass with no required remainder.
+3 -3
View File
@@ -125,8 +125,8 @@ ${reportOnly ? ` For guarded text, copy the complete span between the guard's
${reportOnly ? 'to confirm it' : 'before repair'}, then minimize via those gates. Expiry leaves confirmation/minimization incomplete.
Another input or a regression test is not that replay.
${reportOnly ? `5. If the user or another process changes source, commands or fixtures, review the affected
contracts and return to step 2 for each affected revalidation. Do not make product changes yourself.
Keep the original limits/notes; update outcomes only from fresh evidence.` : `5. After source/commands/fixtures change, re-review and return to step 2 for each affected revalidation. Keep limits/notes; status requires fresh evidence.`}
contracts and return to step 2 for each affected revalidation (unproven=affected). Do not make product changes yourself.
Keep the original limits/notes; update outcomes only from fresh evidence.` : `5. After source/commands/fixtures change, re-review and return to step 2 for each affected revalidation (unproven=affected). Keep limits/notes; status requires fresh evidence.`}
## 3. Parent handoff
@@ -144,7 +144,7 @@ Never freeze buggy output, weaken tests or delete valid red tests.`}
Use the surface report template; link each checkpoint. Separate browser scores, functional outcomes and proposed/executed tests.
Write R/annotations.json: {evidence: [{capture, command, contract, expected, classification}], limits}.
Before Markdown, \`bun Q materialize R annotations.json\` builds evidence.json; Q fills observed, revision, runtime, cwd and learning and prints reportLinks to include; you classify. Retain all safe probes, including failures/replays; disclose withheld/incomplete evidence.
Before Markdown, \`bun Q materialize R annotations.json\` builds evidence.json; Q fills observed, revision, runtime, cwd and learning and prints reportLinks; you classify. Retain all safe probes, including failures/replays; disclose withheld/incomplete evidence.
Evidence is invocation-local${reportOnly ? '.' : '; /ship reruns once per invocation.'}
Missing prerequisites/expectations/observations, timeouts and refusal never pass.
Pass requires all required current-input contracts to pass with no required remainder.