fabro/crates/arc-api
Bryan Helmkamp 55d44f7488 Add lifecycle hook system replacing legacy tool_hooks
Introduce a configurable hook system that triggers user-defined actions
at workflow lifecycle points (RunStart, StageStart, StageComplete,
StageFailed, EdgeSelected, CheckpointSaved, etc). Hooks can block
execution, skip nodes, or override edge routing via JSON decisions.

- New `hook/` module: types, config, executor (command), runner
- Engine instrumented at 8 lifecycle points with HookRunner calls
- TOML config: `[[hooks]]` in server.toml and run config files
- Config cascade: server hooks + run hooks merge, name collisions
  resolved by run config winning
- Remove legacy tool_hooks.pre/post from codergen handler (breaking)
- 30 e2e integration tests covering all hook events and behaviors

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 01:42:19 -05:00
..
src Add lifecycle hook system replacing legacy tool_hooks 2026-03-05 01:42:19 -05:00
tests Wrap non-paginated list endpoints in paginated response shape 2026-03-05 00:41:32 -05:00
Cargo.toml Add /, /health, /openapi.json, /user endpoints to Arc API 2026-03-04 21:10:59 -05:00