test(qa): add qa run --qa-profile and unified output summary/evidence#91587
Conversation
|
Codex review: needs changes before merge. Reviewed June 14, 2026, 9:05 PM ET / 01:05 UTC. Summary PR surface: Source +432, Tests +402, Docs +27. Total +861 across 13 files. Reproducibility: yes. Source inspection shows a mixed run copies child flow evidence entries into the top-level evidence file unchanged while the flow suite emits output-local basename artifact paths. Review metrics: 2 noteworthy metrics.
Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Copy recommended automerge instructionNext step before merge
Security Review findings
Review detailsBest possible solution: Land the QA profile runner after rebasing child partition evidence artifact paths into the unified evidence file and after maintainers accept the current-main artifact consolidation. Do we have a high-confidence way to reproduce the issue? Yes. Source inspection shows a mixed run copies child flow evidence entries into the top-level evidence file unchanged while the flow suite emits output-local basename artifact paths. Is this the best way to solve the issue? No, not yet. The Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 870ec6dee291. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +432, Tests +402, Docs +27. Total +861 across 13 files. View PR surface stats
Acceptance criteria:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
0e1f24b to
9bbbdb5
Compare
5582d66 to
c6dbb66
Compare
5d12f72 to
4b769f4
Compare
c6dbb66 to
20cf355
Compare
4b769f4 to
7b521df
Compare
20cf355 to
fd7d762
Compare
76133af to
ce7f048
Compare
fd7d762 to
dcb0e9a
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
@clawsweeper re-review |
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
…penclaw#91587) * test(qa): add mapped qa run profiles * test(qa): document mapped profile runner * test(qa): validate run profiles from mapping * test(qa): preserve root profile parsing * test(qa): simplify taxonomy profile dispatch * test(qa): align tool coverage CLI expectation * test(qa): fix profile dispatch fixture type * test(qa): share profile runner option types * test(qa): split shared cli runner options * test(qa): unify profile suite artifacts * fix(qa): filter profile scenarios by provider lane * test(qa): drop native scenario subreports * fix(qa): keep native log refs repo-relative * fix(cli): preserve qa run root profile parsing * fix(qa): avoid qa profile flag collision * fix(qa): reject profile flags without qa profile
…penclaw#91587) * test(qa): add mapped qa run profiles * test(qa): document mapped profile runner * test(qa): validate run profiles from mapping * test(qa): preserve root profile parsing * test(qa): simplify taxonomy profile dispatch * test(qa): align tool coverage CLI expectation * test(qa): fix profile dispatch fixture type * test(qa): share profile runner option types * test(qa): split shared cli runner options * test(qa): unify profile suite artifacts * fix(qa): filter profile scenarios by provider lane * test(qa): drop native scenario subreports * fix(qa): keep native log refs repo-relative * fix(cli): preserve qa run root profile parsing * fix(qa): avoid qa profile flag collision * fix(qa): reject profile flags without qa profile
…penclaw#91587) * test(qa): add mapped qa run profiles * test(qa): document mapped profile runner * test(qa): validate run profiles from mapping * test(qa): preserve root profile parsing * test(qa): simplify taxonomy profile dispatch * test(qa): align tool coverage CLI expectation * test(qa): fix profile dispatch fixture type * test(qa): share profile runner option types * test(qa): split shared cli runner options * test(qa): unify profile suite artifacts * fix(qa): filter profile scenarios by provider lane * test(qa): drop native scenario subreports * fix(qa): keep native log refs repo-relative * fix(cli): preserve qa run root profile parsing * fix(qa): avoid qa profile flag collision * fix(qa): reject profile flags without qa profile
…penclaw#91587) * test(qa): add mapped qa run profiles * test(qa): document mapped profile runner * test(qa): validate run profiles from mapping * test(qa): preserve root profile parsing * test(qa): simplify taxonomy profile dispatch * test(qa): align tool coverage CLI expectation * test(qa): fix profile dispatch fixture type * test(qa): share profile runner option types * test(qa): split shared cli runner options * test(qa): unify profile suite artifacts * fix(qa): filter profile scenarios by provider lane * test(qa): drop native scenario subreports * fix(qa): keep native log refs repo-relative * fix(cli): preserve qa run root profile parsing * fix(qa): avoid qa profile flag collision * fix(qa): reject profile flags without qa profile
Summary
pnpm openclaw qa run --qa-profile smoke-ci|releaseas the taxonomy-backed QA profile entry point.taxonomy.yaml, filters mapped scenarios against the selected provider lane, and dispatches the resulting scenario set throughqa suite.qa suiteexecute mixed scenario sets directly: flow scenarios,execution.kind: vitest, andexecution.kind: playwrightcan run in one selected suite.qa-evidence.json,qa-suite-summary.json, andqa-suite-report.mdfor the selected suite/profile, while keeping native Vitest/Playwright per-scenario logs under partition directories.qa runself-check behavior when no--qa-profileis provided, and preserves root-profile parsing for allqa run --profile <name>values.Notes
qa-evidence.jsonis the canonical evidence artifact for all scenario execution kinds.qa-suite-summary.jsonremains for existing parity/confidence/reporting consumers, but it now includes the unified selected scenario set rather than being flow-only.smoke-cidefaults tomock-openaiand filters out scenarios requiringlive-frontier.qa-vitest-report.md/qa-playwright-report.mdsubreports were removed intentionally. They were added recently, were not adopted by release scripts or other consumers, and their useful data is already covered by the top-level suite report, canonical evidence, and per-scenario logs.Verification
git diff --checknode scripts/run-vitest.mjs extensions/qa-lab/src/test-file-scenario-runner.test.ts extensions/qa-lab/src/suite-launch.runtime.test.ts extensions/qa-lab/src/cli.runtime.test.ts extensions/qa-lab/src/cli.test.ts src/cli/profile.test.tspnpm check:test-typespnpm check:docs.agents/skills/autoreview/scripts/autoreview --mode branch --base origin/mainfound one profile/provider filtering issue; fixed inb3e846a5c0..agents/skills/autoreview/scripts/autoreview --mode branch --base origin/mainfound one absolute native log path issue; fixed ine7cc83821f.qa run --profileroot-profile collision; fixed by moving the QA selector to--qa-profilein356e863190.