fix(qa): restore current scenario source and documentation references (#113639)

Co-authored-by: Peter Steinberger <steipete@golden-gate.local>
This commit is contained in:
Peter Steinberger
2026-07-25 05:04:05 -07:00
committed by GitHub
parent 001319f1ad
commit 3890a5efb6
31 changed files with 50 additions and 31 deletions
@@ -4,6 +4,7 @@ import os from "node:os";
import path from "node:path";
import { describe, expect, it } from "vitest";
import { resolveQaParityPackScenarioIds } from "./agentic-parity.js";
import { resolveQaRepoPath } from "./repo-path.js";
import {
listQaScenarioYamlPaths,
readQaBootstrapScenarioCatalog,
@@ -91,6 +92,24 @@ describe("qa scenario catalog", () => {
expect(recall.coverage?.primary).toContain(`${memory}.memory-recall`);
});
it("keeps scenario documentation and code references backed by the repository", () => {
for (const scenario of readQaScenarioPack().scenarios) {
const referenceGroups = [
["docsRefs", scenario.docsRefs],
["codeRefs", scenario.codeRefs],
] as const;
for (const [kind, references] of referenceGroups) {
for (const reference of references ?? []) {
const resolvedReference =
resolveQaRepoPath(import.meta.dirname, reference, "file") ??
resolveQaRepoPath(import.meta.dirname, reference, "directory");
expect(resolvedReference, `${scenario.id} ${kind} ${reference} exists`).not.toBeNull();
}
}
}
});
it("exposes bootstrap data from the YAML pack", () => {
const catalog = readQaBootstrapScenarioCatalog();
@@ -21,7 +21,7 @@ scenario:
codeRefs:
- src/agents/system-prompt.ts
- src/agents/embedded-agent-runner/run/incomplete-turn.ts
- extensions/qa-lab/src/mock-openai-server.ts
- extensions/qa-lab/src/providers/mock-openai/server.ts
execution:
kind: flow
summary: Verify the agent reads repo instructions first, then completes the first bounded followthrough task without stalling.
@@ -12,7 +12,7 @@ scenario:
- The model returns the requested exact marker through the reply path.
- Exactly one outbound message contains the marker.
codeRefs:
- src/auto-reply/reply/reply-payload.ts
- src/auto-reply/reply-payload.ts
- extensions/qa-lab/src/live-transports/telegram/adapter.runtime.ts
execution:
profiles: { "telegram:adapter": 13, "telegram:all": 12 }
@@ -12,7 +12,7 @@ scenario:
- The compact tools command reaches native command dispatch.
- The joined reply includes exec and the verbose-mode hint.
codeRefs:
- src/auto-reply/reply/commands-tools.ts
- src/auto-reply/reply/commands-info.ts
- extensions/qa-lab/src/live-transports/telegram/adapter.runtime.ts
execution:
profiles:
@@ -18,7 +18,7 @@ scenario:
docsRefs:
- docs/channels/whatsapp.md
codeRefs:
- extensions/whatsapp/src/monitor.ts
- extensions/whatsapp/src/inbound/access-control.ts
execution:
kind: flow
channel: whatsapp
@@ -18,7 +18,7 @@ scenario:
docsRefs:
- docs/channels/whatsapp.md
codeRefs:
- extensions/whatsapp/src/monitor.ts
- extensions/whatsapp/src/inbound/access-control.ts
execution:
kind: flow
channel: whatsapp
@@ -18,7 +18,7 @@ scenario:
docsRefs:
- docs/channels/whatsapp.md
codeRefs:
- extensions/whatsapp/src/monitor.ts
- extensions/whatsapp/src/inbound/access-control.ts
execution:
kind: flow
channel: whatsapp
@@ -18,7 +18,7 @@ scenario:
docsRefs:
- docs/channels/whatsapp.md
codeRefs:
- extensions/whatsapp/src/monitor.ts
- extensions/whatsapp/src/inbound/access-control.ts
execution:
kind: flow
channel: whatsapp
@@ -21,7 +21,7 @@ scenario:
docsRefs:
- docs/channels/whatsapp.md
codeRefs:
- extensions/whatsapp/src/monitor.ts
- extensions/whatsapp/src/inbound/access-control.ts
execution:
kind: flow
channel: whatsapp
@@ -12,7 +12,7 @@ scenario:
- The compact tools command reaches native command dispatch.
- The joined reply includes exec and the verbose-mode hint.
codeRefs:
- src/auto-reply/reply/commands-tools.ts
- src/auto-reply/reply/commands-info.ts
- extensions/qa-lab/src/live-transports/whatsapp/adapter.runtime.ts
execution:
profiles: { "whatsapp:mock-default": 34 }
@@ -20,7 +20,7 @@ scenario:
codeRefs:
- src/agents/tools/image-generate-tool.ts
- src/gateway/chat-attachments.ts
- extensions/qa-lab/src/mock-openai-server.ts
- extensions/qa-lab/src/providers/mock-openai/server.ts
execution:
kind: flow
summary: Verify a generated image is saved as media, reattached on the next turn, and described correctly through the vision path.
@@ -20,7 +20,7 @@ scenario:
codeRefs:
- src/gateway/server-methods/agent.ts
- extensions/qa-lab/src/suite.ts
- extensions/qa-lab/src/mock-openai-server.ts
- extensions/qa-lab/src/providers/mock-openai/server.ts
execution:
kind: flow
summary: Verify an attached image reaches the agent model and the agent can describe what it sees.
@@ -19,7 +19,7 @@ scenario:
- docs/providers/openai.md
codeRefs:
- src/agents/tools/image-generate-tool.ts
- extensions/qa-lab/src/mock-openai-server.ts
- extensions/qa-lab/src/providers/mock-openai/server.ts
execution:
kind: flow
summary: Verify image_generate appears when configured and returns a real saved media artifact.
@@ -38,7 +38,7 @@ scenario:
- extensions/active-memory/index.ts
- extensions/active-memory/doctor-contract-api.ts
- extensions/qa-lab/src/suite.ts
- extensions/qa-lab/src/mock-openai-server.ts
- extensions/qa-lab/src/providers/mock-openai/server.ts
execution:
kind: flow
summary: Verify Active Memory stays off when session-toggled off, runs memory search/get when enabled, and helps a live model answer with the recalled preference in the first visible reply.
@@ -19,7 +19,7 @@ scenario:
- docs/concepts/model-failover.md
codeRefs:
- extensions/qa-lab/src/suite.ts
- extensions/qa-lab/src/mock-openai-server.ts
- extensions/qa-lab/src/providers/mock-openai/server.ts
execution:
kind: flow
summary: Verify switching models preserves session context and tool use instead of dropping into plain-text only behavior.
@@ -18,8 +18,8 @@ scenario:
- docs/plugins/manifest.md
codeRefs:
- scripts/stage-bundled-plugin-runtime.mjs
- src/agents/skills/workspace.ts
- src/agents/skills/plugin-skills.ts
- src/skills/loading/workspace.ts
- src/skills/loading/plugin-skills.ts
execution:
kind: flow
summary: Force the packaged dist-runtime plugin tree and verify an enabled bundled plugin skill survives discovery.
@@ -19,7 +19,7 @@ scenario:
- docs/gateway/configuration.md
- docs/plugins/manifest.md
codeRefs:
- src/agents/skills-status.ts
- src/skills/discovery/status.ts
- src/gateway/server-methods/config.ts
- extensions/qa-lab/src/suite-runtime-agent-tools.ts
execution:
@@ -17,7 +17,7 @@ scenario:
- docs/tools/skills.md
- docs/gateway/configuration.md
codeRefs:
- src/agents/skills-status.ts
- src/skills/discovery/status.ts
- extensions/qa-lab/src/suite.ts
execution:
kind: flow
@@ -17,7 +17,7 @@ scenario:
- docs/tools/skills.md
- docs/gateway/protocol.md
codeRefs:
- src/agents/skills-status.ts
- src/skills/discovery/status.ts
- extensions/qa-lab/src/suite.ts
execution:
kind: flow
@@ -19,7 +19,7 @@ scenario:
- docs/channels/qa-channel.md
codeRefs:
- extensions/qa-lab/src/suite.ts
- extensions/qa-lab/src/mock-openai-server.ts
- extensions/qa-lab/src/providers/mock-openai/server.ts
- src/agents/embedded-agent-runner/run/incomplete-turn.ts
execution:
kind: flow
@@ -19,7 +19,7 @@ scenario:
- docs/help/testing.md
codeRefs:
- extensions/qa-lab/src/suite.ts
- extensions/qa-lab/src/mock-openai-server.ts
- extensions/qa-lab/src/providers/mock-openai/server.ts
- src/agents/embedded-agent-subscribe.ts
- src/agents/embedded-agent-subscribe.handlers.lifecycle.ts
execution:
@@ -27,7 +27,7 @@ scenario:
- docs/concepts/qa-e2e-automation.md
codeRefs:
- extensions/diagnostics-prometheus/src/service.ts
- src/diagnostics/internal-diagnostics.ts
- src/infra/diagnostic-events.ts
- extensions/qa-lab/src/suite.ts
execution:
kind: flow
@@ -17,7 +17,7 @@ scenario:
docsRefs:
- docs/help/testing.md
codeRefs:
- extensions/qa-lab/src/mock-openai-server.ts
- extensions/qa-lab/src/providers/mock-openai/server.ts
- src/agents/embedded-agent-runner/run/incomplete-turn.ts
execution:
kind: flow
@@ -16,7 +16,7 @@ scenario:
docsRefs:
- docs/help/testing.md
codeRefs:
- extensions/qa-lab/src/mock-openai-server.ts
- extensions/qa-lab/src/providers/mock-openai/server.ts
- src/agents/embedded-agent-runner/run/incomplete-turn.ts
execution:
kind: flow
@@ -26,7 +26,7 @@ scenario:
- The Gateway child and qa-channel recover after every replacement without a user follow-up.
- Restart-safe policy remains active, the unsafe probe stays unavailable, and the completed audit is delivered exactly once.
docsRefs:
- docs/reference/code-mode.md
- docs/tools/code-mode.md
- docs/channels/qa-channel.md
codeRefs:
- extensions/qa-lab/src/suite-runtime-agent-session.ts
@@ -17,7 +17,7 @@ scenario:
docsRefs:
- docs/help/testing.md
codeRefs:
- extensions/qa-lab/src/mock-openai-server.ts
- extensions/qa-lab/src/providers/mock-openai/server.ts
- src/agents/embedded-agent-runner/run/incomplete-turn.ts
execution:
kind: flow
@@ -17,7 +17,7 @@ scenario:
docsRefs:
- docs/help/testing.md
codeRefs:
- extensions/qa-lab/src/mock-openai-server.ts
- extensions/qa-lab/src/providers/mock-openai/server.ts
- src/agents/embedded-agent-runner/run/incomplete-turn.ts
execution:
kind: flow
@@ -14,7 +14,7 @@ scenario:
docsRefs:
- docs/tools/skills.md
codeRefs:
- src/agents/skills-clawhub.ts
- src/skills/runtime/tool-dispatch.ts
- extensions/qa-lab/src/runtime-tool-fixture.ts
execution:
kind: flow
@@ -21,7 +21,7 @@ scenario:
codeRefs:
- src/cron/service.ts
- src/cron/service/timer.ts
- src/cron/run-log.ts
- src/cron/task-run-history.ts
- extensions/qa-lab/src/cron-run-wait.ts
- extensions/qa-lab/src/suite-runtime-transport.ts
execution:
@@ -20,7 +20,7 @@ scenario:
- docs/channels/qa-channel.md
codeRefs:
- src/cron/service.ts
- src/cron/run-log.ts
- src/cron/task-run-history.ts
- extensions/qa-lab/src/cron-run-wait.ts
- extensions/qa-lab/src/suite-runtime-transport.ts
execution:
@@ -24,7 +24,7 @@ scenario:
- extensions/qa-lab/src/scenario-runtime-api.ts
- extensions/qa-lab/src/suite.ts
- extensions/qa-lab/src/web-runtime.ts
- ui/src/ui/views/chat.ts
- ui/src/pages/chat/chat-view.ts
gatewayRuntime:
forwardHostHome: true
execution: