feat(binary): tool_registry + hangup tool (spec §6)

FOB-boundary dispatch for brain-proposed tool calls (ADR-0007: 'rutster
mediates both the provider call-control API and the brain tap, so the
brain never holds the wire'). Slice-3's only wired tool is hangup
(fires AppState::close → existing slice-2 teardown); other tool names
reply not_implemented.

TDD: 5 tests (dispatch known + unknown tool, catalog listing, hangup
schema shape, hangup_call fires AppState::close).
This commit is contained in:
opencode controller
2026-06-30 22:18:55 -04:00
parent a2d5e38238
commit 208251aea9
4 changed files with 211 additions and 0 deletions

1
Cargo.lock generated
View File

@@ -1182,6 +1182,7 @@ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
name = "rutster"
version = "0.0.0"
dependencies = [
"async-trait",
"axum",
"dashmap",
"futures-util",