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", "graph")?.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", "output")?.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("typed-human-boundary", "interrupt")).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", "output")).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", () => {
|
||||
expect(discussionBranches.length).toBeGreaterThanOrEqual(5);
|
||||
const positioningBranches = discussionBranches.filter((b) => b.parentSceneId === "positioning");
|
||||
|
||||
@@ -199,8 +199,12 @@ export const mainScenes = defineScenes([
|
||||
view: "demo",
|
||||
beats: [
|
||||
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("cancel", "Cancel path", "Replay cancellation stays honest and does not show submitted evidence.", { chatMode: "hidden", chatTheme: "light" }),
|
||||
sceneBeat(
|
||||
"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