SP13 Task 5 — ruling SP13-T5 (read-only AiCallStatus.LIVE; mapping, finder and query tests)
AI call telemetry entities
AI_CALL and AI_CALL_EVENT (spec §4.2/§4.3): direction, status, outcome and event-type enums (STRING), the two entities and their repositories. AiCallStatus.LIVE...
Approvals — decision form, list, Interaction Center tab and deep-link page (SP10)
The approval form (A3/A4) with wording-only edits, the Workforce hub list, the Interaction Center Approvals tab with its A2 badge, and /workforce/approvals/<id>...
SP03 Task 25 — ruling SP03-T25 (unambiguous brief input hash, version-checked race winner, cache never throws)
SP05 Task 16 — ruling SP05-T16-build (legacy tool endpoints removed; controller-scan test; step 3 grep fixed)
Remove the execute-as-org tool endpoints now that AIService uses /mcp
/api/mcp/tools/list and /api/mcp/tools/execute answered for a whole org, which the Tool Plane forbids (D28). No deployed client could reach them (AIService call...
SP03-T15 ruling — charter write checks leave a caller's transaction committable; markers cannot hide markers
Meeting minutes contract — prompt, JSON parse, markdown and HTML rendering
Mirrors kamoai-voice's minutes.py exactly: caps and chunks count code points (no split emoji), Unicode white space is stripped, only JSON arrays are lists, text...
Write-time checks for hide markers and escalation targets
A refusal leaves a caller's transaction committable, so the member charter PUT still answers 400; a hide marker cannot target another hide marker; a malformed e...
Org MCP servers as ext_* tools over Streamable HTTP and legacy SSE; STDIO retired
A server's own words reach a caller only inside the untrusted wrap; nothing sent is definitive (D45); the URL guard runs on every use; one session and one tool ...
Svc_kamoai_voice follows the org pause and the kill switch (KamoAI SP13)
AI voice line and per-server AI voice settings entities; outbound flag on extensions
SP13 Task 26 — ruling SP13-T26 (managed sections in place, apply every pull, owed reloads, AMI redial)
Pull the PBX policy from Kamo; outbound allow-list and AI extensions as managed dial plan; AI endpoints point at LiveKit
Every POLICY_SECONDS the agent pulls GET /api/voip/pbx/config (also its heartbeat) and writes [kamo-outbound-allowed] and [kamo-ai-extensions] as a managed sect...
SP04 Task 15 — ruling SP04-T15 (plain numbers, read-only snapshot, H2 test URL)
SP14 Task 8 — ruling SP14-T8 (participantEmails compile fix, test stubbing order, controller test)
SP13 Task 24 — ruling SP13-T24 (voice job log levels, trimmed secret, conflict-free placement)
Numeric participant ids, meeting titles, AI invitees that join at the start
Place the KamoAI voice cron keys clear of SP05's and SP10's
SP05's Tool Plane jobs add their cron fields after leadLedgerReconcileCron and their ConfigMap entries after kamoai-hire-steps, and SP10's tick adds its field a...
SP13 Task 35 — ruling SP13-T35: next build skips test files; the typed mock is for the plan's tsc step
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
