Gemensam control plane
Bygg koncernen fran ett hardat root-lager.
Den har appen ar nu bade Studeras forsta produktkod och Gemensams executive kontrollplan. Strukturen utgar fortfarande fran att AI ar operator, manniska ar beslutsfattare och systemet ar sista auktoritet, men root-lagret ska ocksa kunna styra hela portfoljen av barnbolag, externa leveransdomaner och releasekedjor fran `gemensam.se`.
Bounded contexts
Forsta domangranserna
- Identity & AccessUsers, scoped roles, capability grants, and assistant boundaries.
- Operating ModelOrganization nodes, seats, delegation, review lanes, and ownership conflicts.
- Inbox & CollaborationTasks, notifications, cases, participants, and operational queues.
- Governance & ApprovalsReviews, approvals, workflow checkpoints, and escalation rules.
- Execution PlaneRuntime registrations, leases, and observable handoff from queued work to concrete agents.
- Code HostingGemensam GitLab as source of truth, customer-owned code hosts as external delivery boundaries, and typed repository inventory.
- External Delivery DomainsCustomer-managed environments, product instances, and external signals reported back into the operating center.
- Education Catalog & ContentPrograms, versions, courses, artifacts, and publication lifecycle.
- AI & AuditTraceability for AI actions, assistant context, and append-only audit events.
Inbox
Uppgifter, notiser och arenden
- UppgifterActionable work that someone is expected to finish or respond to.
- NotiserInformational changes, status updates, retries, reminders, and visibility events.
- ArendenStructured collaboration threads between people, roles, and workflows.
Guardrails
Policy, inte promptmagi
- Chat may initiate work, but policy decides execution.
- Review and approval stay separate even when the same person can do both.
- Capability delegation never implies role escalation.
- If scope, role, or approval state is unclear, the action must stop.
Protected roles
Roller som far extra skydd
Exempel pa capability-grant i strukturen: content.publish.local
Worker lanes
Det tunga arbetet ligger utanfor webblagret
- ai.intent
- ai.generate
- ai.revise
- ai.summarize
- ai.assistant-review
- ai.operating-model-proposal
- workflow.continue
- approval.remind
- approval.escalate
- publication.release
- platform.change.plan
- release.evaluate
- release.rollback
- notification.fanout
- notification.reminder
- notification.digest
Typed preview
Forsta domanobjekt som redan finns i koden
Lararen ska kontrollera kvalitet, niva och saklighet innan publicering.
AI-flodet genomfordes, approvals blev klara och publiceringen ar nu loggad.
Studievagledare vill att larare granskar ett nytt upplagg innan det skickas vidare.
API surface
Forsta BFF-routes i Next.js
- POST
/api/auth/loginSkapa en sessionscookie for en kand anvandare i den aktiva organisationen. - POST
/api/auth/logoutAvsluta aktiv session, markera den som revoked och rensa cookie. - GET
/api/auth/sessionLas nuvarande aktorkontext via cookie-baserad session eller fail closed. - GET
/api/health/dbVerifiera databasanslutning mot riktig Postgres nar DATABASE_URL finns. - GET
/api/inboxHamta sammanhollen inbox for aktoren med uppgifter, notiser och arenden. - GET
/api/assistantsLista registrerade AI-operatorer med riktiga guardrails och sponsor-kedja. - GET
/api/assistants/[assistantId]Visa provider-bindningar och kanalgrants for en specifik assistent. - GET
/api/operating-centerVisa koncernens operating center med root-level signaler for org-trad, governance och execution. - GET
/api/platform-policyVisa maskinlasbar release- och rollbackpolicy for plattformen. - POST
/api/service-requestsTa in nya plattformsonskemal, buggar, incidenter och ad hoc-bestallningar via typed routing. - POST
/api/tasksSkapa en ny uppgift via domanservice och automatisk audit. - PATCH
/api/tasks/[taskId]Byt uppgiftsstatus scoped till aktorens faktiska assignment. - PATCH
/api/tasks/[taskId]/assignmentOmfordela uppgiftens ansvar till ny anvandare eller rollko med audit och notiser. - POST
/api/notificationsSkapa en informationsnotis till en specifik mottagare. - POST
/api/casesSkapa ett arende med deltagare, agare och relaterad resurs. - PATCH
/api/cases/[caseId]Uppdatera arendestatus for agare, skapare eller privilegierad driftroll. - POST
/api/cases/[caseId]/pipelinesRegistrera governed pipeline-runs mot verkligt repo, runtime och lane med valfri auto-release-evidence. - POST
/api/execution-runtimes/[runtimeKey]/pipelinesLat en maskinautentiserad runtime rapportera pipeline-runs direkt under samma repo-, runtime- och lane-regler. - POST
/api/execution-runtimes/[runtimeKey]/pull-requestsLat en maskinautentiserad runtime rapportera governed PR/MR-handelser direkt mot samma repo- och auditkedja. - PATCH
/api/cases/[caseId]/ownerByt arendeagare, synka deltagare och skicka omfordelningsnotiser. - POST
/api/cases/[caseId]/commentsLagg till kommentarer i arenden med synlighetsniva och author type. - POST
/api/approvalsSkapa approval requests genom policykontrollerad domanlogik. - POST
/api/approvals/[approvalRequestId]/decisionsRegistrera approval-beslut och trigga reject-status nar det behovs.
Auth context
Sessioner forst, fallback headers vid behov
Route handlers laser nu primart scoped aktor via sessionscookie. De gamla headersen finns kvar som explicit fallback for scripts och diagnostik under uppbyggnaden.