From e93450f9dbd1f533ff86e299ffe4bd9161d21bcf Mon Sep 17 00:00:00 2001 From: Fabro Date: Thu, 19 Mar 2026 09:28:32 -0400 Subject: [PATCH] checkpoint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit āš’ļø Generated with [Fabro](https://fabro.sh) --- checkpoint.json | 44 +++++++++++++++++++++---------- nodes/ship/script_invocation.json | 5 ++++ nodes/ship/script_timing.json | 5 ++++ nodes/ship/status.json | 6 +++++ 4 files changed, 46 insertions(+), 14 deletions(-) create mode 100644 nodes/ship/script_invocation.json create mode 100644 nodes/ship/script_timing.json create mode 100644 nodes/ship/status.json diff --git a/checkpoint.json b/checkpoint.json index f4ddbb6f2..a85c311b5 100644 --- a/checkpoint.json +++ b/checkpoint.json @@ -1,25 +1,29 @@ { - "timestamp": "2026-03-19T13:28:30.817875Z", - "current_node": "approve", + "timestamp": "2026-03-19T13:28:32.856560Z", + "current_node": "ship", "completed_nodes": [ "start", "draft", - "approve" + "approve", + "ship" ], "node_retries": { - "approve": 1, "start": 1, - "draft": 1 + "draft": 1, + "approve": 1, + "ship": 1 }, "context_values": { "graph.rankdir": "LR", "outcome": "success", "internal.fidelity": "compact", + "internal.retry_count.ship": 1, "human.gate.label": "[A] Approve", "thread.start.current_node": "draft", - "current.preamble": "Goal: Test human gate with auto-approve\n\n## Completed stages\n- **draft**: success\n - Model: claude-haiku-4-5, 2.0k tokens in / 190 out\n", + "current.preamble": "Goal: Test human gate with auto-approve\n\n## Completed stages\n- **draft**: success\n - Model: claude-haiku-4-5, 2.0k tokens in / 190 out\n- **approve**: success\n\n## Context\n- human.gate.label: [A] Approve\n- human.gate.selected: A\n", "preferred_label": "[A] Approve", - "internal.thread_id": "draft", + "command.output": "shipped\n", + "internal.thread_id": "approve", "graph.goal": "Test human gate with auto-approve", "last_stage": "draft", "internal.node_visit_count": 1, @@ -27,13 +31,15 @@ "thread.draft.current_node": "approve", "human.gate.selected": "A", "failure_class": "", - "current_node": "approve", + "current_node": "ship", "internal.retry_count.start": 1, + "thread.approve.current_node": "ship", "response.draft": "# Human Gate Auto-Approve Test\n\nHere's a greeting for testing the human gate feature:\n\n```\nšŸ‘‹ Welcome to the Human Gate Auto-Approve Test!\n\nThis workflow demonstrates the human-in-the-loop stage with automatic approval.\nWhen the workflow encounters a human gate, it will pause and wait for approval,\nthen automatically resume and continue execution.\n\nLet's see it in action! šŸš€\n```\n\nTo test this, you could:\n\n1. Create a workflow with a human gate stage\n2. Run it with `fabro run `\n3. The workflow will pause at the human gate\n4. Approve it (via API, CLI, or web UI)\n5. Verify it resumes and completes successfully\n\nWould you like me to help you set up a test workflow or add test cases for this functionality?", "internal.run_id": "01KM34GS97DJ1W5DWYQ2XRRQMY", "failure_signature": "", "last_response": "# Human Gate Auto-Approve Test\n\nHere's a greeting for testing the human gate feature:\n\n```\nšŸ‘‹ Welcome to the Human Gate Auto-Approve Test!\n\nThis workflow demonstrates the human-in-the-loop stage wit", - "internal.retry_count.approve": 1 + "internal.retry_count.approve": 1, + "command.stderr": "" }, "logs": [], "node_outcomes": { @@ -49,10 +55,6 @@ }, "duration_ms": 0 }, - "start": { - "status": "success", - "duration_ms": 0 - }, "draft": { "status": "success", "context_updates": { @@ -70,10 +72,24 @@ "cost": 0.0023776 }, "duration_ms": 2909 + }, + "start": { + "status": "success", + "duration_ms": 0 + }, + "ship": { + "status": "success", + "context_updates": { + "command.output": "shipped\n", + "command.stderr": "" + }, + "notes": "Script completed: echo shipped", + "duration_ms": 30 } }, - "next_node_id": "ship", + "next_node_id": "exit", "node_visits": { + "ship": 1, "start": 1, "draft": 1, "approve": 1 diff --git a/nodes/ship/script_invocation.json b/nodes/ship/script_invocation.json new file mode 100644 index 000000000..b14999654 --- /dev/null +++ b/nodes/ship/script_invocation.json @@ -0,0 +1,5 @@ +{ + "command": "echo shipped", + "language": "shell", + "timeout_ms": null +} \ No newline at end of file diff --git a/nodes/ship/script_timing.json b/nodes/ship/script_timing.json new file mode 100644 index 000000000..1d5f2e997 --- /dev/null +++ b/nodes/ship/script_timing.json @@ -0,0 +1,5 @@ +{ + "duration_ms": 30, + "exit_code": 0, + "timed_out": false +} \ No newline at end of file diff --git a/nodes/ship/status.json b/nodes/ship/status.json new file mode 100644 index 000000000..2c1e0bb15 --- /dev/null +++ b/nodes/ship/status.json @@ -0,0 +1,6 @@ +{ + "status": "success", + "notes": "Script completed: echo shipped", + "failure_reason": null, + "timestamp": "2026-03-19T13:28:32.856307+00:00" +} \ No newline at end of file