From e321e38669aa009df7b368e3d7d7553c262b1403 Mon Sep 17 00:00:00 2001 From: Fabro Date: Wed, 15 Apr 2026 10:17:17 -0400 Subject: [PATCH] init run MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ⚒️ Generated with [Fabro](https://fabro.sh) --- run.json | 320 +++++++++++++++++++++++++++++++++++++++++++++++++++ sandbox.json | 5 + 2 files changed, 325 insertions(+) create mode 100644 run.json create mode 100644 sandbox.json diff --git a/run.json b/run.json new file mode 100644 index 000000000..e676b8a54 --- /dev/null +++ b/run.json @@ -0,0 +1,320 @@ +{ + "run_id": "01KP8R1FGHYXRYNNM1MSY9QRXQ", + "settings": { + "_version": 1, + "project": { + "directory": "." + }, + "workflow": { + "graph": "workflow.fabro" + }, + "run": { + "goal": "Verify the sandbox can lint and test the project", + "model": { + "provider": "anthropic", + "name": "claude-sonnet-4-6" + }, + "prepare": { + "timeout": "5m" + }, + "execution": { + "mode": "normal", + "approval": "prompt", + "retros": true + }, + "sandbox": { + "provider": "daytona", + "preserve": false, + "devcontainer": false, + "local": { + "worktree_mode": "clean" + }, + "daytona": { + "auto_stop_interval": 30, + "labels": { + "repo": "fabro-sh/fabro" + }, + "snapshot": { + "name": "fabro-v6", + "cpu": 4, + "memory": "8GB", + "disk": "20GB", + "dockerfile": "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 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" + } + } + }, + "hooks": [ + { + "id": "cargo-fmt", + "name": "cargo-fmt", + "event": "post_tool_use", + "matcher": "write_file|edit_file|apply_patch", + "blocking": true, + "script": "cargo fmt" + } + ], + "pull_request": { + "enabled": true, + "draft": false + } + }, + "cli": { + "target": { + "type": "http", + "url": "http://127.0.0.1:32276", + "tls": null + }, + "exec": { + "prevent_idle_sleep": false + }, + "output": { + "format": "text", + "verbosity": "normal" + }, + "updates": { + "check": true + } + }, + "server": { + "listen": { + "type": "tcp", + "address": "127.0.0.1:32276", + "tls": null + }, + "api": { + "url": "http://127.0.0.1:32276/api/v1" + }, + "web": { + "enabled": true, + "url": "http://127.0.0.1:32276" + }, + "auth": { + "methods": [ + "dev-token" + ] + }, + "storage": { + "root": "/Users/bhelmkamp/.fabro/storage" + }, + "artifacts": { + "provider": "local", + "prefix": "" + }, + "slatedb": { + "provider": "local", + "prefix": "", + "flush_interval": "1ms", + "disk_cache": false + }, + "scheduler": { + "max_concurrent_runs": 5 + }, + "integrations": { + "github": { + "strategy": "token" + } + } + }, + "features": { + "session_sandboxes": false + } + }, + "graph": { + "name": "Smoke", + "nodes": { + "exit": { + "id": "exit", + "attrs": { + "shape": { + "String": "Msquare" + }, + "label": { + "String": "Exit" + } + } + }, + "test_rust": { + "id": "test_rust", + "attrs": { + "shape": { + "String": "parallelogram" + }, + "script": { + "String": "ulimit -n 4096 && cargo nextest run --cargo-quiet --workspace --status-level fail 2>&1" + }, + "goal_gate": { + "Boolean": true + }, + "label": { + "String": "Test Rust" + } + } + }, + "compile_rust": { + "id": "compile_rust", + "attrs": { + "shape": { + "String": "parallelogram" + }, + "goal_gate": { + "Boolean": true + }, + "script": { + "String": "cargo check -q --workspace 2>&1" + }, + "label": { + "String": "Compile Rust" + } + } + }, + "lint_rust": { + "id": "lint_rust", + "attrs": { + "label": { + "String": "Lint Rust" + }, + "script": { + "String": "cargo +nightly fmt --check --all 2>&1 && cargo clippy -q --workspace -- -D warnings 2>&1" + }, + "shape": { + "String": "parallelogram" + }, + "goal_gate": { + "Boolean": true + } + } + }, + "compile_typescript": { + "id": "compile_typescript", + "attrs": { + "script": { + "String": "cd apps/fabro-web && bun install && bun run typecheck 2>&1" + }, + "goal_gate": { + "Boolean": true + }, + "shape": { + "String": "parallelogram" + }, + "label": { + "String": "Compile TypeScript" + } + } + }, + "test_typescript": { + "id": "test_typescript", + "attrs": { + "shape": { + "String": "parallelogram" + }, + "script": { + "String": "cd apps/fabro-web && bun test 2>&1" + }, + "label": { + "String": "Test TypeScript" + }, + "goal_gate": { + "Boolean": true + } + } + }, + "start": { + "id": "start", + "attrs": { + "label": { + "String": "Start" + }, + "shape": { + "String": "Mdiamond" + } + } + }, + "toolchain": { + "id": "toolchain", + "attrs": { + "script": { + "String": "rustc --version && cargo --version && bun --version 2>&1" + }, + "shape": { + "String": "parallelogram" + }, + "label": { + "String": "Toolchain" + }, + "goal_gate": { + "Boolean": true + } + } + } + }, + "edges": [ + { + "from": "start", + "to": "toolchain", + "attrs": {} + }, + { + "from": "toolchain", + "to": "compile_rust", + "attrs": {} + }, + { + "from": "compile_rust", + "to": "compile_typescript", + "attrs": {} + }, + { + "from": "compile_typescript", + "to": "lint_rust", + "attrs": {} + }, + { + "from": "lint_rust", + "to": "test_rust", + "attrs": {} + }, + { + "from": "test_rust", + "to": "test_typescript", + "attrs": {} + }, + { + "from": "test_typescript", + "to": "exit", + "attrs": {} + } + ], + "attrs": { + "goal": { + "String": "Verify the sandbox can lint and test the project" + }, + "rankdir": { + "String": "LR" + }, + "retry_target": { + "String": "exit" + } + } + }, + "workflow_slug": "smoke", + "working_directory": "/Users/bhelmkamp/p/fabro-sh/fabro", + "host_repo_path": "/Users/bhelmkamp/p/fabro-sh/fabro", + "repo_origin_url": "https://github.com/fabro-sh/fabro", + "base_branch": "main", + "provenance": { + "server": { + "version": "0.176.2" + }, + "client": { + "user_agent": "fabro-cli/0.176.2", + "name": "fabro-cli", + "version": "0.176.2" + }, + "subject": { + "login": "dev", + "auth_method": "dev_token" + } + }, + "manifest_blob": "1b07fba0be089beb21717da3e6ed5bd67bde8553f5a73ba9486c8549c059d15c", + "definition_blob": "694e657f282969186c899bb8985b761e1a9b6524c2d2b02bc9dc11187013ce81" +} \ No newline at end of file diff --git a/sandbox.json b/sandbox.json new file mode 100644 index 000000000..555230208 --- /dev/null +++ b/sandbox.json @@ -0,0 +1,5 @@ +{ + "provider": "daytona", + "working_directory": "/home/daytona/workspace", + "identifier": "fabro-01KP8R1FGHYXRYNNM1MSY9QRXQ" +} \ No newline at end of file