fabro/run.json
Fabro d89c316d3c checkpoint
⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-08 15:07:42 +00:00

556 lines
No EOL
16 KiB
JSON

{
"title": "Repro: does the synth/merge node see branch outputs?",
"spec": {
"run_id": "01KX148ZAMMJRAADHK1HBF7PC3",
"settings": {
"project": {
"name": null,
"description": null,
"metadata": {}
},
"workflow": {
"name": null,
"description": null,
"graph": "workflow.fabro",
"metadata": {}
},
"run": {
"goal": {
"type": "inline",
"value": "Repro: does the synth/merge node see branch outputs?"
},
"working_dir": null,
"metadata": {
"repro": "issue-490"
},
"inputs": {},
"model": {
"provider": "anthropic",
"name": "claude-sonnet-4-6",
"fallbacks": [],
"controls": {
"reasoning_effort": null,
"speed": null
}
},
"git": {
"author": null
},
"prepare": {
"steps": [],
"timeout_ms": 300000
},
"execution": {
"mode": "normal",
"approval": "prompt"
},
"checkpoint": {
"exclude_globs": [],
"skip_git_hooks": false
},
"clone": {
"enabled": true
},
"run_branch": {
"enabled": true,
"push": true
},
"meta_branch": {
"enabled": true,
"push": true
},
"environment": {
"id": "default",
"provider": "daytona",
"image": {
"docker": null,
"dockerfile": {
"type": "inline",
"value": "FROM buildpack-deps:noble\n"
}
},
"resources": {
"cpu": 2,
"memory": "4GB",
"disk": null
},
"network": {
"mode": "allow_all",
"allow": []
},
"lifecycle": {
"preserve": false,
"stop_on_terminal": true,
"auto_stop": null
},
"labels": {},
"env": {}
},
"notifications": {
"feed": {
"enabled": true,
"provider": "slack",
"events": [
"run.started",
"run.completed",
"run.failed"
],
"slack": {
"channel": "#feed-fabro"
}
}
},
"interviews": {
"provider": null,
"slack": null
},
"agent": {
"fabro_tools": false,
"permissions": null,
"mcps": {}
},
"hooks": [],
"scm": {
"provider": null,
"owner": null,
"repository": null,
"github": null
},
"pull_request": null,
"artifacts": {
"include": []
},
"integrations": {
"github": {
"permissions": {}
}
}
}
},
"graph": {
"name": "EnsembleBug",
"nodes": {
"merge": {
"id": "merge",
"attrs": {
"shape": {
"String": "tripleoctagon"
},
"model": {
"String": "claude-sonnet-4-5"
},
"label": {
"String": "Merge"
},
"provider": {
"String": "anthropic"
}
}
},
"start": {
"id": "start",
"attrs": {
"shape": {
"String": "Mdiamond"
},
"provider": {
"String": "anthropic"
},
"label": {
"String": "Start"
},
"model": {
"String": "claude-sonnet-4-5"
}
}
},
"b": {
"id": "b",
"attrs": {
"shape": {
"String": "tab"
},
"model": {
"String": "claude-sonnet-4-5"
},
"prompt": {
"String": "Output EXACTLY this and nothing else: BRANCH_B_MARKER_91c2: oranges are orange."
},
"label": {
"String": "B"
},
"provider": {
"String": "anthropic"
}
}
},
"fork": {
"id": "fork",
"attrs": {
"join_policy": {
"String": "wait_all"
},
"label": {
"String": "Fan Out"
},
"provider": {
"String": "anthropic"
},
"model": {
"String": "claude-sonnet-4-5"
},
"shape": {
"String": "component"
}
}
},
"a": {
"id": "a",
"attrs": {
"model": {
"String": "claude-sonnet-4-5"
},
"label": {
"String": "A"
},
"provider": {
"String": "anthropic"
},
"prompt": {
"String": "Output EXACTLY this and nothing else: BRANCH_A_MARKER_7f3a: apples are red."
},
"shape": {
"String": "tab"
}
}
},
"synth": {
"id": "synth",
"attrs": {
"provider": {
"String": "anthropic"
},
"model": {
"String": "claude-sonnet-4-5"
},
"prompt": {
"String": "You are the synthesis node after a parallel fan-in. Report VERBATIM every prior branch analysis you can see in your context/preamble. The branches emitted markers BRANCH_A_MARKER_7f3a and BRANCH_B_MARKER_91c2. If you can see those marker texts, quote them exactly. If you canNOT see any branch output text, respond with EXACTLY: NO_BRANCH_OUTPUT_IN_CONTEXT . Then list which context keys you were given."
},
"label": {
"String": "Synthesize"
},
"shape": {
"String": "tab"
}
}
},
"exit": {
"id": "exit",
"attrs": {
"shape": {
"String": "Msquare"
},
"label": {
"String": "Exit"
},
"provider": {
"String": "anthropic"
},
"model": {
"String": "claude-sonnet-4-5"
}
}
}
},
"edges": [
{
"from": "start",
"to": "fork",
"attrs": {}
},
{
"from": "fork",
"to": "a",
"attrs": {}
},
{
"from": "fork",
"to": "b",
"attrs": {}
},
{
"from": "a",
"to": "merge",
"attrs": {}
},
{
"from": "b",
"to": "merge",
"attrs": {}
},
{
"from": "merge",
"to": "synth",
"attrs": {}
},
{
"from": "synth",
"to": "exit",
"attrs": {}
}
],
"attrs": {
"model_stylesheet": {
"String": "* { model: claude-sonnet-4-5; }"
},
"rankdir": {
"String": "LR"
},
"goal": {
"String": "Repro: does the synth/merge node see branch outputs?"
}
}
},
"graph_source": "digraph EnsembleBug {\n graph [ goal=\"Repro: does the synth/merge node see branch outputs?\",\n rankdir=LR,\n model_stylesheet=\"* { model: claude-sonnet-4-5; }\" ]\n start [shape=Mdiamond, label=\"Start\"]\n exit [shape=Msquare, label=\"Exit\"]\n fork [shape=component, label=\"Fan Out\", join_policy=\"wait_all\"]\n a [shape=tab, label=\"A\", prompt=\"Output EXACTLY this and nothing else: BRANCH_A_MARKER_7f3a: apples are red.\"]\n b [shape=tab, label=\"B\", prompt=\"Output EXACTLY this and nothing else: BRANCH_B_MARKER_91c2: oranges are orange.\"]\n merge [shape=tripleoctagon, label=\"Merge\"]\n synth [shape=tab, label=\"Synthesize\", prompt=\"You are the synthesis node after a parallel fan-in. Report VERBATIM every prior branch analysis you can see in your context/preamble. The branches emitted markers BRANCH_A_MARKER_7f3a and BRANCH_B_MARKER_91c2. If you can see those marker texts, quote them exactly. If you canNOT see any branch output text, respond with EXACTLY: NO_BRANCH_OUTPUT_IN_CONTEXT . Then list which context keys you were given.\"]\n start -> fork\n fork -> a\n fork -> b\n a -> merge\n b -> merge\n merge -> synth -> exit\n}\n",
"workflow_slug": "ensemblebug",
"source_directory": "/Users/bhelmkamp/p/fabro-sh/fabro-3",
"labels": {
"repro": "issue-490"
},
"provenance": {
"server": {
"version": "0.287.0-nightly.0"
},
"client": {
"user_agent": "fabro-cli/0.253.0-nightly.0",
"name": "fabro-cli",
"version": "0.253.0-nightly.0"
},
"subject": {
"kind": "user",
"identity": {
"issuer": "https://github.com",
"subject": "19"
},
"login": "brynary",
"auth_method": "github",
"avatar_url": "https://avatars.githubusercontent.com/u/19?v=4"
}
},
"manifest_blob": "24faa13d477403721b33add725c652c4cced6211030b53b8d79f9106dec510ae",
"definition_blob": "f17945757eea113a617da5cf749fc0a9943b967a1d74ddd211919563d0ca7969",
"git": {
"origin_url": "https://github.com/fabro-sh/fabro",
"branch": "main",
"sha": "c5dd5772d0ca124187dfdd38d72c8ff1a49efd5f",
"dirty": "clean",
"push_outcome": {
"type": "not_attempted"
}
}
},
"web_url": "https://fabro-testing.walleye-rainbow.ts.net/runs/01KX148ZAMMJRAADHK1HBF7PC3",
"start": {
"start_time": "2026-07-08T15:07:06.493357143Z",
"run_branch": "fabro/run/01KX148ZAMMJRAADHK1HBF7PC3",
"base_sha": "c5dd5772d0ca124187dfdd38d72c8ff1a49efd5f"
},
"status": {
"kind": "running"
},
"status_updated_at": "2026-07-08T15:07:06.493388133Z",
"last_event_at": "2026-07-08T15:07:42.318808758Z",
"pending_control": null,
"checkpoints": [
{
"seq": 20,
"checkpoint": {
"timestamp": "2026-07-08T15:07:08.314302119Z",
"current_node": "start",
"completed_nodes": [
"start"
],
"node_retries": {},
"context_values": {
"graph.rankdir": "LR",
"failure_class": "",
"graph.model_stylesheet": "* { model: claude-sonnet-4-5; }",
"internal.retry_count.start": 0,
"internal.node_visit_count": 1,
"internal.fidelity": "compact",
"graph.goal": "Repro: does the synth/merge node see branch outputs?",
"failure_signature": "",
"internal.work_dir": "/home/daytona/workspace/fabro",
"internal.run_id": "01KX148ZAMMJRAADHK1HBF7PC3",
"outcome": "succeeded",
"current_node": "start",
"internal.thread_id": null
},
"node_outcomes": {
"start": {
"status": "succeeded",
"usage": null
}
},
"next_node_id": "fork",
"node_visits": {
"start": 1
}
},
"diff": {}
},
{
"seq": 0,
"checkpoint": {
"timestamp": "2026-07-08T15:07:42.343955440Z",
"current_node": "fork",
"completed_nodes": [
"start",
"fork"
],
"node_retries": {},
"context_values": {
"internal.run_id": "01KX148ZAMMJRAADHK1HBF7PC3",
"failure_signature": "",
"internal.thread_id": "start",
"graph.model_stylesheet": "* { model: claude-sonnet-4-5; }",
"parallel.results": [
{
"id": "a",
"status": "succeeded",
"head_sha": "379d13d4f7218e30c9ec925d730f40194c63616b"
},
{
"id": "b",
"status": "succeeded",
"head_sha": "8ee19a3b6be176881b7063c1340d26477c997742"
}
],
"internal.retry_count.start": 0,
"internal.fidelity": "compact",
"internal.node_visit_count": 1,
"internal.work_dir": "/home/daytona/workspace/fabro",
"failure_class": "",
"thread.start.current_node": "fork",
"graph.goal": "Repro: does the synth/merge node see branch outputs?",
"internal.retry_count.fork": 0,
"graph.rankdir": "LR",
"parallel.branch_count": 2,
"outcome": "succeeded",
"current_node": "fork"
},
"node_outcomes": {
"start": {
"status": "succeeded",
"usage": null
},
"fork": {
"status": "succeeded",
"jump_to_node": "merge",
"notes": "Parallel node dispatched 2 branches (2 succeeded, 0 failed)",
"usage": null
}
},
"next_node_id": "merge",
"node_visits": {
"start": 1,
"fork": 1
}
},
"diff": {}
}
],
"conclusion": null,
"sandbox": {
"kind": "ready",
"plan": {
"provider": "daytona"
},
"instance": {
"provider": "daytona",
"snapshot": "fabro-a63a9b12-e5b2-8a28-a6bb-e490731cd4b5",
"runtime": {
"id": "fabro-01KX148ZAMMJRAADHK1HBF7PC3",
"working_directory": "/home/daytona/workspace/fabro",
"repo_cloned": true,
"clone_origin_url": "https://github.com/fabro-sh/fabro",
"clone_branch": "main",
"workspace_root": "/home/daytona/workspace",
"repos_root": "/home/daytona/repos",
"primary_repo_path": "/home/daytona/repos/fabro-sh/fabro",
"primary_repo_link": "/home/daytona/workspace/fabro"
}
}
},
"pull_request": null,
"superseded_by": null,
"pending_interviews": {},
"stages": {
"start@1": {
"first_event_seq": 17,
"prompt": null,
"response": null,
"completion": {
"outcome": "succeeded",
"notes": null,
"failure_reason": null,
"timestamp": "2026-07-08T15:07:08.314186481Z"
},
"provider_used": null,
"diff": null,
"script_invocation": null,
"script_timing": null,
"parallel_results": null,
"output": null,
"started_at": "2026-07-08T15:07:08.314021958Z",
"handler": "start",
"timing": {
"wall_time_ms": 0,
"inference_time_ms": 0,
"tool_time_ms": 0,
"active_time_ms": 0
},
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"total_tokens": 0,
"reasoning_tokens": 0,
"cache_read_tokens": 0,
"cache_write_tokens": 0
},
"state": "succeeded"
},
"fork@1": {
"first_event_seq": 21,
"prompt": null,
"response": null,
"completion": null,
"provider_used": {
"mode": "prompt",
"provider": "anthropic",
"model": "claude-sonnet-4-5"
},
"diff": null,
"script_invocation": null,
"script_timing": null,
"parallel_results": null,
"output": null,
"started_at": "2026-07-08T15:07:08.314410727Z",
"handler": "parallel",
"usage": {
"input_tokens": 49,
"output_tokens": 2021,
"total_tokens": 6722,
"reasoning_tokens": 0,
"cache_read_tokens": 0,
"cache_write_tokens": 4652,
"total_usd_micros": 47907
},
"model": {
"provider": "anthropic",
"model_id": "claude-sonnet-4-5"
},
"state": "running"
}
}
}