feat: tie demo graph to run proof
This commit is contained in:
@@ -78,7 +78,7 @@ describe("DemoWorkflowScene", () => {
|
||||
renderBeat("graph");
|
||||
|
||||
expect(screen.getByLabelText("workflow.runs.start execution receipt")).toBeInTheDocument();
|
||||
expect(screen.getByText("run_recorded_lda_report")).toBeInTheDocument();
|
||||
expect(screen.getAllByText("run_recorded_lda_report").length).toBeGreaterThanOrEqual(1);
|
||||
expect(screen.getByLabelText("workflow graph")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
@@ -132,6 +132,16 @@ describe("DemoWorkflowScene", () => {
|
||||
expect(screen.getByLabelText("workflow.runs.trace operation")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("passes run proof into graph-heavy beats", () => {
|
||||
const { unmount } = renderBeat("graph");
|
||||
expect(screen.getByLabelText("workflow graph proof")).toHaveTextContent("run_recorded_lda_report");
|
||||
expect(screen.getByLabelText("workflow graph proof")).toHaveTextContent("5 workflow nodes");
|
||||
unmount();
|
||||
|
||||
renderBeat("approval", "interrupt-evidence");
|
||||
expect(screen.getByLabelText("workflow graph proof")).toHaveTextContent("JSON-RPC evidence");
|
||||
});
|
||||
|
||||
it("shows the continuity rail across Scene 9 operation, graph, and interrupt beats", () => {
|
||||
const { unmount } = renderBeat("operation");
|
||||
expect(screen.getByLabelText("demo continuity")).toHaveTextContent("workflow.runs.start");
|
||||
|
||||
@@ -60,6 +60,14 @@ export const DemoWorkflowScene = ({
|
||||
const execution = graphExecutionForBeat(beat.id);
|
||||
const layout = layoutForBeat(beat.id);
|
||||
|
||||
// Presentation-only proof labels keep the graph tied to the recorded run
|
||||
// without changing the canonical replay event payload.
|
||||
const runProof = {
|
||||
runId: runStart?.resultingIds.runId ?? null,
|
||||
traceLabel: "5 workflow nodes",
|
||||
evidenceLabel: "JSON-RPC evidence",
|
||||
};
|
||||
|
||||
const lens = demoBeatLensForBeat(beat.id);
|
||||
const currentOperation = currentEvent ? projectOperationPresentation(currentEvent) : null;
|
||||
const showOutcomePanel = beat.id === "approval" || beat.id === "resume" || beat.id === "output" || beat.id === "trace";
|
||||
@@ -104,6 +112,7 @@ export const DemoWorkflowScene = ({
|
||||
execution={execution}
|
||||
selectedNodeId={selectedNodeId}
|
||||
selectNode={selectNode}
|
||||
proof={runProof}
|
||||
/>
|
||||
{contractMode && contract && (
|
||||
<InterruptContractPreview
|
||||
|
||||
Reference in New Issue
Block a user