mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-08 22:21:45 +00:00
- Add AppState::cached_run with the standard 500/404 mapping and use it everywhere handlers read the shared run-projection cache. This also normalizes two inconsistencies: graph-source cache errors now map to 500 (was 502), and a missing projection in PR create/unlink now maps to the canonical 404 (was a bespoke 500). - Extract an EventScan cursor shared by the four run-event scan loops, delegate list_events_from to the paginated variant, and stop the stage-event scan once its page is full instead of walking the rest of the log. - Hold Arc<RunProjection> in the local projection cache so opening a run no longer deep-copies the projection (copy-on-write via Arc::make_mut), and drop the now-unreachable shared-cache branch in last_event_seq. - Trim hot-path clones: run_files serves the projection Arc directly, run-state serializes by reference, artifacts only checks existence, and the command-log handler opens a reader only for the CAS-blob branch. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| fabro-cli | ||
| fabro-mcp-server | ||
| fabro-server | ||
| fabro-spa | ||