mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-01 02:04:24 +00:00
`execute_run` no longer runs a Petri run in the server process by default: it takes the subprocess path a legacy run takes, and `worker_exited` still releases the worker's lease when the process ends. The in-process path stays under the handler-registry test override, so the scenario tests need no worker binary; it now honours the managed run's execution mode. At startup, `reconcile_incomplete_runs_on_startup` hands a Petri run the previous server left in flight (runnable, starting, running, blocked or paused, with no cancel pending) back to a worker instead of failing it: `PetriRuns::release_for_restart` ends the dead worker's lease from outside, which fences it should it still be alive, the run is asked to start again as a resume (`run.start_requested` with `resume`, then `run.runnable`, the pair the API's resume appends), and the managed run is registered in resume mode when Petri's store holds the run, else in start mode. Full workspace recovery is the plan's F3.5 and is noted in the module docs. Tests: the restart reconcile releases the lease, rewrites the history, and launches the worker with `--mode resume`; a worker's HTTP store leases for its launch id over the loopback server. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| auth_sessions.rs | ||
| automations.rs | ||
| cli_auth_token.rs | ||
| compression.rs | ||
| docs.rs | ||
| environments.rs | ||
| events.rs | ||
| install.rs | ||
| install_openai_compatible.rs | ||
| mcp_servers.rs | ||
| mod.rs | ||
| petri_store.rs | ||
| routing.rs | ||
| run_files.rs | ||
| runs.rs | ||
| sandbox_vnc.rs | ||
| sessions.rs | ||
| settings.rs | ||
| system.rs | ||
| tcp.rs | ||
| variables.rs | ||