mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-08 22:21:45 +00:00
Stage captured artifacts in per-attempt tempdirs and persist them through an explicit artifact sink instead of writing into run scratch cache. Server-managed and test-owned runs now write directly to ArtifactStore, while CLI worker runs keep the staged upload path. The local run summary now prints durable artifact identifiers and copy hints rather than scratch-cache paths, and the run-directory docs and integration coverage were updated to match.
2.2 KiB
2.2 KiB
Run Scratch Files
This document maps the files that still live under a run scratch directory. Durable run state lives in the run store and metadata branch; scratch is mostly local runtime state and caches.
Scope:
- Scratch root:
~/.fabro/scratch/YYYYMMDD-{run_id}/ - This covers local run files only
- Persistent store keys live in
lib/crates/fabro-store/src/keys.rs - Artifact object-store keys live in
lib/crates/fabro-store/src/artifact_store.rs
There is no _init.json anymore. Run existence in the database is determined by stored run events, and local scratch directories are managed separately under scratch/.
Root-Level Files
| File | Purpose | Source |
|---|---|---|
workflow_bundle.json |
Bundled workflow input used by start to restore workflow_path and bundled child workflows/files |
Written during create from the resolved workflow bundle |
run.pid |
Legacy detached-run pid file from older runs | Legacy only; current flows do not rely on it |
Local-Only Directories
These paths are local runtime state, not canonical event projections.
| Path | Purpose |
|---|---|
worktree/ |
Git worktree used by checkpointed runs |
runtime/blobs/ |
Materialized local blob payloads for file-backed fabro+blob:// references |
runtime/worker.stderr.log |
Server-managed worker stderr capture |
nodes/{manager_node}_{visit}/child/ |
Nested scratch root for manager-loop child workflows |
Reconstructed / Exported Files
These names are still real, but they are no longer live scratch files by default:
- Metadata branch files such as
run.json,start.json,checkpoint.json, andretro.json fabro store dumpexports such asrun.json,start.json,status.json,checkpoint.json,conclusion.json,retro.json,events.jsonl, and per-node prompt/response/status/stdout/stderr files- Retro-agent temp uploads named
progress.jsonl,checkpoint.json,run.json, andstart.jsoninside the retro sandbox
Notes
- Artifact binaries are no longer stored in the SlateDB keyspace. They live in
ArtifactStore; the run scratch tree only contains local cached copies when a workflow stage writes them to disk. - Final diffs for checkpointed runs are projected from the run store; they are no longer written as scratch files.