Przejdź do treści

Rejestr kontraktów

Kontrakt Producent Konsument Najważniejsze pola / invariant
norbi.intent.v1 UI/Channel/Trigger Core actor, project, raw content, attachments, constraints; bez capability
norbi.context.v1 Context Builder Provider/Agent items z source/class/trust/budget; immutable snapshot hash
norbi.proposal.v1 Provider/Agent Broker/Planner suggested actions są niezaufane; fake approval ignorowany
norbi.workflow.v1 Factory/Planner Workflow Engine DAG bez cykli, typed ports, budgets, policies
norbi.job.v1 Workflow/Broker Worker jeden operation, attempt, idempotency, state, artifact ports
norbi.state.v1 Broker wszystkie read models tylko kanoniczne przejścia, audit atomowy
norbi.capability.v1 Governance/Registry Policy/Runner scoped fact; empty scope deny; brak delegacji agentowej
norbi.policy-decision.v1 Policy Engine Broker/Approval/Runner allow/deny/approval, risk, required caps, version
norbi.approval.v1 Broker/Approval Center Broker pełny disclosure, context hash, human channel
norbi.execution-grant.v1 Broker Tool Runner exact binding, nonce, expiry, one-time consume
norbi.tool-manifest.v1 Publisher/Registry Policy/Runner schema, effects, roots, network, accounts, validators
norbi.tool-invocation.v1 Runner Adapter exact version/payload; brak arbitrary command/path
norbi.execution-receipt.v1 Adapter/Runner Broker/Audit attempt, hashes, observed effects, terminal/uncertain
norbi.artifact.v1 Adapter/Store Consumers content hash, version, class, lineage, stage/status
norbi.memory.v1 Memory pipeline Context Builder source, scope, confidence, validity, retention
norbi.provider.v1 Router Provider Adapter request/stream/cancel/usage; proposal only
norbi.agent-manifest.v1 Agent Factory Agent Registry role, context, tools, models, tests, lifecycle
norbi.resource.v1 Job/Scheduler Worker/Scheduler request/reservation; nie capability
norbi.worker.v1 Worker/Registry Broker/Scheduler identity, advertisement, lease, no scope expansion
norbi.account.v1 Admin/Registry Policy/Credential Broker metadata + vault handle; zero raw secrets
norbi.channel.v1 Channel Gateway Core/Workflow source IDs, dedupe, untrusted content, attachments
norbi.communication.v1 Workflow Channel Adapter draft/upload/send/publish oddzielone
norbi.app-session.v1 Desktop Broker Adapter/Worker app/version/project/focus/materialization/lease
norbi.automation.v1 Trigger Registry Gateway/Workflow active state, source, route, limits; trigger ≠ capability
norbi.audit.v1 Control Plane Audit Store/UI sequence, actor, states, refs, integrity, classification
norbi.recovery.v1 Operator/Recovery Console Management components runbook, exact target/action, human approval, evidence

Zasady wersjonowania

  • major: zmiana semantyki, niekompatybilna i wymagająca migracji/review;
  • minor: kompatybilne rozszerzenie tylko tam, gdzie kontrakt dopuszcza unknown/optional fields;
  • patch: korekta walidacji lub dokumentacji bez zmiany semantyki;
  • security objects preferują exact schema i odrzucają unknown fields;
  • job/approval/grant zapisują exact version, nie ruchomy zakres;
  • migracja tworzy nową reprezentację z lineage; nie zmienia historii;
  • approval nie przechodzi między wersjami payloadu lub tool.

Kanonizacja i integralność

Hash używa jednego canonical JSON, jednoznacznego UTF-8 i domain separation per typ. Czas bezpieczeństwowy pochodzi od brokera w UTC. Identyfikatory są nieprzewidywalne tam, gdzie ujawnienie sekwencji byłoby ryzykiem. Wielkie blobs są hashowane strumieniowo i reprezentowane artifact ID, nie wklejane do joba.

Kontrakt odmowy

Nieznana wersja, pole, state, capability, path, destination, account lub tool powoduje odmowę. Komponent nie zgaduje mapowania. Błąd ma stabilny kod, correlation ID i zredagowany opis. Retry jest dozwolony tylko według failure semantics danego kontraktu.