From e1e0a6315c2bc8eb6abe2f096bdbd93769d08177 Mon Sep 17 00:00:00 2001 From: Fabro Date: Wed, 15 Apr 2026 09:45:01 -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 | 68 ++++++++++++++++++++++++++++++++++ nodes/greet/prompt.md | 4 ++ nodes/greet/provider_used.json | 5 +++ nodes/greet/response.md | 27 ++++++++++++++ nodes/start/status.json | 6 +++ 5 files changed, 110 insertions(+) create mode 100644 checkpoint.json create mode 100644 nodes/greet/prompt.md create mode 100644 nodes/greet/provider_used.json create mode 100644 nodes/greet/response.md create mode 100644 nodes/start/status.json diff --git a/checkpoint.json b/checkpoint.json new file mode 100644 index 000000000..8098069a1 --- /dev/null +++ b/checkpoint.json @@ -0,0 +1,68 @@ +{ + "timestamp": "2026-04-15T13:45:01.042135Z", + "current_node": "greet", + "completed_nodes": [ + "start", + "greet" + ], + "node_retries": {}, + "context_values": { + "response.greet": "Hello! I’m an AI coding assistant, and I took a quick look around this repo.\n\nFabro is a Rust-based workflow engine for Graphviz/DOT-defined AI pipelines. It supports multi-stage workflows, human approval gates, parallel branches, checkpoints, and retries.\n\nThis message is a simple test of the Fabro workflow engine.\n\nA basic Fabro workflow looks like this:\n\n```dot\ndigraph HelloFabro {\n graph [goal=\"Say hello and confirm the workflow engine works\"]\n\n start [shape=Mdiamond, label=\"Start\"]\n greet [label=\"Greet\"]\n exit [shape=Msquare, label=\"Exit\"]\n\n start -> greet -> exit\n}\n```\n\nIn plain terms:\n\n1. Start\n2. Say hello\n3. Finish\n\nIf you want, I can also help draft a slightly more realistic Fabro workflow, like a plan → implement → validate flow.", + "internal.node_visit_count": 1, + "graph.rankdir": "LR", + "thread.start.current_node": "greet", + "internal.retry_count.greet": 0, + "internal.retry_count.start": 0, + "failure_class": "", + "failure_signature": "", + "outcome": "success", + "current_node": "greet", + "graph.goal": "Say hello and demonstrate a basic Fabro workflow", + "internal.fidelity": "compact", + "last_response": "Hello! I’m an AI coding assistant, and I took a quick look around this repo.\n\nFabro is a Rust-based workflow engine for Graphviz/DOT-defined AI pipelines. It supports multi-stage workflows, human ap", + "last_stage": "greet", + "internal.thread_id": "start", + "internal.run_id": "01KP8P61Y147J6QZ712GQ96DV2" + }, + "node_outcomes": { + "start": { + "status": "success", + "usage": null + }, + "greet": { + "status": "success", + "context_updates": { + "last_response": "Hello! I’m an AI coding assistant, and I took a quick look around this repo.\n\nFabro is a Rust-based workflow engine for Graphviz/DOT-defined AI pipelines. It supports multi-stage workflows, human ap", + "response.greet": "Hello! I’m an AI coding assistant, and I took a quick look around this repo.\n\nFabro is a Rust-based workflow engine for Graphviz/DOT-defined AI pipelines. It supports multi-stage workflows, human approval gates, parallel branches, checkpoints, and retries.\n\nThis message is a simple test of the Fabro workflow engine.\n\nA basic Fabro workflow looks like this:\n\n```dot\ndigraph HelloFabro {\n graph [goal=\"Say hello and confirm the workflow engine works\"]\n\n start [shape=Mdiamond, label=\"Start\"]\n greet [label=\"Greet\"]\n exit [shape=Msquare, label=\"Exit\"]\n\n start -> greet -> exit\n}\n```\n\nIn plain terms:\n\n1. Start\n2. Say hello\n3. Finish\n\nIf you want, I can also help draft a slightly more realistic Fabro workflow, like a plan → implement → validate flow.", + "last_stage": "greet" + }, + "notes": "Stage completed: greet", + "usage": { + "input": { + "usage": { + "model": { + "provider": "openai", + "model_id": "gpt-5.4-mini" + }, + "tokens": { + "input_tokens": 19705, + "output_tokens": 377, + "reasoning_tokens": 511, + "cache_read_tokens": 4096, + "cache_write_tokens": 0 + } + }, + "facts": { + "provider": "open_ai" + } + }, + "total_usd_micros": 19081 + } + } + }, + "next_node_id": "exit", + "node_visits": { + "start": 1, + "greet": 1 + } +} \ No newline at end of file diff --git a/nodes/greet/prompt.md b/nodes/greet/prompt.md new file mode 100644 index 000000000..c8bd2583a --- /dev/null +++ b/nodes/greet/prompt.md @@ -0,0 +1,4 @@ +Goal: Say hello and demonstrate a basic Fabro workflow + + +Say hello! Explore this project. Introduce yourself and explain that this is a test of the Fabro workflow engine. \ No newline at end of file diff --git a/nodes/greet/provider_used.json b/nodes/greet/provider_used.json new file mode 100644 index 000000000..c98e5e9c0 --- /dev/null +++ b/nodes/greet/provider_used.json @@ -0,0 +1,5 @@ +{ + "mode": "agent", + "provider": "openai", + "model": "gpt-5.4-mini" +} \ No newline at end of file diff --git a/nodes/greet/response.md b/nodes/greet/response.md new file mode 100644 index 000000000..6c6e40dfc --- /dev/null +++ b/nodes/greet/response.md @@ -0,0 +1,27 @@ +Hello! I’m an AI coding assistant, and I took a quick look around this repo. + +Fabro is a Rust-based workflow engine for Graphviz/DOT-defined AI pipelines. It supports multi-stage workflows, human approval gates, parallel branches, checkpoints, and retries. + +This message is a simple test of the Fabro workflow engine. + +A basic Fabro workflow looks like this: + +```dot +digraph HelloFabro { + graph [goal="Say hello and confirm the workflow engine works"] + + start [shape=Mdiamond, label="Start"] + greet [label="Greet"] + exit [shape=Msquare, label="Exit"] + + start -> greet -> exit +} +``` + +In plain terms: + +1. Start +2. Say hello +3. Finish + +If you want, I can also help draft a slightly more realistic Fabro workflow, like a plan → implement → validate flow. \ No newline at end of file diff --git a/nodes/start/status.json b/nodes/start/status.json new file mode 100644 index 000000000..8742123c9 --- /dev/null +++ b/nodes/start/status.json @@ -0,0 +1,6 @@ +{ + "status": "success", + "notes": null, + "failure_reason": null, + "timestamp": "2026-04-15T13:44:49.553667Z" +} \ No newline at end of file