Re-run the deploy now that kamomeet-ear carries its preStop hook (run 352 audit)
Every meeting occupant's identity is its own verified session's (mod_kamo_presence_identity)
TPMEETAUTH (owner order 2026-10-26): the SI's ear reads who each endpoint is from its presence identity. The stock presence_identity strips a client's own <iden...
In a meeting, the line's own speaker decides authority (signed-in supervisor orders, teammate asks, guest is anyone)
TPMEETAUTH (owner order 2026-10-26). kamoai-voice names the meeting line a call answers (X-Kamo-Meeting-Turn, never the model); MeetingTurns asks kamoai-service...
A meeting line a signed-in supervisor said is an order the Tool Plane may lend on (meet:<turn id>)
TPMEETAUTH (owner order 2026-10-26): in Kamo Meet a signed-in supervisor's request is their direct order (No Insubordination union). The Tool Plane verifies the...
A weak citation never hides the member's confirmation (order and approval stand-in)
Live 2026-10-27 (sp00verify, approval bc7dfe20): after KC Vera confirmed, the SI cited the unproven email it was asked in; that soft-refused and replaced both t...
A member's confirmation in Kamo is the request an outside send carries (no approval for what their rights allow)
Live 2026-10-27 (sp00verify, request db6fff36): KC Vera confirmed in Kamo and the run ran on her order, yet mail to an outside address still went to the SI's su...
Show an alias's addresses on the org's alias domains
Under each alias on the member's Email & Mailbox tab, list the same alias on the org's alias domains, and under the default sender chip, the address it actually...
An alias works on every alias domain, like the primary mailbox
The org's alias domains (org_alias_domains) already mirrored the member's primary mailbox into the composer (erik@kamocrm.com also offered as erik@kamouniverse....
Anti-impersonation guard — an unverified conversation gets only what anyone may ask until the member confirms in Kamo
Owner 2026-10-26 (TPCALLTOOLS B): someone who only CLAIMS to be a member, a supervisor or someone in authority must not get the SI to do anything harmful or tha...
Choose an alias as a member's default sender
The member's Email & Mailbox tab gains a Default sender column on the aliases table: make one alias the default, or hand it back to the primary mailbox. The co...
A member can send from an alias by default
PUT **************** chooses which alias stands in for the member's primary mailbox (null clears it). One alias per member at most carries is_default; the colum...
Calendar_create_event invites teammates by member id, so 'put it on my calendar' reaches the person who asked
Nobody may write another member's calendar (EmailService: own calendars, the org calendar with the publish right), so a union of rights cannot either. inviteMem...
AiRealismTestWindow — calls from a test extension to an SI inside a window are test calls
The SI Assistant is each member's personal assistant — confirmation cards, live steps, its own settings window and the org defaults
SITP TPASSIST (owner order 2026-10-26). - The assistant window tells AIService it shows confirmation cards, so the assistant works with every tool the member'...
Identity checks about a named message; an unproven email whose sender confirmed is their order
identity_request_confirmation takes 'about' (email:<folder>/<uid>, chat:<guid>) for a message that is not the run's own wake (a check-in handling it). An email ...
A failed confirmed action reads as the Tool Plane's sentence, never its JSON; guard the assistant beans' constructors
Live in sp00verify a confirmed send refused by the mail service came back to the chat as the refusal's JSON. The outcome now reads its message in plain words (i...
Shift reports settings tab and a person's own choice
Owner order 2026-10-26 (TPSHIFTREPORTS): no more empty clock-in/clock-out reports from SIs. - /settings/ai?tab=shift-reports (menu entry + landing card; SI work...
AssistantService names the constructor Spring uses, so new AIService pods start
8c28b82/32c04ee gave AssistantService two constructors without @Autowired; every new pod crash-looped (NoSuchMethodException AssistantService.<init>()) while th...
Background sound settings, an SI's speaking style and voice consent (voice realism VR2)
- Settings > Super Intelligence > Background sound (D7): the soft room sound callers hear under the SIs' voices, for the organization and per department, jo...
The settings read carries the archetypes' values and the personality in words
So the settings window's sliders start from the archetype the member picked, and it can show what the Personality Engine makes of the settings (TPASSIST).
The nav SI Assistant is each member's personal assistant with the member's full tool power
SITP TPASSIST (owner order 2026-10-26). The member's own assistant conversation now: - lists every Tool Plane tool the member's OWN session may use, under every...
An SI invited to a new table is told, and a sweep retakes any SI turn a frame missed
Live check (sp00verify): a table created with an SI invited published no frame, so the SI never looked and never sat. createTable now raises the turn event, and...
Every notification kind decided (BILLING_INVOICE not offered to SIs); ClockPack names its Spring constructor
NotificationsPackTest and KnowledgeAndPeoplePacksTest were red on main since shared-lib added BILLING_INVOICE. ClockPack keeps its test constructor; the one Spr...
An order may be a teammate's proven email or a request they confirmed in Kamo
The Tool Plane now verifies orders given by a teammate's own email (email:<folder>/<uid> or the wake's email:<mailbox>|<folder>|<uid>) and by a request the memb...
An SI's identity check pops up on every session: was this you?
Owner 2026-10-26: direct orders reaching an SI by phone, text, outside email, website chat or in a meeting are confirmed by the member in Kamo first. SiAuthRequ...
Audit the SI Assistant's calls as made on the member's behalf
The member's personal SI Assistant (TPASSIST) calls with the member's own session; its keys start assistant:, and such a call by a person is audited with author...
Tables for shift report settings and decisions, so KamoInitializer can recreate them
Owner order 2026-10-26 (TPSHIFTREPORTS): SI clock-in/clock-out reports become configurable per department, job title, team and member, for the sending SI and fo...
Settings waterfall, private memory and pending confirmation rows for the personal SI Assistant
Declared for KamoInitializer; aiservice created the tables by hand **************** and writes them with targeted SQL.
An SI's one wake for a member's invitation reads the names inside a transaction
Live check (sp00verify): the greeting notification failed with a LazyInitializationException walking the inviter's user outside a session, so the SI joined and ...
An internal route that runs a model capability's real probe (voice realism VR1)
POST **************** KamoAI secret only: the same live probe as the Verify button on Settings → SI providers, against the provider's own key. It never sets a v...
Verify a realtime speech-to-speech model by opening a session for it (voice realism VR1, D9)
ProbeRunner runs the new REALTIME_SESSION probe (kamo-shared-library 1438893a) for REALTIME_AUDIO: it mints a 10-minute client secret for the model on the and p...
A realtime speech-to-speech model can be verified — REALTIME_AUDIO is probed by opening a session (voice realism VR1, D9)
REALTIME_AUDIO was ATTESTED, and only platform providers can be attested, so no org's realtime model could ever be VERIFIED, and an SI is routed to VERIFIED mod...
CheddarLedger names its Spring constructor (the pod CrashLooped: no default constructor)
4b5d777's new pod could not build cheddarLedger: a second (test) constructor left Spring with no single constructor to use. The old pods kept serving. The bean ...
CheddarLedger names the constructor Spring builds it with
Two constructors and no @Autowired: Spring looked for a default one, so every MediaService pod since 4b5d777 failed to start (CrashLoopBackOff; the old pods kep...
Holdem_* - an SI plays Texas Hold'em with members
SITP TPGAMES. Twelve tools over MediaService's Hold'em endpoints, gated as a member's seat is (Hold'em app + PLAY_HOLDEM, again downstream): holdem_list_tables,...
The AI_CALL_METRICS entity, with the call's voice realism counts (VR1)
kamoai-service writes ai_call_metrics JDBC only; the entity declares every column (and the new REALISM text column, a JSON object of the call's realism counts: ...
E5 streams a sentence's audio as the model makes it, and with no order set an SI speaks with the org's best verified voice model (voice realism VR1, D1)
- E5 {"stream": true}: the audio is handed on chunk by chunk as the provider sends it (ElevenLabs **************** the candidate walk, so an empty answer st...
The call recap page, and the SI's recap options in Calls and meetings (TPRECAPS)
/ai-calls/recap/<call> is what the supervisor's recap email links to (and a PHI organization's secure link): who was on the call, when, how it went, the SI's su...
AiPersonaGeneration, the record of the personality generated for each SI
Tool-list snapshots regenerated with identity_request_confirmation after rebase
A generated personality keeps everything the SI already holds
Only an earlier generation's items, named by id and still marked as drafted, are replaced; a configure-assistant draft or a person's item stays, and a generated...
MailProvenanceService names its Spring constructor, so EmailService starts again
5cd632f gave it a second public constructor; Spring found no default one and every new pod crash-looped ("No default constructor found"), holding the deploy on ...
Identity_request_confirmation; a request the member confirmed in Kamo is their order
Owner 2026-10-26: direct orders must be authenticated. Someone who only claims to be a teammate (phone, text, unproven email, website chat, meeting) is asked, t...
Apply a generated personality to an SI's own charter, around what people set
Voice realism VR2, owner decision D2: every SI gets a unique, job-fit personality, generated from its own work. kamoai-service drafts it; this internal endpoint...
The meeting invite option narrows, default no extra limit
Owner decision 2026-10-26: the SI's own access decides who may invite it (anyone on the team when it includes meetings, else only its supervisors); this option,...
The SI's own rights decide who may invite it into a meeting
Owner decision 2026-10-26, in the one shared check (MeetSiInvitePolicy) behind the in-meeting invite, M1, meeting create and the M3 picker: - the SI's superviso...
The meeting invite option is an optional restriction, default none
Owner decision 2026-10-26: the SI's own rights decide who may invite it (any team member when they include meetings, else only its supervisors). ***************...
The SI's own rights decide who may invite it; meeting_invite_policy is only an optional restriction
Owner decision 2026-10-26: an SI whose own security policy allows meetings may be invited by any team member; one whose policy does not only by its supervisors ...
Every SI speaks by its personality, and the tables for background sound, voice consent and caller phrase memory
PhoneStyle compiles an SI's traits into spoken phone rules (contractions and address forms, warmth, humor, energy, hedging, empathy, curiosity, register, region...
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.
