Commit graph

20 commits

Author SHA1 Message Date
Bryan Helmkamp
8bab1335c9
Merge remote-tracking branch 'origin/main' into production-web-ui 2026-04-08 14:44:35 -04:00
Bryan Helmkamp
c58b731171
feat: embed fabro spa and align interruption semantics
Move the built web bundle into an embedded fabro-spa crate so Cargo and
release builds no longer depend on Bun at build time, and preserve the
local dev override path for fast UI iteration.

At the same time, rename interview and agent-level aborted flows to
interrupted, keep cancelled for run-level shutdown, and stop reporting
skipped answers as interruptions in the run event stream.
2026-04-08 14:43:44 -04:00
Bryan Helmkamp
15ccf9aef9
plan 2026-04-08 14:43:00 -04:00
Bryan Helmkamp
fa4efd3689
test: add test plan for production web UI implementation 2026-04-08 04:28:47 -04:00
Bryan Helmkamp
c1abae86a0
plan: revise production web UI plan to fix demo get_run_status, files tab, and Playwright config 2026-04-08 04:17:54 -04:00
Bryan Helmkamp
df44aa1ad6
plan: production web UI implementation plan 2026-04-08 04:06:20 -04:00
Bryan Helmkamp
cb4f7856f6
plan 2026-04-07 23:44:44 -04:00
Bryan Helmkamp
3c9c8cabf0
refactor(artifacts): clean up stale artifact wording
Remove leftover object-backed terminology from the worker uploader,
rename the remaining scratch-fallback test to match current behavior,
and update the old artifact upload plan to reflect the current
no-fallback model.
2026-04-07 23:13:22 -04:00
Bryan Helmkamp
6839ba9e91
plan 2026-04-07 18:37:59 -04:00
Bryan Helmkamp
cf94f88791
plans 2026-04-07 17:18:42 -04:00
Bryan Helmkamp
4b8e803aa9
plans 2026-04-07 16:05:21 -04:00
Bryan Helmkamp
518e27260d
plans 2026-04-07 16:05:11 -04:00
Bryan Helmkamp
d3de014723
plans 2026-04-07 10:30:40 -04:00
Bryan Helmkamp
48a5d4cc58
plan 2026-04-06 10:43:41 -04:00
Bryan Helmkamp
f444fc783a
plans 2026-04-06 10:17:30 -04:00
Bryan Helmkamp
d07850cb7f
plan 2026-04-05 11:03:02 -04:00
Bryan Helmkamp
2af2ff0068
refactor(cli): route run state through the shared server daemon
Move durable run access and execution control onto the server-backed client,
canonicalize run APIs under /api/v1/runs, and switch CLI integration tests
to a shared test daemon/storage model with shared-state-safe assertions.
2026-04-05 00:15:33 -04:00
Bryan Helmkamp
6c9877cc73
refactor: simplify run event representation 2026-04-04 12:59:42 -04:00
Bryan Helmkamp
9ea5c9f052
docs 2026-04-03 06:45:25 -07:00
Bryan Helmkamp
4afe95c575
Add server daemon management with Unix socket support
Transform `fabro server` from foreground-only TCP into a proper daemon:
- `server start` launches background daemon with flock-based locking
- `server start --foreground` retains current blocking behavior
- `server stop` sends SIGTERM, waits, escalates to SIGKILL
- `server status` reports running/stopped with PID, bind, uptime (--json)
- `--bind` replaces `--host`/`--port`, supporting Unix sockets and TCP
- Default bind is `{storage_dir}/fabro.sock` (Unix socket)
- Hidden `__serve` subcommand for daemon child process lifecycle
- Graceful shutdown via SIGTERM/SIGINT signal handlers

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 10:40:19 -07:00