mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-08 22:21:45 +00:00
commit
6e1ba14755
2 changed files with 264 additions and 0 deletions
13
graph.fabro
Normal file
13
graph.fabro
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
digraph RunFilesLiveTest {
|
||||
graph [goal="Exercise run file scopes with committed and uncommitted sandbox changes"]
|
||||
rankdir=LR
|
||||
|
||||
start [shape=Mdiamond, label="Start"]
|
||||
exit [shape=Msquare, label="Exit"]
|
||||
|
||||
committed [label="Committed edit", prompt="Run exactly one Bash tool command: mkdir -p docs/internal && printf 'Live run files scope test\n\nInitial content from first node at %s\n' \"$(date -u +%Y-%m-%dT%H:%M:%SZ)\" > docs/internal/live-run-files-scope-tracked.md. Wait for it to return. Do not run any other commands, do not read files, and do not edit anything else. Then reply with the single word done and stop."]
|
||||
|
||||
uncommitted [label="Modify committed file then sleep", timeout="360s", prompt="Run exactly one Bash tool command with timeout_ms set to 310000 or higher: printf '\nModified by second node before sleeping at %s\n' \"$(date -u +%Y-%m-%dT%H:%M:%SZ)\" >> docs/internal/live-run-files-scope-tracked.md && sleep 300. Wait for it to return. Do not run any other commands, do not read files, and do not edit anything else. Then reply with the single word done and stop."]
|
||||
|
||||
start -> committed -> uncommitted -> exit
|
||||
}
|
||||
251
run.json
Normal file
251
run.json
Normal file
|
|
@ -0,0 +1,251 @@
|
|||
{
|
||||
"title": "Exercise run file scopes with committed and uncommitted sandbox changes",
|
||||
"spec": {
|
||||
"run_id": "01KR6XA5QV0EREBTSCY9JV6RVE",
|
||||
"settings": {
|
||||
"project": {
|
||||
"name": null,
|
||||
"description": null,
|
||||
"metadata": {}
|
||||
},
|
||||
"workflow": {
|
||||
"name": null,
|
||||
"description": null,
|
||||
"graph": "workflow.fabro",
|
||||
"metadata": {}
|
||||
},
|
||||
"run": {
|
||||
"goal": {
|
||||
"type": "inline",
|
||||
"value": "Exercise run file scopes with committed and uncommitted sandbox changes"
|
||||
},
|
||||
"working_dir": null,
|
||||
"metadata": {
|
||||
"live_test": "run_files_scope_tracked"
|
||||
},
|
||||
"inputs": {},
|
||||
"model": {
|
||||
"provider": "anthropic",
|
||||
"name": "claude-sonnet-4-6",
|
||||
"fallbacks": []
|
||||
},
|
||||
"git": {
|
||||
"author": null
|
||||
},
|
||||
"prepare": {
|
||||
"commands": [],
|
||||
"timeout_ms": 300000
|
||||
},
|
||||
"execution": {
|
||||
"mode": "normal",
|
||||
"approval": "prompt"
|
||||
},
|
||||
"checkpoint": {
|
||||
"exclude_globs": []
|
||||
},
|
||||
"sandbox": {
|
||||
"provider": "daytona",
|
||||
"preserve": true,
|
||||
"stop_on_terminal": true,
|
||||
"devcontainer": false,
|
||||
"env": {},
|
||||
"docker": {
|
||||
"image": "buildpack-deps:noble",
|
||||
"network_mode": null,
|
||||
"memory_limit": 4000000000,
|
||||
"cpu_quota": 200000,
|
||||
"env_vars": {},
|
||||
"skip_clone": false
|
||||
},
|
||||
"daytona": {
|
||||
"auto_stop_interval": 30,
|
||||
"labels": {
|
||||
"repo": "fabro-sh/fabro"
|
||||
},
|
||||
"snapshot": {
|
||||
"name": "fabro-v8",
|
||||
"cpu": 8,
|
||||
"memory_gb": 16,
|
||||
"disk_gb": 20,
|
||||
"dockerfile": {
|
||||
"type": "inline",
|
||||
"value": "FROM ubuntu:24.04\n\nRUN apt-get update && apt-get install -y --no-install-recommends curl git ca-certificates build-essential pkg-config libssl-dev unzip python3 && rm -rf /var/lib/apt/lists/*\n\n# GitHub CLI\nRUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg && echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main\" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null && apt-get update && apt-get install -y --no-install-recommends gh && rm -rf /var/lib/apt/lists/*\n\n# Rust\nRUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\nENV PATH=\"/root/.cargo/bin:${PATH}\"\nRUN rustup toolchain install nightly-2026-04-14 --profile minimal --component clippy,rustfmt\nRUN cargo install cargo-nextest --locked\nENV CARGO_INCREMENTAL=0\n\n# Bun\nRUN curl -fsSL https://bun.sh/install | bash\nENV PATH=\"/root/.bun/bin:${PATH}\"\n\nWORKDIR /root\n"
|
||||
}
|
||||
},
|
||||
"network": null,
|
||||
"skip_clone": false
|
||||
}
|
||||
},
|
||||
"notifications": {},
|
||||
"interviews": {
|
||||
"provider": null,
|
||||
"slack": null
|
||||
},
|
||||
"agent": {
|
||||
"permissions": null,
|
||||
"mcps": {}
|
||||
},
|
||||
"hooks": [],
|
||||
"scm": {
|
||||
"provider": null,
|
||||
"owner": null,
|
||||
"repository": null,
|
||||
"github": null
|
||||
},
|
||||
"pull_request": {
|
||||
"enabled": true,
|
||||
"draft": false,
|
||||
"auto_merge": false,
|
||||
"merge_strategy": "squash"
|
||||
},
|
||||
"artifacts": {
|
||||
"include": []
|
||||
},
|
||||
"integrations": {
|
||||
"github": {
|
||||
"permissions": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"graph": {
|
||||
"name": "RunFilesLiveTest",
|
||||
"nodes": {
|
||||
"uncommitted": {
|
||||
"id": "uncommitted",
|
||||
"attrs": {
|
||||
"label": {
|
||||
"String": "Modify committed file then sleep"
|
||||
},
|
||||
"timeout": {
|
||||
"Duration": {
|
||||
"secs": 360,
|
||||
"nanos": 0
|
||||
}
|
||||
},
|
||||
"prompt": {
|
||||
"String": "Run exactly one Bash tool command with timeout_ms set to 310000 or higher: printf '\nModified by second node before sleeping at %s\n' \"$(date -u +%Y-%m-%dT%H:%M:%SZ)\" >> docs/internal/live-run-files-scope-tracked.md && sleep 300. Wait for it to return. Do not run any other commands, do not read files, and do not edit anything else. Then reply with the single word done and stop."
|
||||
}
|
||||
}
|
||||
},
|
||||
"exit": {
|
||||
"id": "exit",
|
||||
"attrs": {
|
||||
"label": {
|
||||
"String": "Exit"
|
||||
},
|
||||
"shape": {
|
||||
"String": "Msquare"
|
||||
}
|
||||
}
|
||||
},
|
||||
"committed": {
|
||||
"id": "committed",
|
||||
"attrs": {
|
||||
"prompt": {
|
||||
"String": "Run exactly one Bash tool command: mkdir -p docs/internal && printf 'Live run files scope test\n\nInitial content from first node at %s\n' \"$(date -u +%Y-%m-%dT%H:%M:%SZ)\" > docs/internal/live-run-files-scope-tracked.md. Wait for it to return. Do not run any other commands, do not read files, and do not edit anything else. Then reply with the single word done and stop."
|
||||
},
|
||||
"label": {
|
||||
"String": "Committed edit"
|
||||
}
|
||||
}
|
||||
},
|
||||
"start": {
|
||||
"id": "start",
|
||||
"attrs": {
|
||||
"label": {
|
||||
"String": "Start"
|
||||
},
|
||||
"shape": {
|
||||
"String": "Mdiamond"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"edges": [
|
||||
{
|
||||
"from": "start",
|
||||
"to": "committed",
|
||||
"attrs": {}
|
||||
},
|
||||
{
|
||||
"from": "committed",
|
||||
"to": "uncommitted",
|
||||
"attrs": {}
|
||||
},
|
||||
{
|
||||
"from": "uncommitted",
|
||||
"to": "exit",
|
||||
"attrs": {}
|
||||
}
|
||||
],
|
||||
"attrs": {
|
||||
"rankdir": {
|
||||
"String": "LR"
|
||||
},
|
||||
"goal": {
|
||||
"String": "Exercise run file scopes with committed and uncommitted sandbox changes"
|
||||
}
|
||||
}
|
||||
},
|
||||
"workflow_slug": "run-files-live-test",
|
||||
"source_directory": "/Users/bhelmkamp/p/fabro-sh/fabro",
|
||||
"labels": {
|
||||
"live_test": "run_files_scope_tracked"
|
||||
},
|
||||
"provenance": {
|
||||
"server": {
|
||||
"version": "0.228.0-nightly.0"
|
||||
},
|
||||
"client": {
|
||||
"user_agent": "fabro-cli/0.228.0-nightly.0",
|
||||
"name": "fabro-cli",
|
||||
"version": "0.228.0-nightly.0"
|
||||
},
|
||||
"subject": {
|
||||
"kind": "user",
|
||||
"identity": {
|
||||
"issuer": "https://github.com",
|
||||
"subject": "19"
|
||||
},
|
||||
"login": "brynary",
|
||||
"auth_method": "github"
|
||||
}
|
||||
},
|
||||
"manifest_blob": "a3c5d99ab43e1e4441ad64a1c7c07029c2aecfc443dfb4d9b889233c5816651a",
|
||||
"definition_blob": "5bc136c6945fed141c56771ac5ff17c8b5ed2858af667f997a0cde23a3d286d2",
|
||||
"git": {
|
||||
"origin_url": "https://github.com/fabro-sh/fabro",
|
||||
"branch": "main",
|
||||
"sha": "8b7d5bd16c746cb1d60b31af6ff8381523d5c3d6",
|
||||
"dirty": "dirty",
|
||||
"push_outcome": {
|
||||
"type": "not_attempted"
|
||||
}
|
||||
}
|
||||
},
|
||||
"graph_source": "digraph RunFilesLiveTest {\n graph [goal=\"Exercise run file scopes with committed and uncommitted sandbox changes\"]\n rankdir=LR\n\n start [shape=Mdiamond, label=\"Start\"]\n exit [shape=Msquare, label=\"Exit\"]\n\n committed [label=\"Committed edit\", prompt=\"Run exactly one Bash tool command: mkdir -p docs/internal && printf 'Live run files scope test\\n\\nInitial content from first node at %s\\n' \\\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\\\" > docs/internal/live-run-files-scope-tracked.md. Wait for it to return. Do not run any other commands, do not read files, and do not edit anything else. Then reply with the single word done and stop.\"]\n\n uncommitted [label=\"Modify committed file then sleep\", timeout=\"360s\", prompt=\"Run exactly one Bash tool command with timeout_ms set to 310000 or higher: printf '\\nModified by second node before sleeping at %s\\n' \\\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\\\" >> docs/internal/live-run-files-scope-tracked.md && sleep 300. Wait for it to return. Do not run any other commands, do not read files, and do not edit anything else. Then reply with the single word done and stop.\"]\n\n start -> committed -> uncommitted -> exit\n}\n",
|
||||
"start": null,
|
||||
"status": {
|
||||
"kind": "starting"
|
||||
},
|
||||
"status_updated_at": "2026-05-09T17:42:09.451315Z",
|
||||
"last_event_at": "2026-05-09T17:42:23.059655Z",
|
||||
"pending_control": null,
|
||||
"checkpoint": null,
|
||||
"checkpoints": [],
|
||||
"conclusion": null,
|
||||
"sandbox": {
|
||||
"provider": "daytona",
|
||||
"working_directory": "/home/daytona/workspace",
|
||||
"identifier": "fabro-01KR6XA5QV0EREBTSCY9JV6RVE",
|
||||
"repo_cloned": true,
|
||||
"clone_origin_url": "https://github.com/fabro-sh/fabro",
|
||||
"clone_branch": "main"
|
||||
},
|
||||
"final_patch": null,
|
||||
"pull_request": null,
|
||||
"superseded_by": null,
|
||||
"pending_interviews": {},
|
||||
"stages": {}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue