Brief words for the two physical charter classes; copilot ceiling pinned (SP11)
CharterCompiler words OPERATE_DEVICE and OPERATE_SECURITY_DEVICE and keeps both silent while unnamed (as the two team classes of CP05 R1-3), so no existing SI's...
SI phone calls and meetings route on their own model order — kamo:voice[:light|medium|heavy] on E2 routes as chat in the VOICE_CONVERSATION slot, and Settings → SI routing lists, offers and saves the slot
Owner 2026-10-15: "Use gpt-6-sol for calls"; chat and everything else stay on their order. - ModelSelector: kamo:voice and kamo:voice:<quality> (chat only) are ...
The configure assistant — an SI member, job title, team, department or the org described in words, drafted through the config pack as the creator (KamoCollab CP10 Task 12)
ConfigureAssistant (start, answer, view, discard) and ConfigureTurn run spec §5.8.3: the pre-flight config_current as the creator, the route with the config_* t...
Config tools only when configuring an SI, and metering by usage kind (KamoCollab CP10 Task 10)
Member chat (CopilotMode.CHAT) no longer offers the Tool Plane's config_* pack; **************** lists only those for the configure assistant (CONFIGURE_AI), no...
The voices an SI not hired yet may speak with, for the hire wizard and the draft check (KamoCollab CP10 Task 4)
V1 GET /api/ai/voices/options (a person holding MANAGE_MEMBERS, MANAGE_MEMBER_SECURITY or MANAGE_AI_WORKFORCE, god counting; never an SI's own session) and its ...
The leak check, one fail-closed SI review of a draft against withheld excerpts (KamoCollab CP07 Task 14)
POST **************** (KamoAI secret only) answers {verdict: CLEAN|LEAKS|UNSURE, reason}. LeakCheckService builds a fixed, provider- and tenant-neutral prompt a...
The brief names team chat and releases only once a charter does (KamoCollab CP05 Task 8, R1-3)
CharterSnapshot.Approval reads the resolved approval's source level (absent reads DEFAULT). CharterCompiler renders no "What needs approval" line for SEND_INTER...
The brief's words for team chat, SEND_INTERNAL_MESSAGE (KamoCollab CP04 Task 12)
An SI's brief now reads "Messaging colleagues in team chat" for the new action class in its approvals and escalation sections, instead of the default arm's "Sen...
The ai_personality_renders DDL file and its contract test (KamoCollab CP06 Task 1)
An AI member's call and meeting options, beside its voices (SP92 calls)
keywordTransfer (default on), keepFullTranscript (default off) and meetingMode COMPANION | CONVERSATION (default COMPANION), in ai_member_call_options (hand-app...
The brief leads a team's purpose with the team's name (KamoCollab CP01 T17)
A TEAM PURPOSE line now reads "As a member of the {title} team: ", after the job title, like the ROLE, DEPARTMENT and JOB_TITLE leads. VERSION stays (D19): no b...
The brief names DEPARTMENT_MANAGER as the head of your department (KamoCollab CP02)
DEPARTMENT_MANAGER now routes to the department head (the org graph's departmentManagerCandidates), so the brief says "the head of your department". CharterComp...
E5 speaks the org's name and short name in the phonetic spellings the org set (SP94)
The speech model is sent the caller's input with every whole-word mention of the org's name or short name replaced by its phonetic spelling (OrgPhoneticSpeech)....
Remove the charter voice catalogue, GET /api/ai/charter/voices (SP96)
The charter no longer pins a voice: an AI member remembers one per speech model, read and chosen at **************** The charter editor's voice picker was the c...
The member voice endpoints, to read and choose an AI member's voice per speech model
SP96 Task 10 (spec §5.5): - GET **************** the router's TTS candidates for the AI (actor AI with the member; never AiCallRuntime.guard, so a paused or r...
The brief says which company the AI works for, and words a call to a colleague (SP95)
The charter profile SecurityService sends now carries orgName, the org's spoken name (short name, else display name, else legal name; SP95 D15). The brief's ide...
An org that ranks OpenAI transcription first streams STT through it, and every ticket names its session dialect (SP95)
transcription model was dropped as ADAPTER_UNSUPPORTED and every streaming STT ticket went to Kamo Speech on CPU. Each catalogue row now names the session (the ...
E5 speaks with an AI member's remembered voice, its preferred model first, and names the voice it sent
For an AI subject (the AI's own session, or the internal twin with ?memberId=) every TTS candidate is sent the voice the SP96 resolver decides, and the answerin...
Computer use is earned through Kamo's own computer_* tools by any provider (SP98 T25A)
native computer tool with a beta header and passed on any 2xx. AI members drive their workstation through the Tool Plane's computer_* tools, never a vendor's na...
An AI member's remembered voice per speech model, and the resolver that keeps or re-picks it
The ai_member_voices store (JDBC, TransientDbRetry, compare-and-set re-picks, an hourly touch, the CHOSEN upsert and the one-statement preferred flag), the memb...
A voice's gender, from its record, a curated table or its style, and vendors' genders kept by the probe
SP96 Task 7. VoiceGender {FEMALE, MALE, NEUTRAL, UNKNOWN} with a lenient parse, and VoiceGenders.of(type, model, record) applying spec 5.3 in order: the convent...
The ai_member_voices table and the charter voice-pin migration, as hand-applied SQL
SP96 Task 2. The table remembers an AI member's voice per TTS model (spec 5.1); the migration moves every charter VOICE pin to a CHOSEN, MIGRATED, preferred row...
Translation and OCR façades on the router for the Tool Plane
F1 POST /api/ai/v1/translations {text, to, from?} and F2 POST /api/ai/v1/ocr (multipart file, optional filename), SP05 spec §4.17: the caller's session, SP04's ...
Member chat uses the Tool Plane with the member's own session; MCP server admin contract fixed
Member and widget chat routed, policy-checked and metered by the router stack
Realtime relay WebSocket with single-use tickets, session cap and metering
Realtime tickets — relay tickets in Redis or OpenAI ephemeral secrets
Ephemeral secrets are minted through the gateway's shared family walk (every dialled mint metered, a rejected key marks the provider, budget alerts after the ti...
Transcription and speech façades metered in audio seconds and characters
E4 POST /api/ai/v1/audio/transcriptions and E5 POST /api/ai/v1/audio/speech, each with its internal twin, on SP01's family adapters. The WAV-header duration wal...
Embeddings on the pinned model and rerank façades
Inputs and documents reach the model in batches it accepts (TEI refuses more than its client batch of 32 with 422; a reranker's maxDocuments); malformed fields ...
POST /api/ai/agent/step with tool use, thinking replay, cache breakpoints and SSE
OpenAI-compatible chat completions with tools, images, structured output and SSE
Internal router resolve endpoint
E1 POST **************** the ordered candidates and exclusions for a capability, 424 no_capability when none, 404 org_not_found for an org that is not live (rea...
Legacy routing, /internal/text and /internal/vision on the router, with provenance
The gate's AI-member path; retire the persona outreach engine
Quiet hours convert the service clock into the contact's zone instead of relabelling it (ruling SP03-T32).
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.
