Configurable tracking links, member links and a tracking script for other sites
- Marketing → Tracking Codes → Link settings (new page, MANAGE_REFERRAL_CODES): switch standard pages off, add the org's own links, and name the marketing sit...
Record each side of a channel beside its mix
Owner 2026-11-06: "any time you have separate audio channels, make sure the transcripts leverage that so it can additionally say who is speaking." Every recorde...
Version History, Test Before Saving and Role Templates for job descriptions (SIE6)
- Version History drawer on every job description editor (SI, organization, role, department, job title, team, persona): timeline with who/when/how, per-secti...
Customer thread and handoff entities (SIE7)
ai_customer_touch (one line of a customer's conversation thread across channels, keyed by a hash of each CP07 identity) and ai_handoff (an SI's conversation han...
The SI Command Center and the one searchable Activity Trail
SIE4. The Workforce hub opens on the Command Center: four live figures (working now, waiting on people, problems today, spend this week) and a card per SI with ...
Transcripts as timed turns that say who spoke and play from that moment
Owner report 2026-11-06. One shared view, CallTranscriptTurns, for every place that reads a recording's transcript: the Call Log's transcript panel, the Media P...
Version history for job descriptions and personalities, one-click restore, SI Role Templates (SIE6)
- charter_revisions: every save of an org, role, department, job title, team or member charter is a version (who, when, how, per-section counts), recorded by ...
SI Status — every SI path's health, incidents with Acknowledge, and who is on call (SIE1)
/settings/ai?tab=si-status: a hero that answers "is everything working?" in the status's colour (animated, reduced motion honoured), a card per SI path (phone c...
My Profile email signature card (UPDATE_OWN_SIGNATURE)
A member chooses which details their own signature prints, or returns to the company default. Read-only without the right; the server (EmailService /api/email/m...
Members choose which details their signature prints (UPDATE_OWN_SIGNATURE)
/api/email/member-signature GET/PUT/DELETE; the composer narrows the org's USER-scope toggles with the sender's own choices (never the settings editor's explici...
CharterRevision and SiRoleTemplate entities for job description history and SI Role Templates (SIE6)
Declared so KamoInitializer can recreate charter_revisions (append-only version history of every charter layer) and si_role_templates (an organization's own SI ...
Administrator templates grant UPDATE_OWN_SIGNATURE
Team Members get it from TEAM_MEMBER_ROLE_DEFAULT_GRANTS (shared library); grant-all Administrator roles get it on the rights sync, and the Administrator templa...
UPDATE_OWN_SIGNATURE (696), on for Team Members by default
A member's own say over which details their email signature prints. Standalone root; Team Members role default via **************** Taxonomy counts move (441 / ...
Serve a recording's transcript as timed turns
The recording metadata the Media Player and the Call Log read now carries transcriptTurns (each turn's start, end, text and speaker: one of our members by id, t...
Recordings keep their transcript as timed turns with speakers
RECORDINGS.TRANSCRIPT_TURNS (TEXT, nullable; DDL applied by hand 2026-11-06) holds the transcript as timed turns, each naming who spoke when it is known. The pl...
Org and member landing links for tracking codes
GET **************** returns the org's link configuration and the caller's own extra links; PUT /links/org (MANAGE_REFERRAL_CODES) and PUT /links/me (VIEW_REFER...
SI infrastructure alerts, and LiveKit alerts page the SI on-call people (SIE1)
**************** (applied by hand, restarts nothing): a blackbox Probe of jicofo, prosody, the meeting ear, FreePBX's console, the Tool Plane, aiservice and kam...
One policy decision point for every SI channel, with one explainable decision record (SIE2)
PolicyDecisionPoint answers every authorization question the Tool Plane pipeline asks, in the same order: visibility + rights floor, No Insubordination order an...
The Live Changes pane shows the newest ten
Still loads thirty, so the Features and Fixes tabs have ten of their own to show; a live arrival pushes the oldest off the pane. Everything older is on /changel...
SI incidents, on-call roster and settings, health samples entities (SIE1)
The five SIE1 tables (si_incidents, si_incident_events, si_oncall_members, si_oncall_settings, si_health_samples) declared so KamoInitializer can recreate them....
Live Changes — the launchpad widget and the /changelog page
Every change the platform ships, live: new entries slide in the second they are sent, each badge fills as CI reports the build and the deploy, and a push lands ...
No client may SEND to /topic/platform/changelog
Live Changes is broadcast to every session; a forged frame would put a change that never happened on every launchpad at once. SecurityService is the only writer...
Live Changes — deployment tracking, live frames and the members' feed
- The push webhook records each push to main as a CommitDeployment and stamps its commits with it, then publishes the new entries on security.platform.changel...
Live Changes — commit deployments and the VIEW_LIVE_CHANGES widget rights (690-695)
CommitDeployment (COMMIT_DEPLOYMENTS) is one push to main, keyed by its head commit, and how far CI has carried it. CommitLog.deploymentHash points each entry a...
Let SecurityService read Forgejo's CI statuses for Live Changes
The Live Changes deployment tracker asks Forgejo (a host process on k1m1, port 3000) where each push is in its pipeline. avatar-resolver-egress allowed only Yug...
Allow This Site on an SI's refused fill, in the vault's Activity (TPVAULT phase 2)
Vault_list, vault_fill and vault_run_shell, fill-only by reference (TPVAULT phase 2)
The SI names an item; the Tool Plane reads the focused window and the browser's address bar from the machine itself, asks VaultService (which checks the site bi...
VaultItem.allowedHosts, the sites a supervisor approved for an SI's fills (TPVAULT phase 2)
Password Vault under Organizer (TPVAULT phase 1, with phase 3 screens)
/vault: your own vault and the vaults of SIs you supervise; items by type (sign-ins, API and SSH keys, recovery codes, authenticator keys, Wi-Fi, computer sign-...
Password Vault relay and 5-minute re-confirm; attempt limit on the hosted-computer password confirm (TPVAULT)
/api/security/vault/** resolves the session, refuses impersonation, computes the re-confirm freshness on every request (the KREAUTH password marker within 5 min...
VAULT_RECONFIRM_CODE canonical email for members without a password (TPVAULT)
Password Vault entities and VAULT_* access-log events (TPVAULT)
Seven tables for the Password Vault (vaults, items, encrypted fields, an append-only access log, shares, emergency requests, known devices), declared here so Ka...
A Call Log page under Call / Text
Every call the member made or took and the calls of everyone below them on the reporting line (VOIPService GET /api/voip/calls/log decides the rows). Rows show ...
View Floor Reports opens the scoreboard and the manager panes
Mirrors VIEW_FLOOR_REPORTS (675) and lets it open the Leads > Scoreboard row and page and the Floor Pulse, Speed-to-Lead Report, Funnel by Lead Source and Coach...
Seed View Floor Reports to administrators and floor managers
VIEW_FLOOR_REPORTS (675) now opens Floor Activity. On the boot that introduces it, RoleRightsSyncService grants it wherever CONFIGURE_SYSTEM (an organization's ...
A Call Log for the member and their reporting line
GET /api/voip/calls/log reads PHONE_CALL_LOG by the indexed time range of the members in view (self + everyone below on the manager field, the owner sees all, t...
View Floor Reports (675) opens Floor Activity
Floor reports are their own security right (owner, 2026-11-06). VIEW_FLOOR_REPORTS is a standalone CRM root taken from the calling workspace's reservation (676-...
Rke2-unwedge, a watchdog for the rke2 log-pipe deadlock
The 2026-09-28 and 2026-10-25 platform outages were the same deadlock: rke2 loses its lease, its ExecStopPost kills containerd, nobody reads the container log F...
Alert on node link drops and speed fallback, routed to sysadmin email
The LAN switch shared by k1m1 eno49 and k3m1 eno49 has been resetting since 2026-10-29 (hundreds of carrier drops, 66 of 70 drop minutes shared by both nodes, k...
Narrow rights for Saved Texts and the mortgage automation switches
MANAGE_SAVED_TEXTS opens Phone settings at the Saved Texts tab alone, and MANAGE_MLOS_AUTOMATION opens a Mortgage Automation Switches tab on Commerce settings. ...
Let MANAGE_SAVED_TEXTS read and change saved texts
/api/voip/sms/text-templates accepts the narrow MANAGE_SAVED_TEXTS right beside MANAGE_VOIP_SETTINGS for its writes, and beside ACCESS_VOIP for its reads, so a ...
Let MANAGE_MLOS_AUTOMATION open the mortgage automation switches
GET and PUT **************** now accept the narrow MANAGE_MLOS_AUTOMATION right beside MANAGE_SUBSCRIPTION_SETTINGS. Every other mortgage config endpoint keeps ...
Add MANAGE_MLOS_AUTOMATION and MANAGE_SAVED_TEXTS narrow settings rights
Two standalone roots (688-689) so the mortgage Automation tab switches and the Phone Saved Texts tab can be granted without MANAGE_SUBSCRIPTION_SETTINGS or MANA...
A task notification opens My Tasks, under Organizer
The old /notes?task= address still reaches it by a 307 in kamo-internal.
Organizer in the nav, and My Tasks shows every task assigned to me
Organizer is a new primary nav option holding My Tasks, Calendar, Contacts and Notes & Checklists, each row on the gate it had as an option, with the calendar's...
The org's SI by face and personality on every floor page, and no typed voice
- Email Triage: the typed Your Voice box is gone. Who Writes Your Drafts chooses your organization's SI (its own personality) or your own SI Assistant (the vo...
An SI's personality on the AI members read, so its work can say who it is
Each /team-members/ai-members row carries personality: the archetype's title and description in force for that SI, or null. One resolve per SI, each in its own ...
Inbox tools say a draft is in the SI's own personality, or the owner's SI Assistant's voice
No more owner's voice profile: si_inbox_next carries the owner's name and placeholder, and their own SI Assistant's voice when they chose it. The parity snapsho...
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.
