SP11 T3 ruling — SP02's access-log append test pins the group's start, not the enum's end
AI workstation profile, token and take-over columns
HostedComputerProfile {STANDARD, AI_WORKSTATION} (STRING, lenient parse to STANDARD); HostedComputer gains profile, ai_primary, the MCP token triple (cipher @Js...
Charter types, section catalogue, validation mirror, schedule and hours helpers, API client
SP03-T36 ruling — member BOUNDARY lock, faithful fromRRule, mirror range checks (Task 5 exempts BOUNDARY)
Client calls for watching, taking over and handing back an AI workstation
SP04 preflight — contract check, conflict scan, 18 rulings; ledger started
Aligns SP04 with SP01 as shipped (Hugging Face tool round trip, KnownModelCatalog, model-org rule, 401-only health), SP00's org_not_found rule, SP05 D5's actor ...
SP05 preflight — contract check, conflict scan, 13 rulings; ledger started
Cross-SP fixes: SP10 edited-approval key, caller headers on K6/KM1 (SP13/SP14), 503 RETRY is definitive, AI_WORK workItemId derived from the idempotency key (ca...
The media.* host no longer reaches MediaService's server-to-server endpoints
The media-route IngressRoute sends every path on a media.* host straight to MediaService, past the API gateway, so the gateway's carve-outs (master spec section...
SP03 preflight — contract check, conflict scan, 10 rulings; ledger started
SP06 final fix ruling — the task tone and Inbox note copy, and the locale drop
Hold the Inbox note and the task tone's copy to what they describe (KamoAI SP06)
The Inbox's locked note said its tasks could not be reordered while ChecklistBody lets them be dragged into a new order, and Settings -> Sounds described the ta...
A composer names its last draft only through the mailbox that holds it
The composer kept the last saved draft as {folder, uid} and sent it as replacesDraft with whatever mailboxId the From was on at the time. EmailService expunges ...
SP12-T10 ruling — delete the live coqui-tts before the push that drops it from SKIP_RE
A signature's icons do not put a paperclip on the message
"kamo Marketing teaser" listed with a paperclip and opened with nothing to download. It has no file: the two parts it carries are the 14px phone and email icons...
Hugging Face chat sends the tools and returns the tool calls
message.tool_calls, but HuggingFaceAdapter sent no tools (so tool_choice was dropped too) and never read tool_calls. Every HUGGINGFACE model therefore failed th...
A create Arive refused offers Resend at once, with Arive's reason
When the Create Loan Zap reports loan_create_failed the server keeps Arive's reason as the link's error and clears its pending clock. The header no longer spins...
A loan Kamo creates now links, and a refused one says why on the lead
Ian's Create Loan reached Arive, was refused inside the Zap, and Kamo never knew: Zapier had already answered 200, and Arive fires no new_loan for a loan made t...
Arive's loan_create_failed — the Create Loan Zap now reports a refusal
Arive fires no new_loan for a loan created through its API, so the Create Loan Zap's post-back is the only thing that can link the lead, and a refusal inside th...
SP01-T38 acceptance rulings (credential proof, new models of a sync, backfill count, Step 8, helper)
The boot backfill counts row-less-by-design models apart
Every AIService start logged 'capability rows written for 21 model(s)' though completions models no capability Kamo uses (ruling SP01-T21), so they stay row-les...
Send Arive the language CODE, not its name — every Create Loan was refused
Arive's Zapier field shows language names but its API takes ISO 639-2 codes (chi, eng, kor, spa, tgl, vie; zxx for Other). Kamo sent "English", so Arive answere...
SP02 Task 44 rulings (verification org model, 401 is WAITING, RUNTIME_ENROLL expectation, harness)
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.
