From 93b6e11fe9ce6360df07ff95bd62aa61619927ad Mon Sep 17 00:00:00 2001 From: garrytan Date: Sat, 3 Oct 2026 03:10:39 +0000 Subject: [PATCH] qa-only: one rule for mixed-run clocks; annotations and materialize are per probe directory --- qa-only/SKILL.md.tmpl | 8 ++++---- test/qa-lazy-sections.test.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/qa-only/SKILL.md.tmpl b/qa-only/SKILL.md.tmpl index ca825854a..f4ed2ce31 100644 --- a/qa-only/SKILL.md.tmpl +++ b/qa-only/SKILL.md.tmpl @@ -83,8 +83,8 @@ For mixed Regression, the argument is the prior combined report. Resolve its fun replay evidence and browser baseline links first, then give each method its own baseline. A missing baseline blocks that surface's regression coverage, not independent checks. In mixed runs, use the user's surface order, defaulting to functional then browser. -Finish one surface's probes before starting the next surface's clock; any supplied -absolute deadline still applies to both. Do not reset a clock when switching surfaces. +Each surface's clock starts with its probes; finish one surface before starting the +next. A supplied absolute deadline is shared; switching surfaces does not extend it. ## Prepare Report Artifacts @@ -195,8 +195,8 @@ The shared loop's mixed-surface split applies only to clocks and checkpoints: | Mixed: browser probes | `$REPORT_DIR/browser` | | Mixed: functional probes | `$REPORT_DIR/functional` | -Each probe directory holds its own `exploration-NNN.json` sequence and, only when -timed, `deadline.json`. Caller-fixed paths override this layout. Do not reassign +Each probe directory holds its own `exploration-NNN.json` sequence, `annotations.json` +and materialize step, and, only when timed, `deadline.json`. Caller-fixed paths override this layout. Do not reassign `REPORT_DIR` to a surface directory or move the shared browser artifact paths. ## Additional Rules (qa-only specific) diff --git a/test/qa-lazy-sections.test.ts b/test/qa-lazy-sections.test.ts index ddc0d69f4..9331070fc 100644 --- a/test/qa-lazy-sections.test.ts +++ b/test/qa-lazy-sections.test.ts @@ -382,7 +382,7 @@ describe('installed QA pointers', () => { expect(source).toContain('source/diff reads only map changes to pages and flows'); expect(source).toContain('read `TODOS.md` if present to identify known bugs'); expect(source).toContain('defaulting to functional then browser'); - expect(source).toContain('Do not reset a clock when switching surfaces'); + expect(source).toMatch(/absolute deadline is shared; switching surfaces does not extend it/i); expect(source).toContain('CLI executable basename'); expect(source).toContain('**No explicit permission:** skip learning-store writes and continue to the report'); expect(source).toContain('**Explicit permission:** Read the named store first');