The vendor and product questions move off the field's border
A member reported "Description" on Create New Vendor (Settings → Client Relations Manager → Vendors & Products) with the field's border running through it: an M...
Settings → Phone → Do not block, next to Do not contact
Owner 2026-10-15: "remove it and add it to a do-not-block list". The organization's own numbers and staff lines, which the do-not-contact list never blocks and ...
Hexhead side corners are no longer cut off
The hexagon's side points sit on the 0-100 viewBox edge while its flat top and bottom have 6.7 units to spare, so the clipping SVG shaved half the outline and t...
The keys tip on the tour card always shows in full
The "Tip: use the arrow keys to move" line shared the button row with Back and the primary button. A long label such as "Next tour: Service Work" left it no roo...
CP-D105 — the No Insubordination Rule: a team member's direct order lends an SI their rights for that run; talk lends nothing
Owner ruling 2026-10-15, refined the same day. Trigger, scope (one delegation point, order-scoped ***, SI floor and own denials kept, no transitive lending), CP...
The do-not-contact screens read clearly to everyone — "Call anyway" and the history's Removed chips in the error colour (warning failed contrast), spinners named, the removal sentence names the channel as written
Follows 35421d4d. Found by the component-harness screenshots and axe (color-contrast on the warning-coloured text button and chip; aria-progressbar-name on the ...
A run's tool calls say when the SI acted on a teammate's order, and with which of their rights
The No Insubordination Rule (owner 2026-10-15): a tool call an SI made on a teammate's direct order carries the order's basis, the teammate and the rights they ...
Settings → Phone → Do not contact, and the softphone warns before calling a listed number
Owner 2026-10-15: one company-wide do-not-contact list per organization, scoped per channel. - Settings → Phone → Do not contact (MANAGE_VOIP_SETTINGS, setting...
SI routing shows what SIs use now — the effective model per kind of work and whether the org's order or the automatic default chose it; for speech-to-text, the model on phone calls and in meetings, streamed or per sentence, with the automatic accuracy-ranking hint
Owner 2026-10-15: "If a model is added and enabled to the SI Providers that supports speech to text, it should use the best one." Reads AIService's effective / ...
SI routing shows "Phone calls and meetings" — the VOICE_CONVERSATION slot's own model order, with a hint that names its fallback order
Owner 2026-10-15: SI phone calls on their own model order, chat unchanged. routingApi mirrors shared-lib AiRoutingSlot (ROUTING_SLOTS) and the slot entry's kind...
A member may let SI colleagues greet them with the short form on internal calls
SI call disclosure, owner decision 11 (2026-10-15): the SI colleagues card on the member's own profile (Work room) gets "Short greeting on calls with SI team me...
An edit that changes nothing cannot be saved
Opening an event and pressing Save without touching anything rewrote it — and, for a meeting with guests, could ask whether to tell them about a change that did...
An add the server moved to another chat opens in its own window
Adding somebody to a conversation that already has messages no longer grows that room (MediaService now moves the add to the chat for the new set of people). Op...
A meeting in a message — add it once, and see what its organiser changed
The strip that said "Not on your calendar" and nothing else becomes the meeting's card: a date tile, the time in the member's zone with the organiser's own cloc...
Explain Confidential, Record a decision and Disclosure history to a first-time member, and give all three a premium dialog
Each tool now opens with a plain-words, three-step guide the first time a member uses it (remembered per member on the server via the UI-preference map, key fea...
Speak your message, hands-free conversation and read replies aloud in every chat window
The public web chat's voice — dictation, replies read aloud, and a hands-free loop — now runs in every chat-style tool window: member chat (including chats with...
The editor offers JOIN_MEETING, so an organization can set its own rule for an SI joining meetings
Owner 2026-10-14: joining one of the organization's meetings is its own action class (shared-lib 2d2f2efd), not PLACE_CALL. ACTION_CLASSES lists it after the tw...
Picking a non-default alias domain From no longer fails the send
Every alias-domain row in the From picker is the member's primary mailbox under another domain, but only the default one was mapped to a primary From. Any other...
Typed remote-monitoring client and the pure progress, limit and refusal rules
Mirror the three remote-monitoring rights and gate the RPM_ALERT kind
Mirror the honest default Live Support welcome
Matches kamo-shared-library a82f3c78: the team is notified only once the visitor sends a message, so the default no longer says someone will be with them shortl...
Send the chosen From even when it is the primary row
The default org alias domain (kamouniverse.com) is offered in the From picker as the member's primary, and the composer left any primary From off the request. W...
The lit Settings row follows the page's own tab
The rail lit the row the member last clicked, so switching tabs inside a settings page (Docs -> General from the page's tab strip) left the light on the old row...
Label nav and settings entries "Devices (IoT)" (owner, master R5) [skip ci]
Task 16 ledger completeness (both test orgs) and Task 17 Luna untouched
Task 16 (A15): sp00verify complete (gatedCalls 74 = eventsMatched 74; outsideToolPlane ESCALATE 12, SEND 7; 51 SI chat lines paired 1:1 with their events, 44 To...
Reopening a field shows the settings just saved
The stack's sorted field list was memoized on each field's id and order only, so a change from Save Field (Display on Intake, title, required…) never rebuilt it...
SP00 adopted-deviation rows (master §10 D8-D12, KamoAI §11 D4) and the execution ledger (IoT SP00)
The eight IoT kinds — gated like EmailService with the owner rule, one order, their own marks (IoT SP00)
The /api/iot BFF route; a guard that every notification kind has its label and hint (IoT SP00)
IotRights.ts, the browser mirror of IotRights, parity-checked against the Java set (IoT SP00)
The IoT Devices rights mirrored, their tree, and the IoT Devices permission group (IoT SP00)
TOUR_PENDING lets an app group exist before its tour ships; IOT until IoT SP05 (master SP05-D7)
IoT Devices in the app mirrors, Organization.isIot and its app icon (IoT SP00)
Sp00verify lane part 2 (T4 step 5, T9, T11, T12, T13): rulings and acceptance rows
A3 PASS (live reply a model limit), A5, A8 (Lab 2 + step 5 in sp00verify), A10, A12, A13 PASS; A4 row from the Lab 2 lane's T6; A11 NOT PASSED on one criterion ...
GD alone no longer grants every right on proxy routes
ksemHasRight treated GD (god-mode ELIGIBILITY) as an all-rights bypass, so every god-eligible operator held every right on the 18 proxy routes that use it, with...
Never relay a browser-set X-God-Mode-Active
God mode is SERVER-owned. The billing and LOS proxies copied the browser's X-God-Mode-Active onto the upstream call, and BillingService treated it plus users.is...
IoT Devices program — master spec, 15 sub-project specs and plans, runbook [skip ci]
Connected-ecosystems design decided by the owner 2026-09-27: Kamo links the ecosystems an org already uses (official APIs only), per-function grants, consent-ba...
Branch Types moves to Platform Administration
Branch Types (the security models child organizations are created under, with their default security roles, apps and home screens) was a tab on every organizati...
Sp00verify lane part 1 (T3, T8, T10, T5, T7): rulings and acceptance rows
A1, A2, A7, A14 PASS; A6 PASS with an environment note; A9 FAIL -> fixed (mcpgatewayservice c44ce1f, ruling CP97-T5-1 in CP12 §7) -> PASS.
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.
