mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-06 08:18:58 +00:00
commit
e4c4eb857f
2 changed files with 259 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
|
||||
}
|
||||
246
run.json
Normal file
246
run.json
Normal file
|
|
@ -0,0 +1,246 @@
|
|||
{
|
||||
"title": "Exercise run file scopes with committed and uncommitted sandbox changes",
|
||||
"spec": {
|
||||
"run_id": "01KR6Y13282C35KAPQBVDF2C7Q",
|
||||
"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": {},
|
||||
"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": {
|
||||
"start": {
|
||||
"id": "start",
|
||||
"attrs": {
|
||||
"shape": {
|
||||
"String": "Mdiamond"
|
||||
},
|
||||
"label": {
|
||||
"String": "Start"
|
||||
}
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"uncommitted": {
|
||||
"id": "uncommitted",
|
||||
"attrs": {
|
||||
"timeout": {
|
||||
"Duration": {
|
||||
"secs": 360,
|
||||
"nanos": 0
|
||||
}
|
||||
},
|
||||
"label": {
|
||||
"String": "Modify committed file then sleep"
|
||||
},
|
||||
"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."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"edges": [
|
||||
{
|
||||
"from": "start",
|
||||
"to": "committed",
|
||||
"attrs": {}
|
||||
},
|
||||
{
|
||||
"from": "committed",
|
||||
"to": "uncommitted",
|
||||
"attrs": {}
|
||||
},
|
||||
{
|
||||
"from": "uncommitted",
|
||||
"to": "exit",
|
||||
"attrs": {}
|
||||
}
|
||||
],
|
||||
"attrs": {
|
||||
"goal": {
|
||||
"String": "Exercise run file scopes with committed and uncommitted sandbox changes"
|
||||
},
|
||||
"rankdir": {
|
||||
"String": "LR"
|
||||
}
|
||||
}
|
||||
},
|
||||
"workflow_slug": "run-files-live-test",
|
||||
"source_directory": "/Users/bhelmkamp/p/fabro-sh/fabro",
|
||||
"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": "4ad4f8978e355da187c9a7516c32ebde4d0a24ddd7678cd7b80a14d9f5d82611",
|
||||
"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:54:40.357779Z",
|
||||
"last_event_at": "2026-05-09T17:54:56.286153Z",
|
||||
"pending_control": null,
|
||||
"checkpoint": null,
|
||||
"checkpoints": [],
|
||||
"conclusion": null,
|
||||
"sandbox": {
|
||||
"provider": "daytona",
|
||||
"working_directory": "/home/daytona/workspace",
|
||||
"identifier": "fabro-01KR6Y13282C35KAPQBVDF2C7Q",
|
||||
"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