diff --git a/extensions/qa-lab/src/live-transports/slack/slack-live.config.ts b/extensions/qa-lab/src/live-transports/slack/slack-live.config.ts index c8ee8bcca9d6..5852678f1a16 100644 --- a/extensions/qa-lab/src/live-transports/slack/slack-live.config.ts +++ b/extensions/qa-lab/src/live-transports/slack/slack-live.config.ts @@ -292,7 +292,14 @@ export function buildSlackQaConfig( ? { streaming: { mode: "progress" as const, + // These scenarios assert the portable draft compositor and + // chat.update identity. Native task streams have their own + // transport proof and do not expose that draft contract. + nativeTransport: false, progress: { + // The per-run command marker is the tool-line correlation + // key; the product default intentionally hides raw commands. + commandText: "raw" as const, label: false, maxLines: 4, toolProgress: progressOverrides.toolProgress, diff --git a/extensions/qa-lab/src/live-transports/slack/slack-live.runtime.test.ts b/extensions/qa-lab/src/live-transports/slack/slack-live.runtime.test.ts index 31bfc6c8ee62..88f5063b391e 100644 --- a/extensions/qa-lab/src/live-transports/slack/slack-live.runtime.test.ts +++ b/extensions/qa-lab/src/live-transports/slack/slack-live.runtime.test.ts @@ -596,12 +596,18 @@ describe("Slack live QA runtime helpers", () => { expect(progressConfig("slack-progress-commentary-true")).toMatchObject({ commentary: true, + commandText: "raw", toolProgress: false, }); expect(progressConfig("slack-progress-commentary-false")).toMatchObject({ commentary: false, + commandText: "raw", toolProgress: false, }); + expect( + buildScenarioConfig("slack-progress-commentary-true").channels?.slack?.accounts?.sut + ?.streaming?.nativeTransport, + ).toBe(false); expect( buildScenarioConfig("slack-progress-commentary-false").agents?.defaults?.verboseDefault, ).toBe("off");