From 4fb98806a5dd641a6896b6d91d712dd0daa55641 Mon Sep 17 00:00:00 2001 From: garrytan Date: Thu, 1 Oct 2026 17:08:34 +0000 Subject: [PATCH] fix(qa): browser-only runs skip annotations/materialize; only Q captures can anchor evidence rows --- qa-only/sections/exploratory.md | 3 +-- qa/sections/exploratory.md | 3 +-- scripts/resolvers/qa.ts | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/qa-only/sections/exploratory.md b/qa-only/sections/exploratory.md index 0e8f32f3b..561ff0e4e 100644 --- a/qa-only/sections/exploratory.md +++ b/qa-only/sections/exploratory.md @@ -96,8 +96,7 @@ with their failing contract and expected assertion; never create tests or freeze ## 4. Final report 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; you classify. Retain all safe probes, including failures/replays; disclose withheld/incomplete evidence. +With captures, write R/annotations.json {evidence: [{capture, command, contract, expected, classification}], limits} and before Markdown `bun Q materialize R annotations.json` (fills observed/metadata; prints reportLinks); you classify. No captures (browser): skip both. 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. diff --git a/qa/sections/exploratory.md b/qa/sections/exploratory.md index 5de4da4f1..9db170c3b 100644 --- a/qa/sections/exploratory.md +++ b/qa/sections/exploratory.md @@ -81,8 +81,7 @@ Never freeze buggy output, weaken tests or delete valid red tests. ## 4. Final report 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; you classify. Retain all safe probes, including failures/replays; disclose withheld/incomplete evidence. +With captures, write R/annotations.json {evidence: [{capture, command, contract, expected, classification}], limits} and before Markdown `bun Q materialize R annotations.json` (fills observed/metadata; prints reportLinks); you classify. No captures (browser): skip both. 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. diff --git a/scripts/resolvers/qa.ts b/scripts/resolvers/qa.ts index ae71cdb90..813ecb8d7 100644 --- a/scripts/resolvers/qa.ts +++ b/scripts/resolvers/qa.ts @@ -143,8 +143,7 @@ Never freeze buggy output, weaken tests or delete valid red tests.`} ## 4. Final report 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; you classify. Retain all safe probes, including failures/replays; disclose withheld/incomplete evidence. +With captures, write R/annotations.json {evidence: [{capture, command, contract, expected, classification}], limits} and before Markdown \`bun Q materialize R annotations.json\` (fills observed/metadata; prints reportLinks); you classify. No captures (browser): skip both. 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.