From e1a0e592401dcb068b0669f3ddd8d78fbfdbe61e Mon Sep 17 00:00:00 2001 From: Fabro Date: Wed, 15 Apr 2026 10:16:09 -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 | 42 +++++++++++++++++++++ nodes/start/status.json | 6 +++ 5 files changed, 125 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..d06acc63c --- /dev/null +++ b/checkpoint.json @@ -0,0 +1,68 @@ +{ + "timestamp": "2026-04-15T14:16:09.972607Z", + "current_node": "greet", + "completed_nodes": [ + "start", + "greet" + ], + "node_retries": {}, + "context_values": { + "graph.goal": "Say hello and demonstrate a basic Fabro workflow", + "current_node": "greet", + "internal.run_id": "01KP8QZ17J44G5STS7WWY9ZVRH", + "internal.fidelity": "compact", + "internal.node_visit_count": 1, + "outcome": "success", + "failure_class": "", + "internal.retry_count.greet": 0, + "last_response": "Hello! Here’s a basic Fabro-style first step: inspect the repo before doing anything else.\n\nTop-level files and directories in this repo:\n\n```text\n.ai\n.cargo\n.claude\n.config\n.env.example\n.fabro\n.git", + "failure_signature": "", + "internal.retry_count.start": 0, + "internal.thread_id": "start", + "thread.start.current_node": "greet", + "response.greet": "Hello! Here’s a basic Fabro-style first step: inspect the repo before doing anything else.\n\nTop-level files and directories in this repo:\n\n```text\n.ai\n.cargo\n.claude\n.config\n.env.example\n.fabro\n.git\n.gitattributes\n.github\n.gitignore\nAGENTS.md\nCLAUDE.md\nCONTRIBUTING.md\nCargo.lock\nCargo.toml\nLICENSE.md\nREADME.md\napps\nbin\nbun.lock\nclippy.toml\ndocker\ndocs\ndocs-internal\nevals\nfiles-internal\ninstall.md\ninstall.sh\ninstaller\nlib\npackage.json\nrustfmt.toml\nscripts\ntest\n```\n\nIf you want, I can next demonstrate a basic Fabro workflow by finding an example workflow in `.fabro/workflows` and explaining how to run it.", + "last_stage": "greet", + "graph.rankdir": "LR" + }, + "node_outcomes": { + "greet": { + "status": "success", + "context_updates": { + "response.greet": "Hello! Here’s a basic Fabro-style first step: inspect the repo before doing anything else.\n\nTop-level files and directories in this repo:\n\n```text\n.ai\n.cargo\n.claude\n.config\n.env.example\n.fabro\n.git\n.gitattributes\n.github\n.gitignore\nAGENTS.md\nCLAUDE.md\nCONTRIBUTING.md\nCargo.lock\nCargo.toml\nLICENSE.md\nREADME.md\napps\nbin\nbun.lock\nclippy.toml\ndocker\ndocs\ndocs-internal\nevals\nfiles-internal\ninstall.md\ninstall.sh\ninstaller\nlib\npackage.json\nrustfmt.toml\nscripts\ntest\n```\n\nIf you want, I can next demonstrate a basic Fabro workflow by finding an example workflow in `.fabro/workflows` and explaining how to run it.", + "last_stage": "greet", + "last_response": "Hello! Here’s a basic Fabro-style first step: inspect the repo before doing anything else.\n\nTop-level files and directories in this repo:\n\n```text\n.ai\n.cargo\n.claude\n.config\n.env.example\n.fabro\n.git" + }, + "notes": "Stage completed: greet", + "usage": { + "input": { + "usage": { + "model": { + "provider": "openai", + "model_id": "gpt-5.4" + }, + "tokens": { + "input_tokens": 16097, + "output_tokens": 321, + "reasoning_tokens": 180, + "cache_read_tokens": 0, + "cache_write_tokens": 0 + } + }, + "facts": { + "provider": "open_ai" + } + }, + "total_usd_micros": 47757 + } + }, + "start": { + "status": "success", + "usage": null + } + }, + "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..50d9838e8 --- /dev/null +++ b/nodes/greet/prompt.md @@ -0,0 +1,4 @@ +Goal: Say hello and demonstrate a basic Fabro workflow + + +Print a listing of the top-level files and directories in this repo. \ 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..9f9e29e5d --- /dev/null +++ b/nodes/greet/provider_used.json @@ -0,0 +1,5 @@ +{ + "mode": "agent", + "provider": "openai", + "model": "gpt-5.4" +} \ No newline at end of file diff --git a/nodes/greet/response.md b/nodes/greet/response.md new file mode 100644 index 000000000..3f7a76fe6 --- /dev/null +++ b/nodes/greet/response.md @@ -0,0 +1,42 @@ +Hello! Here’s a basic Fabro-style first step: inspect the repo before doing anything else. + +Top-level files and directories in this repo: + +```text +.ai +.cargo +.claude +.config +.env.example +.fabro +.git +.gitattributes +.github +.gitignore +AGENTS.md +CLAUDE.md +CONTRIBUTING.md +Cargo.lock +Cargo.toml +LICENSE.md +README.md +apps +bin +bun.lock +clippy.toml +docker +docs +docs-internal +evals +files-internal +install.md +install.sh +installer +lib +package.json +rustfmt.toml +scripts +test +``` + +If you want, I can next demonstrate a basic Fabro workflow by finding an example workflow in `.fabro/workflows` and explaining how to run it. \ No newline at end of file diff --git a/nodes/start/status.json b/nodes/start/status.json new file mode 100644 index 000000000..3d9f03d29 --- /dev/null +++ b/nodes/start/status.json @@ -0,0 +1,6 @@ +{ + "status": "success", + "notes": null, + "failure_reason": null, + "timestamp": "2026-04-15T14:15:57.251859Z" +} \ No newline at end of file