feat: tie demo graph to run proof
This commit is contained in:
@@ -78,7 +78,7 @@ describe("DemoWorkflowScene", () => {
|
|||||||
renderBeat("graph");
|
renderBeat("graph");
|
||||||
|
|
||||||
expect(screen.getByLabelText("workflow.runs.start execution receipt")).toBeInTheDocument();
|
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();
|
expect(screen.getByLabelText("workflow graph")).toBeInTheDocument();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -132,6 +132,16 @@ describe("DemoWorkflowScene", () => {
|
|||||||
expect(screen.getByLabelText("workflow.runs.trace operation")).toBeInTheDocument();
|
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", () => {
|
it("shows the continuity rail across Scene 9 operation, graph, and interrupt beats", () => {
|
||||||
const { unmount } = renderBeat("operation");
|
const { unmount } = renderBeat("operation");
|
||||||
expect(screen.getByLabelText("demo continuity")).toHaveTextContent("workflow.runs.start");
|
expect(screen.getByLabelText("demo continuity")).toHaveTextContent("workflow.runs.start");
|
||||||
|
|||||||
@@ -60,6 +60,14 @@ export const DemoWorkflowScene = ({
|
|||||||
const execution = graphExecutionForBeat(beat.id);
|
const execution = graphExecutionForBeat(beat.id);
|
||||||
const layout = layoutForBeat(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 lens = demoBeatLensForBeat(beat.id);
|
||||||
const currentOperation = currentEvent ? projectOperationPresentation(currentEvent) : null;
|
const currentOperation = currentEvent ? projectOperationPresentation(currentEvent) : null;
|
||||||
const showOutcomePanel = beat.id === "approval" || beat.id === "resume" || beat.id === "output" || beat.id === "trace";
|
const showOutcomePanel = beat.id === "approval" || beat.id === "resume" || beat.id === "output" || beat.id === "trace";
|
||||||
@@ -104,6 +112,7 @@ export const DemoWorkflowScene = ({
|
|||||||
execution={execution}
|
execution={execution}
|
||||||
selectedNodeId={selectedNodeId}
|
selectedNodeId={selectedNodeId}
|
||||||
selectNode={selectNode}
|
selectNode={selectNode}
|
||||||
|
proof={runProof}
|
||||||
/>
|
/>
|
||||||
{contractMode && contract && (
|
{contractMode && contract && (
|
||||||
<InterruptContractPreview
|
<InterruptContractPreview
|
||||||
|
|||||||
Reference in New Issue
Block a user