mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-08 22:21:45 +00:00
parent
ed2a9c6e2c
commit
dc6927e776
2 changed files with 36 additions and 10 deletions
|
|
@ -1,38 +1,45 @@
|
|||
{
|
||||
"timestamp": "2026-03-19T13:28:33.915594Z",
|
||||
"current_node": "plan",
|
||||
"timestamp": "2026-03-19T13:28:36.217413Z",
|
||||
"current_node": "approve",
|
||||
"completed_nodes": [
|
||||
"start",
|
||||
"setup",
|
||||
"plan"
|
||||
"plan",
|
||||
"approve"
|
||||
],
|
||||
"node_retries": {
|
||||
"start": 1,
|
||||
"approve": 1,
|
||||
"plan": 1,
|
||||
"setup": 1
|
||||
},
|
||||
"context_values": {
|
||||
"internal.fidelity": "compact",
|
||||
"internal.run_id": "01KM34GS9875W8ZP64K0YE6BYG",
|
||||
"current_node": "plan",
|
||||
"current_node": "approve",
|
||||
"internal.retry_count.start": 1,
|
||||
"thread.setup.current_node": "plan",
|
||||
"outcome": "success",
|
||||
"response.plan": "I'll help you complete this scenario. Let me break this down:\n\n1. Read `/tmp/scenario_full/flag.txt` (which was created with content \"ready\")\n2. Create `/tmp/scenario_full/result.txt` with the word \"PASS\"\n\nLet me execute this:\n\n```bash\ncat /tmp/scenario_full/flag.txt && echo PASS > /tmp/scenario_full/result.txt && cat /tmp/scenario_full/result.txt\n```\n\nThis command:\n1. Reads the flag file (should output \"ready\")\n2. Creates result.txt with \"PASS\"\n3. Verifies by reading result.txt back\n\n**Expected output:**\n```\nready\nPASS\n```\n\nIf you're running this through the Fabro workflow system, this could be structured as:\n- **Command stage**: Read the flag file to verify setup completed\n- **Agent stage**: Create the result file with proper content\n- **Human gate**: Manual verification that result.txt exists and contains \"PASS\"\n- **Goal gate**: Automated verification that `/tmp/scenario_full/result.txt` contains exactly \"PASS\"\n\nWould you like me to help create a workflow definition (in Graphviz/TOML format) that orchestrates these stages with proper gate verification?",
|
||||
"internal.retry_count.approve": 1,
|
||||
"command.stderr": "",
|
||||
"command.output": "",
|
||||
"failure_class": "",
|
||||
"internal.retry_count.plan": 1,
|
||||
"internal.node_visit_count": 1,
|
||||
"current.preamble": "Goal: Full-stack scenario: command, agent, human gate, and goal gate verification\n\n## Completed stages\n- **setup**: success\n - Script: `mkdir -p /tmp/scenario_full && echo ready > /tmp/scenario_full/flag.txt`\n - Stdout: (empty)\n - Stderr: (empty)\n",
|
||||
"current.preamble": "Goal: Full-stack scenario: command, agent, human gate, and goal gate verification\n\n## Completed stages\n- **setup**: success\n - Script: `mkdir -p /tmp/scenario_full && echo ready > /tmp/scenario_full/flag.txt`\n - Stdout: (empty)\n - Stderr: (empty)\n- **plan**: success\n - Model: claude-haiku-4-5, 2.1k tokens in / 295 out\n",
|
||||
"preferred_label": "[A] Approve",
|
||||
"thread.start.current_node": "setup",
|
||||
"graph.rankdir": "LR",
|
||||
"graph.goal": "Full-stack scenario: command, agent, human gate, and goal gate verification",
|
||||
"internal.retry_count.setup": 1,
|
||||
"internal.thread_id": "setup",
|
||||
"thread.plan.current_node": "approve",
|
||||
"human.gate.label": "[A] Approve",
|
||||
"internal.thread_id": "plan",
|
||||
"failure_signature": "",
|
||||
"last_stage": "plan",
|
||||
"last_response": "I'll help you complete this scenario. Let me break this down:\n\n1. Read `/tmp/scenario_full/flag.txt` (which was created with content \"ready\")\n2. Create `/tmp/scenario_full/result.txt` with the word \"P"
|
||||
"last_response": "I'll help you complete this scenario. Let me break this down:\n\n1. Read `/tmp/scenario_full/flag.txt` (which was created with content \"ready\")\n2. Create `/tmp/scenario_full/result.txt` with the word \"P",
|
||||
"human.gate.selected": "A"
|
||||
},
|
||||
"logs": [],
|
||||
"node_outcomes": {
|
||||
|
|
@ -45,6 +52,18 @@
|
|||
"notes": "Script completed: mkdir -p /tmp/scenario_full && echo ready > /tmp/scenario_full/flag.txt",
|
||||
"duration_ms": 33
|
||||
},
|
||||
"approve": {
|
||||
"status": "success",
|
||||
"preferred_label": "[A] Approve",
|
||||
"suggested_next_ids": [
|
||||
"impl"
|
||||
],
|
||||
"context_updates": {
|
||||
"human.gate.selected": "A",
|
||||
"human.gate.label": "[A] Approve"
|
||||
},
|
||||
"duration_ms": 0
|
||||
},
|
||||
"start": {
|
||||
"status": "success",
|
||||
"duration_ms": 0
|
||||
|
|
@ -68,10 +87,11 @@
|
|||
"duration_ms": 5201
|
||||
}
|
||||
},
|
||||
"next_node_id": "approve",
|
||||
"next_node_id": "impl",
|
||||
"node_visits": {
|
||||
"setup": 1,
|
||||
"start": 1,
|
||||
"plan": 1,
|
||||
"start": 1
|
||||
"approve": 1,
|
||||
"setup": 1
|
||||
}
|
||||
}
|
||||
6
nodes/approve/status.json
Normal file
6
nodes/approve/status.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"status": "success",
|
||||
"notes": null,
|
||||
"failure_reason": null,
|
||||
"timestamp": "2026-03-19T13:28:36.217094+00:00"
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue