Skip to content
KAMOUniverse

Changelog

What's new.

Every improvement to the platform, as it ships.

  1. · MCPGatewayService

    Every SI gets the report tools by its rights; config_* gated by rights, not audience

    SITP TP00, owner decisions 2026-10-18: - reports_list, reports_run and metrics_get drop CP14's WATCH charter switch: an SI is offered them by VIEW_REPORTS and the Reports app, as a person is, whatever its WATCH items or its org's disclosure mode. - config_* are no longer HUMAN_ONLY: they are offered by their rights, and SecurityService's ConfigureAccess checks the same rights per subject and change. Their four rights are on the SI floor, so charters and SI configuration stay a person's in practice. - ToolVisibility reads an SI's rights less AiRightsFloor.NEVER_GRANTABLE (defence in depth): a floor right in an SI session opens no tool. Snapshots regenerated: the AUDIT/default SI lists gain exactly the three report tools; nothing else changes.

  2. · MediaService

    ?session= pins an attachment read, an edit, an unsend and a reaction to one conversation (SITP TP13)

    The Tool Plane checks a run's audience on the conversation an SI names. A message id or an attachment id alone could reach another conversation the SI also belongs to, so these four endpoints now take an optional ?session=<guid>: a message or attachment of any other conversation answers 404 before anything is read or changed. Without the parameter every endpoint answers as before.

  3. · kamo-shared-library

    An SI never signs, prescribes, orders, immunizes, breaks the glass, merges charts or bulk-exports patients

    SITP TP00, owner decision 2026-10-18: in Patient Records an SI drafts only (and may post payments behind approval). Nine EHR rights join AiRightsFloor.NEVER_GRANTABLE, so no role, template, supervisor grant or direct-order delegation can give them to an SI member.

  4. · kamo-internal

    Share devices from the device page and the Devices list through SP04's dialog; one sharing client

  5. · kamo-internal

    Settings, alarms - routing defaults per severity

  6. · kamo-internal

    The IoT Devices guided tour

  7. · kamo-internal

    The /settings/iot page - tabs, help, settings-menu topic and landing section

  8. · kamo-internal

    Settings, alarms - maintenance and design suppression, quality figures, and the tab

  9. · kamo-internal

    Settings, alarms - rules with preview and backtest, and escalation policies

  10. · kamo-internal

    /iot/shared - outgoing shares with keyset paging and safe row actions, the details drawer, and shares received

  11. · kamo-internal

    The Advanced tab marks the simulator as a test tool that cannot be enabled (SP14)

    The view gains testOnly; visibleActions never offers ENABLE for a test-only connector (the server already omits it); TEST_ONLY_PROVIDER and the four simulator test codes are known codes; the card shows a Test only chip and a one-line hint. The provider type is widened locally (IotProviderType | 'KAMO_SIMULATOR'): @kamo/iot-core is not republished for a platform-only test tool.

  12. · kamo-internal

    The automation builder - actions, save-time confirmation, webhook secrets, test and backtest

  13. · kamo-internal

    Device page - access and shared-outside sections

  14. · kamo-marketing

    DRAFT FOR COUNSEL - list the connected-device clauses on the Terms and Privacy pages (IoT SP14, T-31)

    Material change under Terms section 15: effective 30 days after this goes live. Branch iot/sp14-legal-draft only; never push before the owner says counsel approved the text and the dictionary half (iot/sp14-legal-draft) is live.

  15. · kamo-marketing

    DRAFT FOR COUNSEL - list the connected-device clauses on the Terms and Privacy pages (IoT SP14, T-31)

    Material change under Terms section 15: effective 30 days after this goes live. Branch iot/sp14-legal-draft only; never push before the owner says counsel approved the text and the dictionary half (iot/sp14-legal-draft) is live.

  16. · kamo-marketing

    Guard that the Terms and Privacy pages and their dictionary text land together (SP14)

  17. · kamo-marketing

    The generated device-compatibility page and its copy guard, closed until announced (SP14)

    The list is the live feed; the words are dictionary copy; a gap fails the next build.

  18. · kamo-marketing

    IOT_ANNOUNCED flag, the unheld-claims guard, the /features category and the capabilities group (SP14)

    Nothing is announced: the flag defaults false. The guard scans only the new IoT copy.

  19. · DaemonService

    IotCanaryJob, the five-minute IoT canary tick (IoT SP14 D7)

  20. · APIService

    GET /api/public/iot/providers, the device-compatibility feed (IoT SP14 D2)

  21. · InitializerService

    IoT Devices on every paid KamoUniverse rung and no free one (IoT SP14 D3)

  22. · kamo-shared-library

    KAMO_SIMULATOR, the 22nd provider type (test-only; SP14)

    Appended last; the client catalogue JSON keeps the 21 program types (@kamo/iot-core is unchanged).

  23. · MediaService

    An IoT alarm names its iOS notification category (SP10)

    Without aps.category iOS shows the alarm with no Acknowledge or Open buttons: the categoryId data key is only a custom property.

  24. · kamo-internal

    Share device access from tickets and Exec2Exec, the card in both, and the recipient pages (IoT SP04)

    The ticket header's action row and all three Exec2Exec header strips offer the share action (Exec2ExecHeaderActions keeps the meeting button beside it). An IOT_SHARE system event renders as IotShareCard in a ticket (SystemMessage) and in an Exec2Exec conversation (detected from the message text before a bubble is built). /shared-devices lists what was shared with the member; /shared-devices/<id> reads the share and mints ONE handoff from an effect, never during render, then leaves for kamo-iot. Neither page reads organization.isIot: a recipient need not hold the app.

  25. · kamo-internal

    The sharing client and the Share device access dialog, button and card (IoT SP04)

    The member-side of sharing (spec 4.16): app/lib/iot/sharesApi.ts is @kamo/iot-core's createSharesApi over a same-origin @kamo/net ApiClient on this app's authenticatedFetch (refusals are IotShareError with the server's code; the member's own session ending is SESSION_REQUIRED, an unreachable server NETWORK). The four-step dialog (who, what, until, review) with the password re-check, the conversation button (app + MANAGE_IOT_SHARING + no god window + S14 says there is somebody to share with) and the chat card that reads its share back before offering Open, Manage or Revoke. A custom end is a wall time in the member's profile zone (the tasks' dueInstantFromInput) and every "until" is rendered with useFormatters, so the server-timestamp guard holds. The alias "iot" is reserved locally. The BFF relay for /me/verify-password is created here (SP05 has not). Depends on @kamo/iot-core ^0.3.1 (published) and the dictionary keys iot.sharing.* and sharedDevices.* (live).

  26. · kamo-internal

    Devices on Accounts, Leads, Contacts and work orders (SP13)

  27. · kamo-internal

    Devices panel for Accounts and Contacts - data layer, live updates, tag and untag (SP13)

  28. · kamo-shared-library

    IoT Sharing Access report, registry guards, fifteen seed reports

  29. · kamo-shared-library

    IoT Alarm Response and IoT Device Availability reports

  30. · SecurityService

    Report option providers and Account merge keeps tagged devices (SP13)

Your universe is waiting.

Start free in minutes. Add products whenever you are ready — no migration, no new logins.

Free forever — no credit card required