qa-only: one rule for mixed-run clocks; annotations and materialize are per probe directory

This commit is contained in:
garrytan committed 2026-10-03 03:10:39 +00:00
1 parent 8f34e6eb99
commit 93b6e11fe9
2 files changed
+5 -5

No files matched your search

+4 -4
View File
@@ -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)
+1 -1
View File
@@ -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');