fix(qa): restore Buzz canary selection (#124200)

* oc-2f4: fix Buzz QA scenario selection

* oc-2f4: align canary catalog contract
This commit is contained in:
Josh Lehman
2026-08-15 09:27:39 -07:00
committed by GitHub
parent 96a7b25ca7
commit cd5076770e
3 changed files with 22 additions and 3 deletions
@@ -156,6 +156,23 @@ describe("live transport QA scenario selection", () => {
},
);
it.each([
{
channelId: "buzz",
scenarioIds: ["channel-canary", "channel-mention-gating"],
},
{ channelId: "msteams", scenarioIds: ["channel-canary"] },
])("keeps the $channelId plugin defaults eligible", ({ channelId, scenarioIds }) => {
expect(
resolveCatalogLiveTransportQaScenarioIds({
...MOCK_LANE,
channelId,
channelDriver: "live",
scenarioIds,
}),
).toEqual(scenarioIds);
});
it("rejects the shared channel canary on unsupported Discord drivers", () => {
expect(() =>
resolveCatalogLiveTransportQaScenarioIds({
@@ -165,7 +182,7 @@ describe("live transport QA scenario selection", () => {
scenarioIds: ["channel-canary"],
}),
).toThrow(
"selected QA scenario(s) do not match the current QA lane: channel-canary (channel=qa-channel|telegram)",
"selected QA scenario(s) do not match the current QA lane: channel-canary (channel=qa-channel|telegram|buzz|msteams)",
);
});
});
@@ -230,10 +230,10 @@ describe("qa scenario catalog channel contracts", () => {
expect(scenario.gatewayConfigPatch).not.toHaveProperty("channels.telegram.groups");
});
it("keeps the shared channel canary eligible for QA Channel and Telegram", () => {
it("keeps the shared channel canary eligible for its supported channels", () => {
const scenario = requireFlowScenario(readQaScenarioById("channel-canary"));
expect(scenario.execution.channels).toEqual(["qa-channel", "telegram"]);
expect(scenario.execution.channels).toEqual(["qa-channel", "telegram", "buzz", "msteams"]);
});
it("keeps transcript-role delivery on the Crabline driver", () => {
@@ -24,6 +24,8 @@ scenario:
channels:
- qa-channel
- telegram
- buzz
- msteams
summary: Run the shared channel canary through QA Channel, Crabline, or a live adapter.
transportPolicy:
requireGroupMention: true