feat: compress Scene 11 storyboard beats
This commit is contained in:
@@ -57,7 +57,6 @@ describe("defense storyboard catalog", () => {
|
|||||||
expect(findBeat("run-from-deployment", "input")?.chatMode).toBe("hidden");
|
expect(findBeat("run-from-deployment", "input")?.chatMode).toBe("hidden");
|
||||||
expect(findBeat("run-from-deployment", "graph")?.chatMode).toBe("hidden");
|
expect(findBeat("run-from-deployment", "graph")?.chatMode).toBe("hidden");
|
||||||
expect(findBeat("typed-human-boundary", "approval")?.chatMode).toBe("hidden");
|
expect(findBeat("typed-human-boundary", "approval")?.chatMode).toBe("hidden");
|
||||||
expect(findBeat("typed-human-boundary", "cancel")?.chatMode).toBe("hidden");
|
|
||||||
expect(findBeat("resume-output-evidence", "resume")?.chatMode).toBe("hidden");
|
expect(findBeat("resume-output-evidence", "resume")?.chatMode).toBe("hidden");
|
||||||
expect(findBeat("resume-output-evidence", "output")?.chatMode).toBe("hidden");
|
expect(findBeat("resume-output-evidence", "output")?.chatMode).toBe("hidden");
|
||||||
expect(findBeat("resume-output-evidence", "trace")?.chatMode).toBe("hidden");
|
expect(findBeat("resume-output-evidence", "trace")?.chatMode).toBe("hidden");
|
||||||
@@ -86,12 +85,21 @@ describe("defense storyboard catalog", () => {
|
|||||||
expect(findBeat("run-from-deployment", "graph")).toBeDefined();
|
expect(findBeat("run-from-deployment", "graph")).toBeDefined();
|
||||||
expect(findBeat("typed-human-boundary", "interrupt")).toBeDefined();
|
expect(findBeat("typed-human-boundary", "interrupt")).toBeDefined();
|
||||||
expect(findBeat("typed-human-boundary", "approval")).toBeDefined();
|
expect(findBeat("typed-human-boundary", "approval")).toBeDefined();
|
||||||
expect(findBeat("typed-human-boundary", "cancel")).toBeDefined();
|
|
||||||
expect(findBeat("resume-output-evidence", "resume")).toBeDefined();
|
expect(findBeat("resume-output-evidence", "resume")).toBeDefined();
|
||||||
expect(findBeat("resume-output-evidence", "output")).toBeDefined();
|
expect(findBeat("resume-output-evidence", "output")).toBeDefined();
|
||||||
expect(findBeat("resume-output-evidence", "trace")).toBeDefined();
|
expect(findBeat("resume-output-evidence", "trace")).toBeDefined();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("compresses Scene 11 into interrupt context and one operator decision beat", () => {
|
||||||
|
expect(findScene("typed-human-boundary")?.beats.map((beat) => beat.id)).toEqual([
|
||||||
|
"interrupt",
|
||||||
|
"approval",
|
||||||
|
]);
|
||||||
|
expect(findBeat("typed-human-boundary", "interrupt")?.caption).toMatch(/boundary|interrupt/i);
|
||||||
|
expect(findBeat("typed-human-boundary", "approval")?.caption).toMatch(/decision|resume/i);
|
||||||
|
expect(findBeat("typed-human-boundary", "cancel")).toBeUndefined();
|
||||||
|
});
|
||||||
|
|
||||||
it("defines discussion branches across multiple scenes", () => {
|
it("defines discussion branches across multiple scenes", () => {
|
||||||
expect(discussionBranches.length).toBeGreaterThanOrEqual(5);
|
expect(discussionBranches.length).toBeGreaterThanOrEqual(5);
|
||||||
const positioningBranches = discussionBranches.filter((b) => b.parentSceneId === "positioning");
|
const positioningBranches = discussionBranches.filter((b) => b.parentSceneId === "positioning");
|
||||||
|
|||||||
@@ -199,8 +199,12 @@ export const mainScenes = defineScenes([
|
|||||||
view: "demo",
|
view: "demo",
|
||||||
beats: [
|
beats: [
|
||||||
sceneBeat("interrupt", "Interrupt payload", "Execution reaches a declared issue-review boundary.", { chatMode: "hidden", chatTheme: "light" }),
|
sceneBeat("interrupt", "Interrupt payload", "Execution reaches a declared issue-review boundary.", { chatMode: "hidden", chatTheme: "light" }),
|
||||||
sceneBeat("approval", "Approval", "The operator reviews a schema-backed resume request.", { chatMode: "hidden", chatTheme: "light" }),
|
sceneBeat(
|
||||||
sceneBeat("cancel", "Cancel path", "Replay cancellation stays honest and does not show submitted evidence.", { chatMode: "hidden", chatTheme: "light" }),
|
"approval",
|
||||||
|
"Approval",
|
||||||
|
"The operator makes a decision by choosing a submitted or revision-requested outcome for the paused run.",
|
||||||
|
{ chatMode: "hidden", chatTheme: "light" },
|
||||||
|
),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user