5abee1b5b7
Versioned, per-topic project memory (index + entries): IIOS overview, the generic-safety rule, run/test + the replay.spec flake workaround, recent features (Supabase auth, reactions/pins/saves, mentions, media, notifications), the chat-web consumer, and workflow conventions. CLAUDE.md points to it as the accumulating-notes companion to the canonical rules. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
24 lines
1.3 KiB
Markdown
24 lines
1.3 KiB
Markdown
---
|
|
name: project_iios_overview
|
|
description: What IIOS is — a generic multi-tenant interaction OS; kernel + specializations + swappable platform ports
|
|
metadata:
|
|
type: project
|
|
---
|
|
|
|
IIOS (Insignia Interaction OS) = one NestJS service (`@insignia/iios-service`) + SDKs, in a
|
|
pnpm monorepo (`packages/*`). Every interaction (chat message, ticket, routed post, AI
|
|
suggestion, meeting) is the **same kernel object** inside a **tenant scope** (`IiosScope`:
|
|
org/app/tenant/…), behind the **same fail-closed gates**, emitting the **same audit trail**.
|
|
|
|
Products (messaging, inbox, support, routing, AI, calendar, media, notifications) are thin
|
|
**specializations** on top of a tiny kernel — never the reverse (`pnpm boundary` enforces it).
|
|
|
|
Platform seams are **ports** (`IiosPlatformPorts`, DI token `PLATFORM_PORTS`; dev = permissive
|
|
`LocalDevPorts`): session, opa, cmp (consent), mdm, sas, capability, plus `StoragePort` (media)
|
|
and `NotificationPort` (push). **Dev stubs swap to real adapters with zero consumer changes.**
|
|
Every op passes `decideOrThrow(ports, {action,…})` fail-closed. Events go through a
|
|
transactional outbox → `OutboxBus` → idempotent projectors (inbox, notifications).
|
|
|
|
See the repo `CLAUDE.md` and `docs/IIOS_API_AND_SDK_GUIDE.md` (as-built reference) for detail.
|
|
Related: [[feedback_generic_safety]].
|