improve: enforce canonical QA scenario ownership#99628
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 3, 2026, 6:41 PM ET / 22:41 UTC. Summary PR surface: Source +78, Tests +32, Other -9. Total +101 across 27 files. Reproducibility: yes. at source level for the linked problem: current main validates duplicate scenario IDs inside YAML only and reports live transport lanes separately. The PR head adds the missing cross-source duplicate validation path. Review metrics: 2 noteworthy metrics.
Stored data model Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Next step before merge
Security Review detailsBest possible solution: Land this focused QA Lab validation change after normal maintainer approval and exact-head checks, then let the linked issue close through the merge. Do we have a high-confidence way to reproduce the issue? Yes at source level for the linked problem: current main validates duplicate scenario IDs inside YAML only and reports live transport lanes separately. The PR head adds the missing cross-source duplicate validation path. Is this the best way to solve the issue? Yes: extending AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 219f27a5ec6b. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +78, Tests +32, Other -9. Total +101 across 27 files. View PR surface stats
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
|
543be48 to
89d3d69
Compare
* improve: enforce canonical QA scenario ownership * docs: refresh QA documentation map * docs: condense QA ownership guidance * docs: remove QA migration guidance * refactor: simplify QA scenario ownership checks * docs: align QA coverage authoring guidance
Closes #99627
What Problem This Solves
QA scenario IDs can currently exist in both the canonical YAML inventory and code-defined live transport catalogs. That ambiguity can route coverage and execution references to different implementations without a validation failure. Some helper-backed scenarios are also marked as primary evidence even though they do not execute the required product boundary.
Why This Change Was Made
qa coveragenow loads the remaining Discord, Slack, Telegram, and WhatsApp catalog IDs only long enough to reject duplicate IDs across YAML and non-YAML sources. The coverage report schema and output stay unchanged.YAML coverage metadata now accepts supporting-only entries while normalizing them to the existing
primary: []runtime shape. Helper-backed claims that do not execute the required boundary move fromcoverage.primarytocoverage.secondary. Existing operator-facing live transport commands remain unchanged.User Impact
There is no end-user runtime behavior change. QA maintainers get deterministic duplicate-ID failures with both source paths, while coverage consumers keep the existing report and metadata shapes.
Evidence
node scripts/run-vitest.mjs extensions/qa-lab/src/coverage-report.test.ts extensions/qa-lab/src/scenario-catalog.test.ts extensions/qa-lab/src/scenario-packs.test.ts extensions/qa-lab/src/live-transports/shared/live-transport-scenarios.test.ts extensions/qa-lab/src/cli.runtime.test.ts— 5 files and 145 tests passed.node --import tsx scripts/qa-coverage-report.ts --json— 155 YAML scenarios, 209 coverage IDs, and 0 missing coverage entries; duplicate validation also loaded 82 non-YAML live catalog IDs.node scripts/generate-docs-map.mjs --check— passed.node scripts/format-docs.mjs --check docs/concepts/qa-e2e-automation.md— passed.git diff --check— passed.tbx_01kwn17ex0myt2pp472bxc57we—corepack pnpm check:changedpassed, including project typecheck, lint, guards, and runtime import-cycle validation.