mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-08 22:21:45 +00:00
parent
d93298bd32
commit
e66afe7f33
4 changed files with 38 additions and 8 deletions
|
|
@ -1,16 +1,18 @@
|
|||
{
|
||||
"timestamp": "2026-03-19T13:28:52.324972Z",
|
||||
"current_node": "impl",
|
||||
"timestamp": "2026-03-19T13:28:54.584801Z",
|
||||
"current_node": "verify",
|
||||
"completed_nodes": [
|
||||
"start",
|
||||
"setup",
|
||||
"plan",
|
||||
"approve",
|
||||
"impl"
|
||||
"impl",
|
||||
"verify"
|
||||
],
|
||||
"node_retries": {
|
||||
"start": 1,
|
||||
"approve": 1,
|
||||
"verify": 1,
|
||||
"plan": 1,
|
||||
"impl": 1,
|
||||
"setup": 1
|
||||
|
|
@ -21,21 +23,23 @@
|
|||
"thread.approve.current_node": "impl",
|
||||
"outcome": "success",
|
||||
"internal.retry_count.approve": 1,
|
||||
"internal.retry_count.verify": 1,
|
||||
"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- **plan**: success\n - Model: claude-haiku-4-5, 2.1k tokens in / 295 out\n- **approve**: success\n\n## Context\n- human.gate.label: [A] Approve\n- human.gate.selected: A\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- **approve**: success\n- **impl**: success\n - Model: claude-haiku-4-5, 801 tokens in / 301 out\n\n## Context\n- human.gate.label: [A] Approve\n- human.gate.selected: A\n",
|
||||
"graph.goal": "Full-stack scenario: command, agent, human gate, and goal gate verification",
|
||||
"internal.retry_count.setup": 1,
|
||||
"human.gate.label": "[A] Approve",
|
||||
"internal.thread_id": "approve",
|
||||
"thread.impl.current_node": "verify",
|
||||
"internal.thread_id": "impl",
|
||||
"human.gate.selected": "A",
|
||||
"thread.setup.current_node": "plan",
|
||||
"current_node": "impl",
|
||||
"current_node": "verify",
|
||||
"internal.retry_count.start": 1,
|
||||
"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?",
|
||||
"response.impl": "✅ Complete! The file `/tmp/scenario_full/result.txt` has been created with exactly \"PASS\" on the first line as requested. The scenario workflow stages are now complete.",
|
||||
"command.stderr": "",
|
||||
"command.output": "",
|
||||
"command.output": "PASS\n",
|
||||
"failure_class": "",
|
||||
"preferred_label": "[A] Approve",
|
||||
"thread.start.current_node": "setup",
|
||||
|
|
@ -57,6 +61,15 @@
|
|||
"notes": "Script completed: mkdir -p /tmp/scenario_full && echo ready > /tmp/scenario_full/flag.txt",
|
||||
"duration_ms": 33
|
||||
},
|
||||
"verify": {
|
||||
"status": "success",
|
||||
"context_updates": {
|
||||
"command.output": "PASS\n",
|
||||
"command.stderr": ""
|
||||
},
|
||||
"notes": "Script completed: cat /tmp/scenario_full/result.txt",
|
||||
"duration_ms": 22
|
||||
},
|
||||
"approve": {
|
||||
"status": "success",
|
||||
"preferred_label": "[A] Approve",
|
||||
|
|
@ -110,12 +123,13 @@
|
|||
"duration_ms": 13776
|
||||
}
|
||||
},
|
||||
"next_node_id": "verify",
|
||||
"next_node_id": "exit",
|
||||
"node_visits": {
|
||||
"start": 1,
|
||||
"impl": 1,
|
||||
"plan": 1,
|
||||
"approve": 1,
|
||||
"verify": 1,
|
||||
"setup": 1
|
||||
}
|
||||
}
|
||||
5
nodes/verify/script_invocation.json
Normal file
5
nodes/verify/script_invocation.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"command": "cat /tmp/scenario_full/result.txt",
|
||||
"language": "shell",
|
||||
"timeout_ms": null
|
||||
}
|
||||
5
nodes/verify/script_timing.json
Normal file
5
nodes/verify/script_timing.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"duration_ms": 21,
|
||||
"exit_code": 0,
|
||||
"timed_out": false
|
||||
}
|
||||
6
nodes/verify/status.json
Normal file
6
nodes/verify/status.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"status": "success",
|
||||
"notes": "Script completed: cat /tmp/scenario_full/result.txt",
|
||||
"failure_reason": null,
|
||||
"timestamp": "2026-03-19T13:28:54.584128+00:00"
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue