checkpoint

⚒️ Generated with [Fabro](https://fabro.sh)
This commit is contained in:
Fabro 2026-04-30 12:29:12 +00:00
parent 2443be5726
commit cfb2ab35c1
5 changed files with 179 additions and 7 deletions

162
run.json
View file

@ -196,14 +196,128 @@
"in_place": false
},
"graph_source": "digraph Hello {\n graph [goal=\"Say hello and demonstrate a basic Fabro workflow\"]\n rankdir=LR\n\n start [shape=Mdiamond, label=\"Start\"]\n exit [shape=Msquare, label=\"Exit\"]\n\n greet [label=\"Greet\", prompt=\"Add a haiku to the README\"]\n\n start -> greet -> exit\n}\n",
"start": null,
"status": {
"kind": "starting"
"start": {
"run_id": "01KQF5SZV94BZQG1JGK0YZ18KX",
"start_time": "2026-04-30T12:28:59.711476020Z",
"run_branch": "fabro/run/01KQF5SZV94BZQG1JGK0YZ18KX",
"base_sha": "272d2aa549c3b3ea31de59b24020a45dd41519d7"
},
"status_updated_at": "2026-04-30T12:28:49.924890168Z",
"status": {
"kind": "running"
},
"status_updated_at": "2026-04-30T12:28:59.711556187Z",
"pending_control": null,
"checkpoint": null,
"checkpoints": [],
"checkpoint": {
"timestamp": "2026-04-30T12:29:12.437340171Z",
"current_node": "greet",
"completed_nodes": [
"start",
"greet"
],
"node_retries": {},
"context_values": {
"current_node": "greet",
"thread.start.current_node": "greet",
"internal.work_dir": "/workspace",
"internal.run_id": "01KQF5SZV94BZQG1JGK0YZ18KX",
"failure_signature": "",
"graph.goal": "Say hello and demonstrate a basic Fabro workflow",
"internal.fidelity": "compact",
"internal.retry_count.start": 0,
"response.greet": "Done! I added a haiku just below the tagline:\n\n```\nAgents write the code\nGraphs keep them on the right path\nYou review, then ship\n```\n\nIt captures the core Fabro philosophy in 5-7-5: AI agents do the work, workflow graphs provide the structure, and humans stay in control at the verification step.",
"last_stage": "greet",
"internal.node_visit_count": 1,
"failure_class": "",
"internal.retry_count.greet": 0,
"graph.rankdir": "LR",
"outcome": "succeeded",
"last_response": "Done! I added a haiku just below the tagline:\n\n```\nAgents write the code\nGraphs keep them on the right path\nYou review, then ship\n```\n\nIt captures the core Fabro philosophy in 5-7-5: AI agents do the ",
"internal.thread_id": "start"
},
"node_outcomes": {
"greet": {
"status": "succeeded",
"context_updates": {
"last_response": "Done! I added a haiku just below the tagline:\n\n```\nAgents write the code\nGraphs keep them on the right path\nYou review, then ship\n```\n\nIt captures the core Fabro philosophy in 5-7-5: AI agents do the ",
"response.greet": "Done! I added a haiku just below the tagline:\n\n```\nAgents write the code\nGraphs keep them on the right path\nYou review, then ship\n```\n\nIt captures the core Fabro philosophy in 5-7-5: AI agents do the work, workflow graphs provide the structure, and humans stay in control at the verification step.",
"last_stage": "greet"
},
"notes": "Stage completed: greet",
"usage": {
"input": {
"usage": {
"model": {
"provider": "anthropic",
"model_id": "claude-sonnet-4-6"
},
"tokens": {
"input_tokens": 4753,
"output_tokens": 408,
"reasoning_tokens": 0,
"cache_read_tokens": 23307,
"cache_write_tokens": 11962
}
},
"facts": {
"provider": "anthropic",
"cache_write_5m_tokens": 11962,
"cache_write_1h_tokens": 0
}
},
"total_usd_micros": 72228
},
"files_touched": [
"/workspace/README.md"
]
},
"start": {
"status": "succeeded",
"usage": null
}
},
"next_node_id": "exit",
"node_visits": {
"start": 1,
"greet": 1
}
},
"checkpoints": [
[
20,
{
"timestamp": "2026-04-30T12:29:01.982564049Z",
"current_node": "start",
"completed_nodes": [
"start"
],
"node_retries": {},
"context_values": {
"failure_signature": "",
"failure_class": "",
"outcome": "succeeded",
"graph.rankdir": "LR",
"internal.node_visit_count": 1,
"current_node": "start",
"internal.work_dir": "/workspace",
"internal.thread_id": null,
"internal.fidelity": "compact",
"internal.retry_count.start": 0,
"internal.run_id": "01KQF5SZV94BZQG1JGK0YZ18KX",
"graph.goal": "Say hello and demonstrate a basic Fabro workflow"
},
"node_outcomes": {
"start": {
"status": "succeeded",
"usage": null
}
},
"next_node_id": "greet",
"node_visits": {
"start": 1
}
}
]
],
"conclusion": null,
"retro": null,
"retro_prompt": null,
@ -220,5 +334,39 @@
"pull_request": null,
"superseded_by": null,
"pending_interviews": {},
"nodes": {}
"nodes": {
"start@1": {
"prompt": null,
"response": null,
"status": {
"status": "succeeded",
"notes": null,
"failure_reason": null,
"timestamp": "2026-04-30T12:29:01.982511174Z"
},
"provider_used": null,
"diff": null,
"script_invocation": null,
"script_timing": null,
"parallel_results": null,
"stdout": null,
"stderr": null
},
"greet@1": {
"prompt": null,
"response": null,
"status": null,
"provider_used": {
"mode": "agent",
"provider": "anthropic",
"model": "claude-sonnet-4-6"
},
"diff": null,
"script_invocation": null,
"script_timing": null,
"parallel_results": null,
"stdout": null,
"stderr": null
}
}
}

4
stages/greet@1/prompt.md Normal file
View file

@ -0,0 +1,4 @@
Goal: Say hello and demonstrate a basic Fabro workflow
Add a haiku to the README

View file

@ -0,0 +1,5 @@
{
"mode": "agent",
"provider": "anthropic",
"model": "claude-sonnet-4-6"
}

View file

@ -0,0 +1,9 @@
Done! I added a haiku just below the tagline:
```
Agents write the code
Graphs keep them on the right path
You review, then ship
```
It captures the core Fabro philosophy in 5-7-5: AI agents do the work, workflow graphs provide the structure, and humans stay in control at the verification step.

View file

@ -0,0 +1,6 @@
{
"status": "succeeded",
"notes": null,
"failure_reason": null,
"timestamp": "2026-04-30T12:29:01.982511174Z"
}