Context
Today borromeanRings integrates via .claude/settings.json shell hooks that shell out to the gate. The Claude Agent SDK (Python/TS) offers in-process hooks, a canUseTool permission callback, headless/CI-native operation, session resume, and multi-provider support (Bedrock/Vertex). See findings in #70.
Scope
- Prototype the gate as an SDK-driven harness (in-process PreToolUse/PostToolUse/Stop +
canUseTool).
- Compare against the shell-hook approach on: robustness, statefulness, testability, latency/cost, CI-headless operation, portability.
- Decide: migrate, augment (SDK for CI + hooks for interactive), or stay.
Acceptance criteria
Relates to: #70, #4 (instrumentation), #54 (identity guard).
Context
Today borromeanRings integrates via
.claude/settings.jsonshell hooks that shell out to the gate. The Claude Agent SDK (Python/TS) offers in-process hooks, acanUseToolpermission callback, headless/CI-native operation, session resume, and multi-provider support (Bedrock/Vertex). See findings in #70.Scope
canUseTool).Acceptance criteria
Relates to: #70, #4 (instrumentation), #54 (identity guard).