Pin Luna's voice view before and after Task 21 sets her sex (SP96)
Sp96LunaVoiceExpectationsTest runs the resolver over production's inputs, read 2026-10-05: her migrated Eleven Flash v2.5 / Bella row and the five TTS voice lis...
SP95 T27 rulings — the AI-calls card is a team member's; its states and the administrator's read-only view
"Calls from AI team members" on one's own profile (SP95 T27)
A person's profile gains a card in its Work room: whether their organization's AI team members may phone them, and on which of their numbers. The switch turns a...
"Calls from AI team members" on one's own profile (SP95 T27)
A person's profile gains a card in its Work room: whether their organization's AI team members may phone them, and on which of their numbers. The switch turns a...
The team sub-resources (members, rights, roles) and the recalculation endpoint (KamoCollab CP01 T11)
GET|PUT **************** /rights and /roles, and POST **************** (spec §5.7). Reads are open to any session of the org; writes need CONFIGURE_SYSTEM or an...
CP02 T18 rulings CP02-T18-1..3 (legacy chat-facts removal: mediaservice test, comments, ship gate)
The wiring test no longer registers the legacy chat facts repository, which shared-lib removes (KamoCollab CP02 T18)
The CI image build compiles test sources (package -DskipTests), so this test must stop naming ChatPolicyFactsRepository before shared-lib drops it. It passes ag...
The route guard expects twelve charter URLs now that SP96 dropped the voice catalogue (SP98 T23)
e844e7f2f removed charterApi.voices and its BFF route (an AI member's voice is chosen on its profile), so the client calls 12 charter URLs; the guard's sanity f...
The route guard expects twelve charter URLs now that SP96 dropped the voice catalogue (SP98 T23)
e844e7f2f removed charterApi.voices and its BFF route (an AI member's voice is chosen on its profile), so the client calls 12 charter URLs; the guard's sanity f...
Chat member facts come only from the org graph; the legacy facts repository and its constructor are gone (KamoCollab CP02 T18)
ChatPolicySnapshotLoader loses its ChatPolicyFactsRepository constructor, the facts field, loadFacts, ancestry, managerChain, workLocationName and the str, lng ...
The hire article asks an AI's sex and its optional extension and workstation, and the AI team articles name the Voice card (SP98 T23)
SP96 shipped while these articles waited to be imported: the hire form now requires Female or Male before Create Team Member, and lets the hire leave out the ph...
The hire article asks an AI's sex and its optional extension and workstation, and the AI team articles name the Voice card (SP98 T23)
SP96 shipped while these articles waited to be imported: the hire form now requires Female or Male before Create Team Member, and lets the hire leave out the ph...
On a phone the date and its prev/today/next cluster share the toolbar without overlapping (SP98 T22)
Found live at 390px as the sp00verify owner: the app's rail leaves the toolbar about 280px, and the month title ran on under the prev/today/next cluster, so it ...
On a phone the date and its prev/today/next cluster share the toolbar without overlapping (SP98 T22)
Found live at 390px as the sp00verify owner: the app's rail leaves the toolbar about 280px, and the month title ran on under the prev/today/next cluster, so it ...
The countdown chip reads at AA on an unread row and in a producer's own colour (SP98 T22)
Found live as the sp00verify owner: on /notifications an overdue chip on an unread row read 4.32:1 (#c62828 on #e8dfe7). The chip was see-through, so the row's ...
The countdown chip reads at AA on an unread row and in a producer's own colour (SP98 T22)
Found live as the sp00verify owner: on /notifications an overdue chip on an unread row read 4.32:1 (#c62828 on #e8dfe7). The chip was see-through, so the row's ...
SP96 the AI voice card on the profile, and the charter's VOICE section without the TTS pin
An AI member's Identity room gains its voice card: one line per speech model it may use, in the order it tries them, with the voice it speaks there now and how ...
SP96 the AI voice card on the profile, and the charter's VOICE section without the TTS pin
An AI member's Identity room gains its voice card: one line per speech model it may use, in the order it tries them, with the voice it speaks there now and how ...
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...
CP02 T17 ruling CP02-T17-3 (chat snapshots read a graph loaded as they are built: orgGraphCache::fresh)
Spec 5.5.1 and the plan texts naming the chat loader's graph function (CP02 Tasks 10 and 17, CP04 Tasks 13 and 18) now say ::fresh, so a lost org-graph event co...
Build each chat snapshot from a graph loaded now, so a lost org-graph event costs one minute, not two (KamoCollab CP02 T17)
The chat policy snapshot is itself a 60 s cache of member facts. Built from OrgGraphCache.get, it could start from a graph already up to 60 s old and keep it fo...
The failed-recalculation log names the repair path as /teams/{id}/recalculate-rights
SLF4J has no brace escape, so "{{id}}" was logged literally. "{id}" is not a placeholder and prints as written; the test now pins the path an operator would typ...
TeamController — list, create, read, update and delete (KamoCollab CP01 T10)
GET|POST /api/security/teams and GET|PUT|DELETE /api/security/teams/{id} (spec §5.7). Every handler resolves the caller first (401 without an org); reads are op...
The internal DM path goes through chat policy and the AI turn guard, and every chat line says who wrote it (KamoCollab CP00 T7)
POST **************** now requires source MEMBER or SYSTEM (else 400 SOURCE_REQUIRED). A MEMBER line is checked by chat policy as a member's own send (open-then...
Find the signature editor's Save by its dictionary key, and expect an AI line's outside-calls switch (SP98 T22)
The signature editor's Save label became a dictionary key in UI sweep C, and the test still looked for the English word; it is skipped without KAMO_SHARED_LIB, ...
Find the signature editor's Save by its dictionary key, and expect an AI line's outside-calls switch (SP98 T22)
The signature editor's Save label became a dictionary key in UI sweep C, and the test still looked for the English word; it is skipped without KAMO_SHARED_LIB, ...
SP96 hire form asks an AI's sex and lets the hire leave out its phone extension or workstation; people get an optional sex; the checklist's Set up now (SP96 T18)
- AI hire: a required Female/Male select (the hire button waits for it), and Phone extension / Workstation switches, both on; the payload always sends aiPho...
SP96 hire form asks an AI's sex and lets the hire leave out its phone extension or workstation; people get an optional sex; the checklist's Set up now (SP96 T18)
- AI hire: a required Female/Male select (the hire button waits for it), and Phone extension / Workstation switches, both on; the payload always sends aiPho...
SP96 T18 rulings: people's optional sex on the create forms (owner 2026-10-04), hire form and checklist details
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.
