Skip to main content

Conformance to the product architecture

Generated by tools/traceability/conformance.py from docs/implementation/conformance/*.yaml and the runs recorded in docs/implementation/evidence/results/. Do not edit by hand. A PASSED item cites green evidence on unchanged sources, with nothing remaining and no blocker.

Summary​

StatusItems
PASSED696
BLOCKED35
FAILED0
IN_PROGRESS198
NOT_STARTED11
Items940

By section​

SectionLotItemsPASSEDIN_PROGRESSBLOCKEDFAILED
A0 The five value elements of the productmain50500
A1 Structural decisions, client object storage and component licencesC0227171000
A2 Global functional architecture and protections without the consoleC04, C0185210
A3.1 Manager architectureC01136700
A3.2 Mandatory operating functions and stop semanticsC012319400
A3.3 Administration sheet of every toolC0143100
A3.4 Lifecycle states, administrative states and five state fieldsC0186200
A3.5 Components to install, phases and dependency graphC021430110
A3.6 Guided first installation, signed acceptance report, offline bundle and Manager recoveryC02117400
A4.1 Portal navigation treeC09136700
A4.2 Functional portal screensC092821700
A4.3 Profiles and rights enforced server sideC031111000
A4.4 Frontend architectureC11106400
A5.1 Backend services to developC043332100
A5.2 Technical split of deploymentsC04107300
A6.1 PostgreSQL schemas and tablesC052418600
A6.2 Key relations of the data modelC05119200
B3.1 Manager functionsC011915400
B3.2 Manager home page and uniform tabsC0132100
B3.3 Technical stop and security suspendC0183500
B3.4 Standard manifest of every componentC011001000
B3.5 Manager backend services and bring your own infrastructureC011413100
B4.1 Deployment profilesC0266000
B4.2 Installation workflowC02116320
B4.3 What the client finds after installationC021420120
B5.1 Functional tree of the portalC091721500
B5.2 Priority screensC091501500
B5.3 Shared frontend components and destructive actionsC111210200
B5.4 Portal rolesC031111000
B6.1 Control Plane modulesC042524100
B6.2 Independent runtime and security servicesC041312100
B6.3 Main API contracts and operation_idC042120100
B7.1 SQL split by domainC051817100
B7.2 Common fields of business tablesC05138500
B7.3 Isolation by RLS and SQL rolesC0554100
B7.4 Marketplace SQL modelC0754100
B8.1 Content of a business pluginC171911800
B8.2 Standard folder structure of a pluginC0733000
B8.3 Plugin manifestC07115600
B8.4 Marketplace end to endC07128400
B8.5 Plugin distribution formatC1696210
B8.6 Business packs shipped with the platformC081313000
B9.1 SDK package structureC0633000
B9.2 Mandatory SDK contractsC061414000
B9.3 Exposed SDK methodsC061717000
B9.4 SDK that cannot be bypassedC04109010
B10.1 Official CLIC121818000
B10.2 Mandatory rules for developersC122222000
B10.3 Publication gatesC161411300
B10.4 Change managementC1631200
B11.1 Product documentationC10137600
B11.2 Developer documentationC131616000
B11.3 Living documentationC1332100
B12.1 Licence coverageC101616000
B12.2 Commercial scopeC1032100
B12.3 Licensing service architectureC1044000
B12.4 Signed technical licence contractC1032100
B12.5 Offline licence operationC1032100
B12.6 Behaviour at expiryC1086110
B13.1 Critical Platform Manager tablesC011211100
B13.2 Audit index and independent evidenceC1452210
B13.3 Security state registry and Kill SwitchC10119200
B13.4 Licence and support tablesC1032100
B13.5 Transactional outbox and external actionsC0476100
B14 Multi tenant isolation by layerC031615010
B14.1 Protection of secrets and dataC141413010
B14.2 Separation of dutiesC0333000
B15.1 Scalability by domainC10158520
B15.2 Availability matrix, RTO and RPOC1075200
B15.3 Upgrade and rollbackC021010000
B16.1 Installing the Finance plugin at a bankC08117400
B16.2 Using the Finance plugin end to endC08115600
B17 Development plan by lotsC101212000
B17.1 Product monorepoC021313000
B17.2 Mandatory acceptance tests before deliveryC102319310
B18 Differentiation, non negotiable requirements and distribution releaseC021841400
B19 The agent carries the user's identityC031919000

Part A, A0. The five value elements of the product​

ItemStatusProofRemaining or blocker
ARCH-A0-01 Platform Manager: install, configure, start, stop, update, supervise and repair the componentsIN_PROGRESStest_e2e_infrastructure_journey.py::test_machine_to_verified_restore test_services_operate.py::test_actions_rolling_restart_and_permissions test_services_operate.py::test_component_instances_change_peers (E-HB-E2E, E-RB-NM)Sections A3.1, A3.2, A3.3, A3.4, A3.5, A3.6, B3.1, B3.2, B3.3, B3.4, B3.5, B4.1, B4.2, B4.3, B13.1, B15.3: 68 of 180 items not PASSED (IN_PROGRESS 43, BLOCKED 25, FAILED 0)
ARCH-A0-02 AI Control Plane: manage identities, rights, policies, models, data, agents and applications from a central consoleIN_PROGRESStest_iam_role_matrix.py::test_role_matrix test_iam_role_matrix.py::test_developer_cannot_approve_own_change_and_auditor_cannot_decide test_identity_context_delegation.py +1 (E-IR-IDENTITY, E-DF-PORTAL)Sections A4.1, A4.2, A4.3, A4.4, A5.1, A6.1, A6.2, B5.1, B5.2, B5.3, B5.4, B6.1, B7.1, B7.2, B7.3, B14, B14.2, B19: 68 of 284 items not PASSED (IN_PROGRESS 67, BLOCKED 1, FAILED 0)
ARCH-A0-03 AI Runtime & Security Plane: run the agents with a mandatory check of every actionIN_PROGRESStest_runtime_without_console.py::test_decisions_stay_enforced_with_console_and_admin_routes_down test_gateway_pep_untrusted.py::test_pep_model_gateway_denied test_gateway_pep_untrusted.py::test_pep_mcp_denied +1 (E-RB-CP, E-CP-SOC)Sections A2, A5.2, B6.2, B6.3, B9.4, B13.5: 10 of 69 items not PASSED (IN_PROGRESS 8, BLOCKED 2, FAILED 0)
ARCH-A0-04 Developer Platform & Marketplace: ready to use SDK, project templates, business packs, skills, prompts, rules, plugins, MCP and connectorsIN_PROGRESStest_developer_day_one.py::test_developer_day_one test_business_packs.py::test_pack_signed_published_installed_sensitive_actions_blocked test_business_packs.py::test_pack_is_complete_and_holds_no_credential (E-DF-DAY-ONE, E-BP-PACKS-MARKETPLACE)Sections B7.4, B8.1, B8.2, B8.3, B8.4, B8.5, B8.6, B9.1, B9.2, B9.3, B10.1, B10.2, B10.3, B10.4, B11.2, B11.3, B16.1, B16.2: 38 of 204 items not PASSED (IN_PROGRESS 37, BLOCKED 1, FAILED 0)
ARCH-A0-05 Enterprise Operations: observability, AI SOC, compliance, backup, restore, support and commercial licencesIN_PROGRESStest_trace_end_to_end.py test_soc_ai_sdr.py::test_recovery_needs_four_eyes_then_reauthorization test_evidence_gateway.py +4 (E-G06-OBS, E-CP-SOC, E-CP-EVIDENCE, E-CP-LICENSING, E-HB-E2E, E-FL-SUPPORT)Sections B11.1, B12.1, B12.2, B12.3, B12.4, B12.5, B12.6, B13.2, B13.3, B13.4, B14.1, B15.1, B15.2, B17, B17.2: 31 of 140 items not PASSED (IN_PROGRESS 25, BLOCKED 6, FAILED 0)

Part A, A1. Structural decisions, client object storage and component licences​

ItemStatusProofRemaining or blocker
ARCH-A1-01 Product type: enterprise distribution installed at the clientPASSEDtest_architecture_decisions.py::test_governance_llm_observability_components_are_catalogued (E-ID-ARCH)
ARCH-A1-02 Deployment on premise, private, public cloud or hybridPASSEDtest_lifecycle_profiles.py::test_profile_catalog_and_creation (E-ID-ARCH, E-ID-LIFECYCLE)
ARCH-A1-03 Disconnected operation possiblePASSEDtest_bundle.py::test_manifest_of_verified_artifacts (E-ID-ARCH, E-ID-PACKAGING)
ARCH-A1-04 Frontend Next.js, React, TypeScriptPASSEDtest_architecture_decisions.py::test_frontend_is_nextjs_react_typescript (E-ID-ARCH)
ARCH-A1-05 Business backend FastAPI, PythonPASSEDtest_architecture_decisions.py::test_backend_is_fastapi_python (E-ID-ARCH)
ARCH-A1-06 Infrastructure controllers in GoPASSEDtest_architecture_decisions.py::test_infrastructure_controllers_are_go (E-ID-ARCH)
ARCH-A1-07 Main database PostgreSQLPASSEDtest_architecture_decisions.py::test_storage_is_client_provided_and_db_is_postgresql (E-ID-ARCH)
ARCH-A1-08 Cache and temporary coordination RedisPASSEDtest_architecture_decisions.py::test_redis_pins_are_bsd_or_traced_exception (E-ID-ARCH)
ARCH-A1-09 Object storage of the client, never imposedPASSEDtest_architecture_decisions.py::test_storage_is_client_provided_and_db_is_postgresql (E-ID-ARCH)
ARCH-A1-10 Kubernetes orchestration, existing clusters supportedPASSEDtest_architecture_decisions.py::test_governance_llm_observability_components_are_catalogued (E-ID-ARCH)
ARCH-A1-11 Installation and operations by the Platform ManagerPASSEDtest_services_install.py::test_provider_and_consumer_install_end_to_end (E-ID-ARCH, E-ID-LIFECYCLE)
ARCH-A1-12 Governance Keycloak, OpenFGA, OPAPASSEDtest_architecture_decisions.py::test_governance_llm_observability_components_are_catalogued (E-ID-ARCH)
ARCH-A1-13 LLM: LiteLLM and vLLMPASSEDtest_architecture_decisions.py::test_governance_llm_observability_components_are_catalogued (E-ID-ARCH)
ARCH-A1-14 Agents: Navin runtime and compatible external agentsPASSEDtest_architecture_decisions.py::test_governance_llm_observability_components_are_catalogued (E-ID-ARCH)
ARCH-A1-15 Observability Opik, OpenTelemetry, OpenSearch, PrometheusPASSEDtest_architecture_decisions.py::test_governance_llm_observability_components_are_catalogued (E-ID-ARCH)
ARCH-A1-16 Security: DLP, audit, policies, detection, SOC, Kill SwitchIN_PROGRESSProof owned by another lot (C05, C07, C10); to cite once its evidence set is green
ARCH-A1-17 SDK Python, TypeScript, Go and REST/OpenAPI APIPASSEDtest_architecture_decisions.py::test_sdks_cover_python_typescript_go (E-ID-ARCH)
ARCH-A1-18 Extensions: signed, versioned, administrable business packsIN_PROGRESSProof owned by another lot (C05, C07, C10); to cite once its evidence set is green
ARCH-A1-19 Licence: annual or triennial subscriptionIN_PROGRESSProof owned by another lot (C05, C07, C10); to cite once its evidence set is green
ARCH-A1-20 Unlimited usersIN_PROGRESSProof owned by another lot (C05, C07, C10); to cite once its evidence set is green
ARCH-A1-21 Unlimited agents and use casesIN_PROGRESSProof owned by another lot (C05, C07, C10); to cite once its evidence set is green
ARCH-A1-22 No usage billing for the licenceIN_PROGRESSProof owned by another lot (C05, C07, C10); to cite once its evidence set is green
ARCH-A1-23 No public priceIN_PROGRESSProof owned by another lot (C05, C07, C10); to cite once its evidence set is green
ARCH-A1-24 Connect S3, Azure Blob, GCS, IBM COS, SeaweedFS, S3 compatibleIN_PROGRESSProof owned by another lot (C05, C07, C10); to cite once its evidence set is green
ARCH-A1-25 Capabilities declared per storage providerIN_PROGRESSProof owned by another lot (C05, C07, C10); to cite once its evidence set is green
ARCH-A1-26 MIT or Apache-2.0 rule and traced exceptionsPASSEDtest_architecture_decisions.py::test_redis_pins_are_bsd_or_traced_exception (E-ID-ARCH)
ARCH-A1-27 PostgreSQL and Redis with exact licences (SBOM, notices, legal document)IN_PROGRESStest_architecture_decisions.py::test_redis_pins_are_bsd_or_traced_exception (E-ID-ARCH)release/sbom only lists the redis Python client, not the Redis 7.0.15 server; the Manager host catalogue keeps Redis 8.0.2 tri licensed (LEX-002 pending client approval); FR and EN legal notice to complete

Part A, A2. Global functional architecture and protections without the console​

ItemStatusProofRemaining or blocker
ARCH-A2-01 Portal spaces: Admin, Security, Developer, Operations, Audit, Marketplace, LicensingIN_PROGRESStest_licensing.py::test_status_is_readable_by_any_user_without_sensitive_fields test_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-RB-CP)The screen by screen proof of the seven spaces belongs to lot C09 (portal); this lot only proves the APIs serving them.
ARCH-A2-02 Control plane modules: Platform Manager, Identity and Governance, AI Management, Developer Platform, Security and SOC, Enterprise LicensePASSEDtest_platform_core.py::test_operations_api_detail_logs_abort_retry_and_scope test_data_quality_governance.py::test_governance_registry test_llm_registry.py::test_model_registry_and_status +3 (E-RB-CP, E-RB-NM)
ARCH-A2-03 Runtime and enforcement plane: Navin runtime, LiteLLM/vLLM, Secure MCP Gateway, DLP and policy gatewayPASSEDtest_agents_execution.py::test_kill_switch_blocks_new_runs test_llm_registry.py::test_litellm_sync_proxy test_platform_security_manifests.py::test_vllm_reachable_only_from_litellm_and_control_plane +2 (E-RB-CP)
ARCH-A2-04 Data and client infrastructure: PostgreSQL, Redis, RAG, Qdrant, client storage, internal services, business APIsPASSEDtest_core_rls.py::test_unscoped_app_role_sees_nothing test_core_redis.py::test_sources_of_truth_never_read_from_redis test_rag_governance.py::test_chunk_acl_forbidden_fragments_never_reach_the_context +2 (E-RB-CP)
ARCH-A2-05 Observability and security operations: Opik, OpenTelemetry, OpenSearch SIEM, Prometheus, Falco, Tetragon, WORM auditIN_PROGRESStest_soc_ai_sdr.py::test_signed_webhooks_falco_tetragon_opensearch test_evidence_gateway.py::test_gateway_redelivers_after_target_outage_without_loss_or_duplicate test_data_quality_governance.py::test_telemetry_ingest_overview_trace +1 (E-RB-CP)Real Opik, OpenTelemetry collector and Prometheus are proven by lot C10 (observability); this lot only cites ingestion and audit collection.
ARCH-A2-06 Platform infrastructure: Kubernetes, Cilium, Argo CD, Helm, KEDA, Kyverno, Harbor, backup and DRBLOCKEDtest_platform_security_manifests.py::test_every_workload_has_a_network_policy test_platform_security_manifests.py::test_static_cluster_policies test_media_worker.py::test_helm_worker_kinds_are_media_worker_operations +1 (E-RB-CP)Helm rendering and policies are validated offline; the real deployment on Kubernetes with Cilium, Argo CD, KEDA, Kyverno and Harbor needs a cluster [B-CLUSTER].
ARCH-A2-07 Sensitive protections stay enforced by the gateways and runtime, fail closed, when the console and the administration routes are downPASSEDtest_runtime_without_console.py::test_decisions_stay_enforced_with_console_and_admin_routes_down test_soc_ai_sdr.py::test_alerting_and_policy_engine_outage_never_weaken_enforcement (E-RB-CP)
ARCH-A2-08 Platform Manager space of the portal through the Control Plane (ADR-0128)PASSEDtest_platform_manager_bridge.py::test_operation_forwarded_on_behalf_and_audited test_platform_manager_bridge.py::test_space_requires_platform_admin (E-PO-BRIDGE)

Part A, A3.1. Manager architecture​

ItemStatusProofRemaining or blocker
ARCH-A3.1-01 Component catalogPASSEDtest_catalog.py::test_catalog_loads_and_is_open_source_only (E-PO-SERVER)
ARCH-A3.1-02 Desired state controller and drift correctionPASSEDtest_lifecycle_drift_backups.py::test_change_outside_the_manager_is_detected_and_reconciled (E-PO-SERVER)
ARCH-A3.1-03 Node Agent: inventory, health, authorised commands, heartbeatsIN_PROGRESStest_platform_core.py::test_registration_evaluates_preflight_at_once_and_reregisters test_agent_signature.py::test_agent_and_server_signatures_are_identical (E-PO-SERVER)The Go tests of navin-manager/agent-go (TestArbitraryCommandRefused, etc.) are not run here: go is missing on this machine.
ARCH-A3.1-04 Kubernetes Operator: component lifecycleIN_PROGRESStest_kubernetes_operator.py::test_install_converges_and_operates (E-PO-K8S)The Go envtest tests of navin-manager/operator are not run: go missing.
ARCH-A3.1-05 Workflow Engine: long operations, resume, validation, rollback (internal engine instead of Temporal)IN_PROGRESStest_foundation.py::test_engine_failure_retry_abort_and_timeout test_availability_api.py::test_dag_order_and_kill_switch_survives_restart (E-PO-SERVER)No ADR verified here justifies the internal engine instead of Temporal.
ARCH-A3.1-06 Deployment Engine (Helm + Argo CD)IN_PROGRESStest_services_install.py::test_opa_binary_install (E-PO-SERVER)Binary and operator deployment proven; Helm and Argo CD not verified by a test.
ARCH-A3.1-07 Config Manager: parameters, versions, validations (PostgreSQL instead of Git)PASSEDtest_services_config.py::test_versions_diff_restore_and_secrets (E-PO-SERVER)
ARCH-A3.1-08 Inventory Service on PostgreSQLPASSEDtest_foundation.py::test_migrations_are_idempotent test_hosts_api.py::test_list_detail_patch (E-PO-SERVER)
ARCH-A3.1-09 Secret Integration: secure referencesIN_PROGRESStest_platform_core.py::test_settings_store_keeps_secrets_sealed (E-PO-SERVER)No test against OpenBao or the client vault.
ARCH-A3.1-10 Monitoring Prometheus + OTelIN_PROGRESStest_hosts_api.py::test_metrics_series_bucketing (E-PO-SERVER)Prometheus and OTel integration not proven end to end.
ARCH-A3.1-11 Remote Diagnostics: diagnostics, support bundlesPASSEDtest_lifecycle_bundle_acceptance.py::test_support_bundle_has_no_secret_and_no_personal_data (E-PO-SERVER)
ARCH-A3.1-12 Upgrade ManagerPASSEDtest_lifecycle_upgrades.py::test_upgrade_compatibility_refusals (E-PO-SERVER)
ARCH-A3.1-13 License AgentNOT_STARTEDLot C10; no test in this lot.

Part A, A3.2. Mandatory operating functions and stop semantics​

ItemStatusProofRemaining or blocker
ARCH-A3.2-01 InstallPASSEDtest_services_install.py::test_provider_and_consumer_install_end_to_end (E-PO-SERVER)
ARCH-A3.2-02 Configure and validatePASSEDtest_services_install.py::test_validation_errors (E-PO-SERVER)
ARCH-A3.2-03 Start in the right orderPASSEDtest_availability_api.py::test_dag_order_and_kill_switch_survives_restart (E-PO-SERVER)
ARCH-A3.2-04 Controlled stopIN_PROGRESStest_services_operate.py::test_actions_rolling_restart_and_permissions (E-PO-SERVER)Draining a proxy's requests not proven.
ARCH-A3.2-05 Restart an instance or a componentPASSEDtest_services_operate.py::test_actions_rolling_restart_and_permissions (E-PO-SERVER)
ARCH-A3.2-06 Upgrade with prior checkPASSEDtest_lifecycle_upgrades.py::test_stateless_upgrade_with_canary_then_rollback (E-PO-SERVER)
ARCH-A3.2-07 RollbackPASSEDtest_lifecycle_upgrades.py::test_stateful_upgrade_backup_migration_refused_rollback_and_restore (E-PO-SERVER)
ARCH-A3.2-08 Scale replicas and resourcesIN_PROGRESStest_kubernetes_operator.py::test_install_converges_and_operates (E-PO-K8S)3 to 6 workers scenario not proven.
ARCH-A3.2-09 HealthPASSEDtest_lifecycle_checks.py::test_liveness_readiness_and_smoke_are_distinct (E-PO-SERVER)
ARCH-A3.2-10 Repair an invalid configurationPASSEDtest_services_config.py::test_versions_diff_restore_and_secrets (E-PO-SERVER)
ARCH-A3.2-11 BackupPASSEDtest_lifecycle_drift_backups.py::test_coordinated_backup_then_restore_executed_and_verified (E-PO-SERVER)
ARCH-A3.2-12 Restore on another clusterPASSEDtest_backup_recovery.py::test_dr_plan_targets_empty_by_default_and_exercise_measured (E-PO-SERVER)
ARCH-A3.2-13 Rotate certificates and credentialsNOT_STARTEDNo test cited in this lot.
ARCH-A3.2-14 Authorised logsPASSEDtest_services_operate.py::test_commands_and_logs (E-PO-SERVER)
ARCH-A3.2-15 MetricsPASSEDtest_hosts_api.py::test_metrics_series_bucketing (E-PO-SERVER)
ARCH-A3.2-16 Dependencies and their statePASSEDtest_services_operate.py::test_uninstall_and_service_in_use test_services_install.py::test_connection_bindings_and_unmanaged_provider (E-PO-SERVER)
ARCH-A3.2-17 DriftPASSEDtest_lifecycle_drift_backups.py::test_change_outside_the_manager_is_detected_and_reconciled (E-PO-SERVER)
ARCH-A3.2-18 Maintenance windowsPASSEDtest_kubernetes_operator.py::test_maintenance_protects_the_component (E-PO-K8S)
ARCH-A3.2-19 Functional diagnosticsPASSEDtest_lifecycle_checks.py::test_liveness_readiness_and_smoke_are_distinct (E-PO-SERVER)
ARCH-A3.2-20 Lifecycle: enable, disable, decommissionPASSEDtest_hosts_api.py::test_decommission_and_delete (E-PO-SERVER)
ARCH-A3.2-21 Security LockIN_PROGRESStest_availability_api.py::test_dag_order_and_kill_switch_survives_restart (E-PO-SERVER)Full lock during an incident not proven.
ARCH-A3.2-22 Refusal of dangerous stops without approved procedurePASSEDtest_availability_api.py::test_client_managed_destructive_refused (E-PO-SERVER)
ARCH-A3.2-23 Stop rules relayed by the portalPASSEDtest_platform_manager_bridge.py::test_manager_refusal_relayed_in_both_languages (E-PO-BRIDGE)

Part A, A3.3. Administration sheet of every tool​

ItemStatusProofRemaining or blocker
ARCH-A3.3-01 Administration sheet per toolPASSEDtest_docs.py::test_service_pages_match_the_catalog (E-PO-SERVER)
ARCH-A3.3-02 Actions Configure, Restart, Upgrade, Logs, Metrics, DiagnosticsPASSEDtest_services_operate.py::test_commands_and_logs (E-PO-SERVER)
ARCH-A3.3-03 Uniform sheet tabsNOT_STARTEDNo console test of the ten tabs.
ARCH-A3.3-04 Same operating model for the whole catalogPASSEDtest_catalog.py::test_every_template_renders (E-PO-SERVER)

Part A, A3.4. Lifecycle states, administrative states and five state fields​

ItemStatusProofRemaining or blocker
ARCH-A3.4-01 Lifecycle states with controlled transitionsPASSEDtest_kubernetes_unit.py::test_states_stay_distinct (E-PO-K8S)
ARCH-A3.4-02 Admin states ENABLED, DISABLED, MAINTENANCE, QUARANTINED, SUSPENDEDIN_PROGRESStest_platform_manager_bridge.py::test_services_five_state_fields_and_admin_state (E-PO-BRIDGE)Only enabled and maintenance exist; DISABLED, QUARANTINED, SUSPENDED absent.
ARCH-A3.4-03 Field desired_statePASSEDtest_platform_manager_bridge.py::test_services_five_state_fields_and_admin_state (E-PO-BRIDGE)
ARCH-A3.4-04 Field observed_statePASSEDtest_platform_manager_bridge.py::test_services_five_state_fields_and_admin_state (E-PO-BRIDGE)
ARCH-A3.4-05 Field health_statusPASSEDtest_platform_manager_bridge.py::test_services_five_state_fields_and_admin_state (E-PO-BRIDGE)
ARCH-A3.4-06 Field operation_statusPASSEDtest_platform_manager_bridge.py::test_services_five_state_fields_and_admin_state test_platform_manager_bridge.py::test_operation_forwarded_on_behalf_and_audited (E-PO-BRIDGE)
ARCH-A3.4-07 Field security_stateIN_PROGRESStest_platform_manager_bridge.py::test_services_five_state_fields_and_admin_state (E-PO-BRIDGE)security_state summarises TLS and secrets, not an authorisation to run.
ARCH-A3.4-08 Desired/observed gap visible in the APIPASSEDtest_platform_manager_bridge.py::test_services_five_state_fields_and_admin_state (E-PO-BRIDGE)

Part A, A3.5. Components to install, phases and dependency graph​

ItemStatusProofRemaining or blocker
ARCH-A3.5-01 Phase 0 bootstrap Manager, licence, environmentBLOCKEDtest_lifecycle_checks.py::test_liveness_readiness_and_smoke_are_distinct (E-ID-LIFECYCLE)Needs a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-A3.5-02 Phase 1 network, certificates, DNS, storagePASSEDtest_lifecycle_checks.py::test_tls_probes_real_handshakes test_lifecycle_checks.py::test_dns_forward_and_reverse_with_the_real_resolver (E-ID-LIFECYCLE)
ARCH-A3.5-03 Phase 2 PostgreSQL, Redis, client storageBLOCKEDtest_lifecycle_checks.py::test_liveness_readiness_and_smoke_are_distinct (E-ID-LIFECYCLE)Needs a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-A3.5-04 Phase 3 Keycloak, SPIRE, secretsBLOCKEDtest_lifecycle_checks.py::test_liveness_readiness_and_smoke_are_distinct (E-ID-LIFECYCLE)Needs a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-A3.5-05 Phase 4 OpenFGA, OPA, policy gatewayBLOCKEDtest_lifecycle_checks.py::test_liveness_readiness_and_smoke_are_distinct (E-ID-LIFECYCLE)Needs a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-A3.5-06 Phase 5 APISIX, audit gateway, data controlBLOCKEDtest_lifecycle_checks.py::test_liveness_readiness_and_smoke_are_distinct (E-ID-LIFECYCLE)Needs a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-A3.5-07 Phase 6 LiteLLM, vLLMBLOCKEDtest_lifecycle_checks.py::test_liveness_readiness_and_smoke_are_distinct (E-ID-LIFECYCLE)Needs a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-A3.5-08 Phase 7 Navin runtime, NATS, Temporal, MCP gatewayBLOCKEDtest_lifecycle_checks.py::test_liveness_readiness_and_smoke_are_distinct (E-ID-LIFECYCLE)Needs a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-A3.5-09 Phase 8 Qdrant, Haystack, Docling, RAGBLOCKEDtest_lifecycle_checks.py::test_liveness_readiness_and_smoke_are_distinct (E-ID-LIFECYCLE)Needs a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-A3.5-10 Phase 9 OTel, Opik, Prometheus, OpenSearchBLOCKEDtest_lifecycle_checks.py::test_liveness_readiness_and_smoke_are_distinct (E-ID-LIFECYCLE)Needs a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-A3.5-11 Phase 10 SOC, Kill Switch, evidenceBLOCKEDtest_lifecycle_checks.py::test_liveness_readiness_and_smoke_are_distinct (E-ID-LIFECYCLE)Needs a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-A3.5-12 Phase 11 developer portal, SDK, packsBLOCKEDtest_lifecycle_checks.py::test_liveness_readiness_and_smoke_are_distinct (E-ID-LIFECYCLE)Needs a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-A3.5-13 Phase 12 diagnostics and final acceptancePASSEDtest_lifecycle_bundle_acceptance.py::test_signed_acceptance_report_with_evidence (E-ID-LIFECYCLE)
ARCH-A3.5-14 Dependency graph computed by the ManagerPASSEDtest_services_install.py::test_provider_and_consumer_install_end_to_end (E-ID-LIFECYCLE)

Part A, A3.6. Guided first installation, signed acceptance report, offline bundle and Manager recovery​

ItemStatusProofRemaining or blocker
ARCH-A3.6-01 Guided step: Prepare the infrastructurePASSEDtest_lifecycle_checks.py::test_preflight_blocks_installation_on_critical_failures (E-ID-LIFECYCLE)
ARCH-A3.6-02 Guided step: Load the licenceIN_PROGRESSStep present in the wizard, no dedicated behaviour test in this lot
ARCH-A3.6-03 Guided step: Connect client resourcesPASSEDtest_services_install.py::test_connection_bindings_and_unmanaged_provider (E-ID-LIFECYCLE)
ARCH-A3.6-04 Guided step: Choose the profilePASSEDtest_lifecycle_profiles.py::test_profile_catalog_and_creation (E-ID-LIFECYCLE)
ARCH-A3.6-05 Guided step: Install with progress, logs, resumePASSEDtest_services_install.py::test_provider_and_consumer_install_end_to_end (E-ID-LIFECYCLE)
ARCH-A3.6-06 Guided step: Configure the policiesIN_PROGRESSStep present in the wizard, no dedicated behaviour test in this lot
ARCH-A3.6-07 Guided step: Run acceptance testsPASSEDtest_lifecycle_bundle_acceptance.py::test_signed_acceptance_report_with_evidence (E-ID-LIFECYCLE)
ARCH-A3.6-08 Guided step: Activate the environmentIN_PROGRESSStep present in the wizard, no dedicated behaviour test in this lot
ARCH-A3.6-09 Signed acceptance report PASS, FAIL, WAIVED justifiedPASSEDtest_lifecycle_bundle_acceptance.py::test_signed_acceptance_report_with_evidence (E-ID-LIFECYCLE)
ARCH-A3.6-10 Complete offline bundle, nothing downloaded at installPASSEDtest_bundle.py::test_manifest_of_verified_artifacts test_bundle.py::test_checksum_mismatch_refused test_bundle.py::test_verify_detects_modified_bundle (E-ID-PACKAGING)
ARCH-A3.6-11 Maintenance utility outside the web interfaceIN_PROGRESSCLI present; recovery test of a stopped Manager to write

Part A, A4.1. Portal navigation tree​

ItemStatusProofRemaining or blocker
ARCH-A4.1-01 OverviewPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)
ARCH-A4.1-02 Platform ManagerIN_PROGRESSplatform-manager.test.ts::Platform Manager space over the Control Plane bridge nav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Space delivered over the /v1/platform-manager routes (C01) with configuration, operation body and role filtering tests; not replayed against a real Platform Manager from the portal, deep links lack a route exposing the base URL.
ARCH-A4.1-03 AI ManagementPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-ai.test.ts::modelsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.1-04 Agents & ApplicationsPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-ai.test.ts::agentsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.1-05 Developer StudioIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-A4.1-06 MarketplacePASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-developer.test.ts::marketplacePackagesCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.1-07 Data & RAGPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-operations.test.ts::knowledgeCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.1-08 Security & IAMIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-A4.1-09 SOC & ResponseIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-A4.1-10 ObservabilityIN_PROGRESSobservability.test.ts::Observability SLO screen nav-access.test.ts::navigation filtered by role from GET /v1/me screens-overview.test.ts::sloCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)SLO and error budget screen delivered over GET /v1/telemetry/slo; Opik traces and Grafana dashboards stay outside the portal with no dedicated deep link.
ARCH-A4.1-11 Audit & ComplianceIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-A4.1-12 Enterprise SettingsPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-overview.test.ts::tenantsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.1-13 Deep links to Opik, Keycloak, LiteLLM, OpenSearchIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.

Part A, A4.2. Functional portal screens​

ItemStatusProofRemaining or blocker
ARCH-A4.2-01 DashboardIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-A4.2-02 Cluster ExplorerIN_PROGRESSplatform-manager.test.ts::Platform Manager space over the Control Plane bridge nav-access.test.ts::navigation filtered by role from GET /v1/me screens-overview.test.ts::clustersCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)Space delivered over the /v1/platform-manager routes (C01) with configuration, operation body and role filtering tests; not replayed against a real Platform Manager from the portal, deep links lack a route exposing the base URL.
ARCH-A4.2-03 Service ManagerIN_PROGRESSplatform-manager.test.ts::Platform Manager space over the Control Plane bridge nav-access.test.ts::navigation filtered by role from GET /v1/me screens-overview.test.ts::servicesCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)Space delivered over the /v1/platform-manager routes (C01) with configuration, operation body and role filtering tests; not replayed against a real Platform Manager from the portal, deep links lack a route exposing the base URL.
ARCH-A4.2-04 Configuration CenterIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Portal Platform Manager space absent: waits for the platform_manager domain routes (lot C01).
ARCH-A4.2-05 Model RegistryPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-ai.test.ts::modelVersionsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-06 Model PlaygroundIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-A4.2-07 Agent RegistryPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-ai.test.ts::agentsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-08 Agent Execution ExplorerPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-ai.test.ts::sessionsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-09 Developer ProjectsPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-overview.test.ts::projectsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-10 MarketplacePASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-developer.test.ts::marketplaceInstallationsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-11 Plugin StudioIN_PROGRESSapi-conformance.test.ts::screen configs (ResourceView / Tester) nav-access.test.ts::navigation filtered by role from GET /v1/me screens-developer.test.ts::pluginsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)The plugin catalogue (install, uninstall, status) exists; authoring and building a plugin in the portal is not provided.
ARCH-A4.2-12 Skill LibraryPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-operations.test.ts::skillsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-13 Prompt RegistryPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-developer.test.ts::promptsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-14 MCP CenterPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-operations.test.ts::mcpCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-15 Connector CenterPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-operations.test.ts::connectorsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-16 RAG StudioPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-operations.test.ts::knowledgeCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-17 IAM CenterPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-overview.test.ts::membersCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-18 Policy StudioPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-security.test.ts::policiesCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-19 Privacy CenterPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-security.test.ts::dlpRulesCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-20 Approval CenterPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-ai.test.ts::approvalsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-21 SOC DashboardPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-security.test.ts::socOrdersCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-22 Kill Switch CenterPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-security.test.ts::killSwitchesCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-23 Trace ExplorerPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-security.test.ts::correlationsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-24 Audit ExplorerPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-security.test.ts::auditEventsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-25 Evidence CenterPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-security.test.ts::sealsCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-26 FinOpsPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-overview.test.ts::usageCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-A4.2-27 Backup & DRIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Backup & DR screen not built: no backup, restore or DR route under /v1/platform-manager exists in docs/api/control-plane-v1.requests.json (policies, jobs, restore plans with approvals, DR plans with last test, observed RTO and RPO).
ARCH-A4.2-28 License CenterPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-overview.test.ts::licenseHistoryCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)

Part A, A4.3. Profiles and rights enforced server side​

ItemStatusProofRemaining or blocker
ARCH-A4.3-01 Platform Administrator profilePASSEDtest_iam_role_matrix.py::test_role_matrix (E-IR-IDENTITY)
ARCH-A4.3-02 Security Administrator profilePASSEDtest_iam_role_matrix.py::test_role_matrix (E-IR-IDENTITY)
ARCH-A4.3-03 SOC Analyst profilePASSEDtest_iam_role_matrix.py::test_reference_roles_matrix (E-IR-IDENTITY)
ARCH-A4.3-04 AI Governance Officer profilePASSEDtest_iam_role_matrix.py::test_reference_roles_matrix (E-IR-IDENTITY)
ARCH-A4.3-05 Data Steward profilePASSEDtest_iam_role_matrix.py::test_reference_roles_matrix (E-IR-IDENTITY)
ARCH-A4.3-06 Developer profilePASSEDtest_iam_role_matrix.py::test_role_matrix (E-IR-IDENTITY)
ARCH-A4.3-07 Application Owner profilePASSEDtest_iam_role_matrix.py::test_application_owner_edits_own_agent_only test_iam_role_matrix.py::test_reference_roles_matrix (E-IR-IDENTITY)
ARCH-A4.3-08 Auditor profilePASSEDtest_iam_role_matrix.py::test_role_matrix (E-IR-IDENTITY)
ARCH-A4.3-09 Finance/FinOps profilePASSEDtest_iam_role_matrix.py::test_role_matrix (E-IR-IDENTITY)
ARCH-A4.3-10 Business User profilePASSEDtest_iam_role_matrix.py::test_role_matrix (E-IR-IDENTITY)
ARCH-A4.3-11 Rights enforced by OpenFGA and OPA on the backendPASSEDtest_iam_openfga_real.py::test_document_relations_allow_and_deny_per_action test_iam_opa_bundles_real.py::test_signed_bundle_revisions_loaded_and_enforced test_iam_role_matrix.py::test_role_matrix (E-IR-IDENTITY)

Part A, A4.4. Frontend architecture​

ItemStatusProofRemaining or blocker
ARCH-A4.4-01 Next.js + React + TypeScriptPASSEDi18n.test.ts::en and fr have exactly the same keys (E-DF-PORTAL)
ARCH-A4.4-02 Design system (Tailwind + radix + webui tokens instead of MUI, client decision)PASSEDi18n.test.ts::no em dash or en dash anywhere (E-DF-PORTAL)
ARCH-A4.4-03 API client generated from the OpenAPI specificationIN_PROGRESSopenapi-client.test.ts::the generated operation table is up to date with docs/api/openapi-v1.json openapi-client.test.ts::has one entry per operation of the specification api-conformance.test.ts::the table below covers every client call found in the portal source (E-DF-PORTAL)Only new calls go through callOperation; the existing domain wrappers of resources.ts stay hand written (checked against the specification).
ARCH-A4.4-04 Real time by SSE or WebSocket (operations, traces, incidents, metrics)IN_PROGRESSsse.test.ts::follows the documented route with Last-Event-ID resumption and stops at end sse.test.ts::the run detail screen follows live runs realtime.test.ts::reconnects on unexpected closes only, a bounded number of times (E-DF-PORTAL)Runs followed by SSE, voice by WebSocket; incidents, traces and metrics stay on periodic refresh, no documented stream route.
ARCH-A4.4-05 Monaco editor (Rego, YAML, prompts, JSON, manifests), bundled locallyPASSEDstudio.test.ts::registers the contracts/v1 schemas in the editor, with the policy request wrapper (E-DF-PORTAL)
ARCH-A4.4-06 Forms with React Hook Form + ZodPASSEDzod-csp.test.ts::parses objects without calling the Function constructor form-ids.test.ts::scopes every field id to its form instance (E-DF-PORTAL)
ARCH-A4.4-07 React Flow graphs (topologies, dependencies, visual traces)IN_PROGRESScomponents.test.ts::layers GET /v1/lineage/graph and keeps the nodes of a cycle (E-DF-PORTAL)Layered DependencyGraph without React Flow (ADR-0148); React Flow not added, no interactive topology view.
ARCH-A4.4-08 Apache ECharts chartsIN_PROGRESSmappers.test.ts (E-DF-PORTAL)Recharts (MIT) used instead of ECharts (ADR-0148); to be confirmed by the client.
ARCH-A4.4-09 OIDC authentication with KeycloakPASSEDsession.test.ts::keeps no secret in localStorage after login and logout (E-DF-PORTAL)
ARCH-A4.4-10 React Flow limited to topology and execution views; Developer Studio code firstPASSEDstudio.test.ts::conform to the documented API surface (E-DF-PORTAL)

Part A, A5.1. Backend services to develop​

ItemStatusProofRemaining or blocker
ARCH-A5.1-01 platform-manager-apiPASSEDtest_platform_core.py::test_operations_api_detail_logs_abort_retry_and_scope (E-RB-NM)
ARCH-A5.1-02 platform-reconciler: drift detected and reconciledPASSEDtest_lifecycle_drift_backups.py::test_change_outside_the_manager_is_detected_and_reconciled (E-RB-NM)
ARCH-A5.1-03 node-agent: registration, preflight and signaturePASSEDtest_platform_core.py::test_registration_evaluates_preflight_at_once_and_reregisters test_foundation.py::test_agent_signature_is_required (E-RB-NM)
ARCH-A5.1-04 component-catalogPASSEDtest_catalog.py::test_catalog_loads_and_is_open_source_only test_platform_components.py::test_manifest_is_valid_against_the_schema (E-RB-CP, E-RB-NM)
ARCH-A5.1-05 configuration-service: versions, diff, restorePASSEDtest_services_config.py::test_versions_diff_restore_and_secrets (E-RB-NM)
ARCH-A5.1-06 deployment-service: provider and consumer installationPASSEDtest_services_install.py::test_provider_and_consumer_install_end_to_end (E-RB-NM)
ARCH-A5.1-07 health-controller: distinct liveness, readiness, smokePASSEDtest_lifecycle_checks.py::test_liveness_readiness_and_smoke_are_distinct (E-RB-NM)
ARCH-A5.1-08 identity-integration: OIDC, SPIFFE, API keysPASSEDtest_core_auth.py::test_oidc test_core_auth.py::test_spiffe (E-RB-CP)
ARCH-A5.1-09 authorization-service: ReBAC and checkPASSEDtest_core_secrets_authz.py::test_authz_tuples_and_check test_authz_rebac.py::test_agent_and_project_relations (E-RB-CP)
ARCH-A5.1-10 delegation-service: always narrower delegation, cascading revocationPASSEDtest_identity_context_delegation.py::test_restricted_delegation_is_always_narrower_and_revocation_cascades (E-RB-CP)
ARCH-A5.1-11 governance-registryPASSEDtest_data_quality_governance.py::test_governance_registry (E-RB-CP)
ARCH-A5.1-12 model-control-service: approved publication, canary, rollbackPASSEDtest_llm_model_lifecycle.py::test_publication_needs_an_approval_then_canary_and_rollback_keep_history (E-RB-CP)
ARCH-A5.1-13 agent-control-service: suspend, approved resume, killPASSEDtest_agents_execution.py::test_kill_switch_blocks_new_runs (E-RB-CP)
ARCH-A5.1-14 runtime-gateway: PEP on the model callPASSEDtest_gateway_pep_untrusted.py::test_pep_model_gateway_denied (E-RB-CP)
ARCH-A5.1-15 mcp-security-gatewayPASSEDtest_gateway_pep_untrusted.py::test_pep_mcp_denied test_capabilities_gateways.py::test_mcp_gateway (E-RB-CP)
ARCH-A5.1-16 connector-service: signed webhooks, replay, dedupePASSEDtest_capabilities_gateways.py::test_webhook_signature_replay_and_dedupe test_gateway_pep_untrusted.py::test_pep_connector_channel_a2a_denied (E-RB-CP)
ARCH-A5.1-17 developer-platform-service: developer day onePASSEDtest_core_contracts.py::test_apply_denied_by_policy (E-RB-CP)
ARCH-A5.1-18 pack-registry-service: unsigned or tampered pack refusedPASSEDtest_marketplace.py::test_unsigned_tampered_or_untrusted_pack_is_refused (E-RB-CP)
ARCH-A5.1-19 data-access-gateway: knowledge and memory PEPPASSEDtest_gateway_pep_untrusted.py::test_pep_knowledge_and_memory_denied (E-RB-CP)
ARCH-A5.1-20 privacy-service: authorised and audited detokenisationPASSEDtest_data_privacy.py::test_detokenize_requires_permission_and_is_audited (E-RB-CP)
ARCH-A5.1-21 storage-adapter-service: policy decided before the actionPASSEDtest_storage_profiles_api.py::test_policy_decides_before_the_storage_action (E-RB-CP)
ARCH-A5.1-22 rag-governance-service: chunk ACLPASSEDtest_rag_governance.py::test_chunk_acl_forbidden_fragments_never_reach_the_context (E-RB-CP)
ARCH-A5.1-23 usage-budget-service: concurrent reservationsPASSEDtest_finops_quotas.py::test_concurrent_reservations_one_rejected (E-RB-CP)
ARCH-A5.1-24 evaluation-service: quality gates and red teamIN_PROGRESStest_data_evaluation.py::test_evaluation_gate_pass_and_fail test_data_evaluation.py::test_red_team_runs (E-RB-CP)The real Ragas, Promptfoo and garak engines are not run by this lot; only the built in quality gates and red team are proven.
ARCH-A5.1-25 approval-service: approval by someone elsePASSEDtest_approvals_promotion.py::test_promotion_waits_for_an_approval_from_someone_else (E-RB-CP)
ARCH-A5.1-26 audit-gateway: redelivery without loss or duplicatePASSEDtest_evidence_gateway.py::test_gateway_redelivers_after_target_outage_without_loss_or_duplicate (E-RB-CP)
ARCH-A5.1-27 evidence-service: seal verifiable online and offlinePASSEDtest_evidence_gateway.py::test_seal_signature_verifies_online_and_offline (E-RB-CP)
ARCH-A5.1-28 detection-service: normalisation and correlationPASSEDtest_soc_ai_sdr.py::test_ingestor_normalizes_and_correlator_links_user_agent_tenant (E-RB-CP)
ARCH-A5.1-29 incident-servicePASSEDtest_soc_ai_sdr.py::test_incident_lifecycle_assignment_and_auditable_timeline (E-RB-CP)
ARCH-A5.1-30 kill-switch-controllerPASSEDtest_soc_ai_sdr.py::test_kill_switch_cancels_run_and_subagents_and_refuses_new_actions test_soc_ai_sdr.py::test_kill_switches_persist_across_restart (E-RB-CP)
ARCH-A5.1-31 response-playbook-service: typed reactions onlyPASSEDtest_soc_ai_sdr.py::test_typed_reactions_only_never_a_free_command test_soc_ai_sdr.py::test_rate_limit_and_require_approval_reactions (E-RB-CP)
ARCH-A5.1-32 license-service: offline activationPASSEDtest_licensing.py::test_offline_issuance_and_file_activation_without_network (E-RB-CP)
ARCH-A5.1-33 diagnostic-service: preflight and sanitised support bundlePASSEDtest_lifecycle_checks.py::test_preflight_blocks_installation_on_critical_failures test_lifecycle_bundle_acceptance.py::test_support_bundle_has_no_secret_and_no_personal_data (E-RB-NM)

Part A, A5.2. Technical split of deployments​

ItemStatusProofRemaining or blocker
ARCH-A5.2-01 control-api: Control Plane deploymentPASSEDtest_platform_deploy_env.py::test_helm_env_names_are_settings test_platform_security_manifests.py::test_every_pod_spec_is_hardened (E-RB-CP)
ARCH-A5.2-02 platform-controller: Platform Manager outside the application chartPASSEDtest_platform_core.py::test_background_server_tasks (E-RB-NM)
ARCH-A5.2-03 security-enforcement: OPA, OpenFGA, network policiesPASSEDtest_platform_security_manifests.py::test_default_deny_and_metadata_deny test_core_policies.py::test_opa_engine (E-RB-CP)
ARCH-A5.2-04 runtime-plane: worker, KEDA multimodal workers, sandbox, LiteLLM, vLLMPASSEDtest_platform_deploy_env.py::test_helm_worker_deployment test_media_worker.py::test_helm_worker_kinds_are_media_worker_operations test_platform_security_manifests.py::test_vllm_reachable_only_from_litellm_and_control_plane (E-RB-CP)
ARCH-A5.2-05 telemetry-planeIN_PROGRESStest_data_quality_governance.py::test_telemetry_ingest_overview_trace (E-RB-CP)No distinct telemetry deployment unit in the chart; the observability stack is proven by lot C10.
ARCH-A5.2-06 audit-plane: durable audit collectionIN_PROGRESStest_evidence_gateway.py::test_gateway_redelivers_after_target_outage_without_loss_or_duplicate (E-RB-CP)The audit gateway runs as a worker job (audit_gateway), not as an isolated chart deployment.
ARCH-A5.2-07 soc-plane: works even when the portal is downIN_PROGRESStest_runtime_without_console.py::test_decisions_stay_enforced_with_console_and_admin_routes_down test_soc_ai_sdr.py::test_worker_runs_the_soc_scan_and_containment_verifier (E-RB-CP)The SOC is served by the Control Plane and the worker, independent of the portal; no separate SOC deployment in the chart.
ARCH-A5.2-08 developer-plane: portal and documentationPASSEDtest_platform_security_manifests.py::test_portal_ingress_tls_headers_and_login_limit (E-RB-CP)
ARCH-A5.2-09 offline license-controllerPASSEDtest_licensing.py::test_verifier_and_store_never_reach_the_network test_licensing.py::test_offline_issuance_and_file_activation_without_network (E-RB-CP)
ARCH-A5.2-10 Temporal for durable workflows, NATS JetStream for events, Redis only cache and coordinationPASSEDtest_runtime_temporal_durable.py::test_durable_workflow_resumes_after_worker_kill test_runtime_nats_jetstream.py::test_dedup_ordering_redelivery_exactly_once test_core_redis.py::test_sources_of_truth_never_read_from_redis (E-RB-CP)

Part A, A6.1. PostgreSQL schemas and tables​

ItemStatusProofRemaining or blocker
ARCH-A6.1-01 Domain core (tenants, organizations, business_units, environments, projects, settings)IN_PROGRESStest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)Missing tables: organizations, business_units. No code uses them yet; to be created with the domain that will own them (no empty table).
ARCH-A6.1-02 Domain iam (users, groups, memberships, service_identities, delegations, access_grants)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-03 Domain platform inventory (clusters, nodes, components, component_versions, service_instances, dependencies)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-04 Domain platform operations (configurations, configuration_versions, operations, operation_steps, health_checks, maintenance_windows)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-05 Domain ai (providers, models, model_routes, model_deployments, model_prices, model_approvals)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-06 Domain agents (agents, agent_versions, agent_deployments, agent_runs, subagent_runs, checkpoints)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-07 Domain agent sessions (sessions, action_requests, tool_invocations, memory_scopes, memory_entries)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-08 Domain dev (projects, sdk_versions, project_templates, developer_environments, test_runs)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-09 Domain registry packs (packs, pack_versions, pack_installations, pack_assets, pack_dependencies)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-10 Domain registry assets (skills, skill_versions, prompts, prompt_versions, plugins, plugin_versions)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-11 Domain integration (mcp_servers, mcp_tools, connectors, connector_instances, connector_credentials)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-12 Domain data (data_sources, datasets, documents, document_acl, classifications, lineage_refs)IN_PROGRESStest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)Missing tables: datasets. No code uses them yet; to be created with the domain that will own them (no empty table).
ARCH-A6.1-13 Domain rag (collections, ingestion_jobs, document_chunks, retrieval_policies, index_versions)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-14 Domain policy (policy_sets, policy_versions, policy_assignments, policy_tests, exceptions)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-15 Domain security signals (security_signals, detections, incidents, response_actions, quarantines, kill_switches)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-16 Domain security approvals (approvals, approval_steps, risk_assessments, dlp_events)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-17 Domain audit (events, decision_records, evidence_batches, evidence_objects, retention_policies, exports)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-18 Domain observability (trace_refs, alert_rules, alert_instances, service_slos, telemetry_configs)IN_PROGRESStest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)Missing tables: service_slos. No code uses them yet; to be created with the domain that will own them (no empty table).
ARCH-A6.1-19 Domain finops (budgets, quotas, usage_records, cost_allocations, price_catalogs)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-20 Domain storage (profiles, buckets, storage_policies, object_refs, backup_records)PASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)
ARCH-A6.1-21 Domain commercial (licenses, license_activations, entitlements, support_contracts, license_events)IN_PROGRESStest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)Missing tables: support_contracts. No code uses them yet; to be created with the domain that will own them (no empty table).
ARCH-A6.1-22 Domain system (outbox_events, inbox_events, scheduled_jobs, migrations, feature_flags)IN_PROGRESStest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)Missing tables: inbox_events. No code uses them yet; to be created with the domain that will own them (no empty table).
ARCH-A6.1-23 Large traces in Opik/Jaeger, logs in OpenSearch, files in client object storageIN_PROGRESStest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_data_model_mapping.py::test_column_backed_concepts_exist test_data_model_mapping.py::test_manager_and_external_locations_exist (E-DP-DATAMODEL)eai.telemetry_spans keeps summarised spans (cost, run_id) in PostgreSQL: to be reduced to trace references if the architecture decision requires it.
ARCH-A6.1-24 Tools with their own database (Keycloak, Opik, Temporal, OpenFGA): separate schemas and migrationsPASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)

Part A, A6.2. Key relations of the data model​

ItemStatusProofRemaining or blocker
ARCH-A6.2-01 Tenant to organisations, projects, environmentsIN_PROGRESStest_data_model_mapping.py::test_relations_are_foreign_keys_or_reference_columns (E-DP-DATAMODEL)Organisations missing (see A6.1 core).
ARCH-A6.2-02 Cluster to nodes and service instancesPASSEDtest_data_model_mapping.py::test_relations_are_foreign_keys_or_reference_columns (E-DP-DATAMODEL)
ARCH-A6.2-03 Component to versions, dependencies, instancesPASSEDtest_data_model_mapping.py::test_relations_are_foreign_keys_or_reference_columns (E-DP-DATAMODEL)
ARCH-A6.2-04 Agent to versions, deployments, runsPASSEDtest_data_model_mapping.py::test_relations_are_foreign_keys_or_reference_columns (E-DP-DATAMODEL)
ARCH-A6.2-05 Agent Run to actions, subagents, tracesPASSEDtest_data_model_mapping.py::test_relations_are_foreign_keys_or_reference_columns (E-DP-DATAMODEL)
ARCH-A6.2-06 Developer Project to packs, tests, versionsPASSEDtest_data_model_mapping.py::test_relations_are_foreign_keys_or_reference_columns (E-DP-DATAMODEL)
ARCH-A6.2-07 Pack Version to skills, prompts, MCP, connectorsPASSEDtest_data_model_mapping.py::test_relations_are_foreign_keys_or_reference_columns (E-DP-DATAMODEL)
ARCH-A6.2-08 User to delegations, approvals, audit eventsPASSEDtest_data_model_mapping.py::test_relations_are_foreign_keys_or_reference_columns (E-DP-DATAMODEL)
ARCH-A6.2-09 Policy Version to assignments, tests, decisionsPASSEDtest_data_model_mapping.py::test_relations_are_foreign_keys_or_reference_columns (E-DP-DATAMODEL)
ARCH-A6.2-10 Incident to detection, response, evidencePASSEDtest_data_model_mapping.py::test_relations_are_foreign_keys_or_reference_columns (E-DP-DATAMODEL)
ARCH-A6.2-11 License to activations, entitlements, supportIN_PROGRESStest_data_model_mapping.py::test_relations_are_foreign_keys_or_reference_columns (E-DP-DATAMODEL)Support contracts missing.

Part B, B3.1. Manager functions​

ItemStatusProofRemaining or blocker
ARCH-B3.1-01 DiscoveryPASSEDtest_kubernetes_api.py::test_discovery_inventory (E-PO-K8S)
ARCH-B3.1-02 PreflightPASSEDtest_lifecycle_checks.py::test_preflight_blocks_installation_on_critical_failures (E-PO-SERVER)
ARCH-B3.1-03 Component CatalogPASSEDtest_catalog.py::test_topologies (E-PO-SERVER)
ARCH-B3.1-04 Dependency ManagerPASSEDtest_availability_api.py::test_dag_order_and_kill_switch_survives_restart (E-PO-SERVER)
ARCH-B3.1-05 Configuration ManagerPASSEDtest_services_config.py::test_config_groups_preview_and_apply (E-PO-SERVER)
ARCH-B3.1-06 Lifecycle ManagerPASSEDtest_services_operate.py::test_actions_rolling_restart_and_permissions (E-PO-SERVER)
ARCH-B3.1-07 Health ManagerPASSEDtest_services_operate.py::test_blueprint_round_trip_and_health_job (E-PO-SERVER)
ARCH-B3.1-08 Cluster ManagerPASSEDtest_services_operate.py::test_component_instances_change_peers (E-PO-SERVER)
ARCH-B3.1-09 Scaling ManagerNOT_STARTEDFunction not proven by a test in this lot.
ARCH-B3.1-10 Upgrade ManagerPASSEDtest_lifecycle_upgrades.py::test_upgrade_compatibility_refusals (E-PO-SERVER)
ARCH-B3.1-11 Backup & RecoveryPASSEDtest_backup_recovery.py::test_restore_needs_two_distinct_approvers_and_separate_privilege (E-PO-SERVER)
ARCH-B3.1-12 Certificate ManagerPASSEDtest_lifecycle_checks.py::test_tls_probes_real_handshakes (E-PO-SERVER)
ARCH-B3.1-13 Secrets IntegrationPASSEDtest_services_config.py::test_versions_diff_restore_and_secrets (E-PO-SERVER)
ARCH-B3.1-14 TroubleshootingPASSEDtest_platform_core.py::test_operations_api_detail_logs_abort_retry_and_scope (E-PO-SERVER)
ARCH-B3.1-15 Capacity PlannerNOT_STARTEDFunction not proven by a test in this lot.
ARCH-B3.1-16 Compliance CheckerNOT_STARTEDFunction not proven by a test in this lot.
ARCH-B3.1-17 License ManagerNOT_STARTEDFunction not proven by a test in this lot.
ARCH-B3.1-18 Support BundlePASSEDtest_lifecycle_bundle_acceptance.py::test_support_bundle_has_no_secret_and_no_personal_data (E-PO-SERVER)
ARCH-B3.1-19 Installation WizardPASSEDtest_lifecycle_profiles.py::test_each_profile_is_installable_or_blocked_with_reason (E-PO-SERVER)

Part B, B3.2. Manager home page and uniform tabs​

ItemStatusProofRemaining or blocker
ARCH-B3.2-01 Home page with real counts per environmentPASSEDtest_platform_manager_bridge.py::test_summary_real_counts (E-PO-BRIDGE)
ARCH-B3.2-02 Services with real instances x/y and statesPASSEDtest_platform_manager_bridge.py::test_services_five_state_fields_and_admin_state (E-PO-BRIDGE)
ARCH-B3.2-03 Real cluster topology in the console (INFUI-003)IN_PROGRESStopology.test.tsx nodes.test.tsx (E-PO-UI)Uniform tabs (Audit, Support) not tested; node pools view not tested.

Part B, B3.3. Technical stop and security suspend​

ItemStatusProofRemaining or blocker
ARCH-B3.3-01 Technical stopPASSEDtest_services_operate.py::test_actions_rolling_restart_and_permissions (E-PO-SERVER)
ARCH-B3.3-02 Security suspendNOT_STARTEDDistinct effect on applications and transactions not proven.
ARCH-B3.3-03 RestartPASSEDtest_services_operate.py::test_actions_rolling_restart_and_permissions (E-PO-SERVER)
ARCH-B3.3-04 Rolling restartPASSEDtest_services_operate.py::test_actions_rolling_restart_and_permissions (E-PO-SERVER)
ARCH-B3.3-05 DrainNOT_STARTEDDistinct effect on applications and transactions not proven.
ARCH-B3.3-06 Scale-to-zeroNOT_STARTEDDistinct effect on applications and transactions not proven.
ARCH-B3.3-07 Node quarantineIN_PROGRESSnodes.test.tsx (E-PO-UI)Distinct effect on applications and transactions not proven.
ARCH-B3.3-08 Emergency shutdownIN_PROGRESStest_availability_api.py::test_dag_order_and_kill_switch_survives_restart (E-PO-SERVER)Distinct effect on applications and transactions not proven.

Part B, B3.4. Standard manifest of every component​

ItemStatusProofRemaining or blocker
ARCH-B3.4-01 Manifest: IdentityIN_PROGRESStest_catalog.py::test_parameters_are_documented_and_valid (E-PO-SERVER)The test validates the catalog schema, not every field of the reference manifest.
ARCH-B3.4-02 Manifest: Support statusIN_PROGRESStest_catalog.py::test_parameters_are_documented_and_valid (E-PO-SERVER)The test validates the catalog schema, not every field of the reference manifest.
ARCH-B3.4-03 Manifest: DeploymentIN_PROGRESStest_catalog.py::test_parameters_are_documented_and_valid (E-PO-SERVER)The test validates the catalog schema, not every field of the reference manifest.
ARCH-B3.4-04 Manifest: DependenciesIN_PROGRESStest_catalog.py::test_parameters_are_documented_and_valid (E-PO-SERVER)The test validates the catalog schema, not every field of the reference manifest.
ARCH-B3.4-05 Manifest: Configuration (schema, secretRefs)IN_PROGRESStest_catalog.py::test_parameters_are_documented_and_valid (E-PO-SERVER)The test validates the catalog schema, not every field of the reference manifest.
ARCH-B3.4-06 Manifest: OperationsIN_PROGRESStest_catalog.py::test_parameters_are_documented_and_valid (E-PO-SERVER)The test validates the catalog schema, not every field of the reference manifest.
ARCH-B3.4-07 Manifest: HealthIN_PROGRESStest_catalog.py::test_parameters_are_documented_and_valid (E-PO-SERVER)The test validates the catalog schema, not every field of the reference manifest.
ARCH-B3.4-08 Manifest: ObservabilityIN_PROGRESStest_catalog.py::test_parameters_are_documented_and_valid (E-PO-SERVER)The test validates the catalog schema, not every field of the reference manifest.
ARCH-B3.4-09 Manifest: SecurityIN_PROGRESStest_catalog.py::test_parameters_are_documented_and_valid (E-PO-SERVER)The test validates the catalog schema, not every field of the reference manifest.
ARCH-B3.4-10 Manifest: Lifecycle (backup, approval, budget)IN_PROGRESStest_catalog.py::test_parameters_are_documented_and_valid (E-PO-SERVER)The test validates the catalog schema, not every field of the reference manifest.

Part B, B3.5. Manager backend services and bring your own infrastructure​

ItemStatusProofRemaining or blocker
ARCH-B3.5-01 platform-apiPASSEDtest_foundation.py::test_api_requires_authentication (E-PO-SERVER)
ARCH-B3.5-02 installation-orchestratorPASSEDtest_services_install.py::test_provider_and_consumer_install_end_to_end (E-PO-SERVER)
ARCH-B3.5-03 configuration-servicePASSEDtest_services_config.py::test_config_groups_preview_and_apply (E-PO-SERVER)
ARCH-B3.5-04 dependency-resolverPASSEDtest_services_install.py::test_connection_bindings_and_unmanaged_provider (E-PO-SERVER)
ARCH-B3.5-05 health-controllerPASSEDtest_services_operate.py::test_blueprint_round_trip_and_health_job (E-PO-SERVER)
ARCH-B3.5-06 upgrade-controllerPASSEDtest_lifecycle_upgrades.py::test_stateless_upgrade_with_canary_then_rollback (E-PO-SERVER)
ARCH-B3.5-07 backup-coordinatorPASSEDtest_lifecycle_drift_backups.py::test_coordinated_backup_then_restore_executed_and_verified (E-PO-SERVER)
ARCH-B3.5-08 platform-diagnosticsPASSEDtest_lifecycle_bundle_acceptance.py::test_signed_acceptance_report_with_evidence (E-PO-SERVER)
ARCH-B3.5-09 license-serviceNOT_STARTEDLot C10.
ARCH-B3.5-10 platform-node-agentPASSEDtest_agent_signature.py::test_agent_and_server_signatures_are_identical (E-PO-SERVER)
ARCH-B3.5-11 Agent never a generic shell: signed operationsPASSEDtest_foundation.py::test_agent_signature_is_required (E-PO-SERVER)
ARCH-B3.5-12 BYOI existing KubernetesPASSEDtest_kubernetes_api.py::test_manager_user_has_least_privilege (E-PO-K8S)
ARCH-B3.5-13 BYOI unmanaged providerPASSEDtest_services_install.py::test_connection_bindings_and_unmanaged_provider (E-PO-SERVER)
ARCH-B3.5-14 Control Plane platform_manager bridgePASSEDtest_platform_manager_bridge.py::test_operation_forwarded_on_behalf_and_audited (E-PO-BRIDGE)

Part B, B4.1. Deployment profiles​

ItemStatusProofRemaining or blocker
ARCH-B4.1-01 Development profilePASSEDtest_lifecycle_profiles.py::test_each_profile_is_installable_or_blocked_with_reason (E-ID-LIFECYCLE)
ARCH-B4.1-02 Standard Enterprise profilePASSEDtest_lifecycle_profiles.py::test_each_profile_is_installable_or_blocked_with_reason test_lifecycle_profiles.py::test_standard_profile_satisfied_when_its_rules_hold (E-ID-LIFECYCLE)
ARCH-B4.1-03 Banking Secure profilePASSEDtest_lifecycle_profiles.py::test_each_profile_is_installable_or_blocked_with_reason test_lifecycle_profiles.py::test_banking_secure_two_person_rule (E-ID-LIFECYCLE)
ARCH-B4.1-04 Air-Gapped profilePASSEDtest_lifecycle_profiles.py::test_each_profile_is_installable_or_blocked_with_reason (E-ID-LIFECYCLE)
ARCH-B4.1-05 Hybrid profilePASSEDtest_lifecycle_profiles.py::test_each_profile_is_installable_or_blocked_with_reason (E-ID-LIFECYCLE)
ARCH-B4.1-06 No profile imposes a commercial limitPASSEDtest_lifecycle_profiles.py::test_profile_catalog_and_creation (E-ID-LIFECYCLE)

Part B, B4.2. Installation workflow​

ItemStatusProofRemaining or blocker
ARCH-B4.2-01 Licence importIN_PROGRESSCovered by another lot (licence C10, discovery C01); proof to cite
ARCH-B4.2-02 Environment choicePASSEDtest_lifecycle_profiles.py::test_profile_catalog_and_creation (E-ID-LIFECYCLE)
ARCH-B4.2-03 Infrastructure discoveryIN_PROGRESSCovered by another lot (licence C10, discovery C01); proof to cite
ARCH-B4.2-04 Connection of client servicesPASSEDtest_services_install.py::test_connection_bindings_and_unmanaged_provider (E-ID-LIFECYCLE)
ARCH-B4.2-05 Profile selectionPASSEDtest_lifecycle_profiles.py::test_profile_catalog_and_creation (E-ID-LIFECYCLE)
ARCH-B4.2-06 ParametersPASSEDtest_services_install.py::test_validation_errors (E-ID-LIFECYCLE)
ARCH-B4.2-07 PrevalidationPASSEDtest_lifecycle_checks.py::test_preflight_blocks_installation_on_critical_failures test_services_install.py::test_artifact_missing_and_preflight_failure (E-ID-LIFECYCLE)
ARCH-B4.2-08 Ordered registered deploymentPASSEDtest_services_install.py::test_provider_and_consumer_install_end_to_end (E-ID-LIFECYCLE)
ARCH-B4.2-09 Security bootstrapBLOCKEDtest_services_install.py::test_opa_binary_install (E-ID-LIFECYCLE)Needs a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-B4.2-10 Functional validationBLOCKEDtest_lifecycle_bundle_acceptance.py::test_signed_acceptance_report_with_evidence (E-ID-LIFECYCLE)Needs a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-B4.2-11 Operational activationIN_PROGRESSCovered by another lot (licence C10, discovery C01); proof to cite

Part B, B4.3. What the client finds after installation​

ItemStatusProofRemaining or blocker
ARCH-B4.3-01 Portal reachable with SSO and MFABLOCKEDNeeds a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-B4.3-02 Admin accounts and emergency accessBLOCKEDNeeds a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-B4.3-03 Components registered and supervisedPASSEDtest_services_install.py::test_provider_and_consumer_install_end_to_end (E-ID-LIFECYCLE)
ARCH-B4.3-04 Base policies and rolesBLOCKEDNeeds a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-B4.3-05 SDK downloadableBLOCKEDNeeds a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-B4.3-06 Local offline documentationBLOCKEDNeeds a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-B4.3-07 Examples without real dataBLOCKEDNeeds a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-B4.3-08 Business packs visible and installableBLOCKEDNeeds a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-B4.3-09 Traces and metricsBLOCKEDNeeds a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-B4.3-10 Alerts, detection, Kill Switch testableBLOCKEDNeeds a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-B4.3-11 Audit events and evidence viewableBLOCKEDNeeds a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-B4.3-12 Test model endpointBLOCKEDNeeds a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-B4.3-13 Backups configured and restore documentedBLOCKEDNeeds a real Kubernetes cluster for the end to end run; the local logic is proven by the cited tests [B-CLUSTER]
ARCH-B4.3-14 Ready on day one without magic permissionsPASSEDtest_lifecycle_bundle_acceptance.py::test_signed_acceptance_report_with_evidence (E-ID-LIFECYCLE)

Part B, B5.1. Functional tree of the portal​

ItemStatusProofRemaining or blocker
ARCH-B5.1-01 OverviewPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)
ARCH-B5.1-02 Platform ManagerIN_PROGRESSplatform-manager.test.ts::Platform Manager space over the Control Plane bridge nav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Space delivered over the /v1/platform-manager routes (C01) with configuration, operation body and role filtering tests; not replayed against a real Platform Manager from the portal, deep links lack a route exposing the base URL.
ARCH-B5.1-03 Organizations & IAMIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.1-04 AI Models & GatewayPASSEDnav-access.test.ts::navigation filtered by role from GET /v1/me screens-ai.test.ts::providersCfg routes, bodies, roles, confirmations and states (E-DF-PORTAL, E-PT-SCREENS)
ARCH-B5.1-05 Agents & ApplicationsIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.1-06 Developer StudioIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.1-07 Enterprise MarketplaceIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.1-08 Data & RAGIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.1-09 Security & GovernanceIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.1-10 SOC & Incident ResponseIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.1-11 ObservabilityIN_PROGRESSobservability.test.ts::Observability SLO screen nav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)SLO and error budget screen delivered over GET /v1/telemetry/slo; Opik traces and Grafana dashboards stay outside the portal with no dedicated deep link.
ARCH-B5.1-12 Quality & EvaluationIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.1-13 FinOpsIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.1-14 Audit & ComplianceIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.1-15 InfrastructureIN_PROGRESSplatform-manager.test.ts::Platform Manager space over the Control Plane bridge nav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Space delivered over the /v1/platform-manager routes (C01) with configuration, operation body and role filtering tests; not replayed against a real Platform Manager from the portal, deep links lack a route exposing the base URL.
ARCH-B5.1-16 Licensing & SupportIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.1-17 DocumentationIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.

Part B, B5.2. Priority screens​

ItemStatusProofRemaining or blocker
ARCH-B5.2-01 Global dashboardIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.2-02 Service ManagerIN_PROGRESSplatform-manager.test.ts::Platform Manager space over the Control Plane bridge nav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Space delivered over the /v1/platform-manager routes (C01) with configuration, operation body and role filtering tests; not replayed against a real Platform Manager from the portal, deep links lack a route exposing the base URL.
ARCH-B5.2-03 Agent DetailsIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.2-04 Execution ExplorerIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.2-05 Policy ManagerIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.2-06 Prompt & Skill StudioIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.2-07 MCP StudioIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.2-08 Plugin BuilderIN_PROGRESSapi-conformance.test.ts::screen configs (ResourceView / Tester) nav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)The plugin catalogue (install, uninstall, status) exists; authoring and building a plugin in the portal is not provided.
ARCH-B5.2-09 MarketplaceIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.2-10 Model GatewayIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.2-11 Data ProtectionIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.2-12 SOC ConsoleIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.2-13 Kill Switch CenterIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.2-14 Audit ExplorerIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.
ARCH-B5.2-15 License CenterIN_PROGRESSnav-access.test.ts::navigation filtered by role from GET /v1/me (E-DF-PORTAL)Screen present without a dedicated vitest test of configuration, request bodies and states; to complete.

Part B, B5.3. Shared frontend components and destructive actions​

ItemStatusProofRemaining or blocker
ARCH-B5.3-01 ResourceTable: search, filters, sort, pagination, export subject to permissionsPASSEDcomponents.test.ts::searches, sorts numerically with missing values last and paginates (E-DF-PORTAL)
ARCH-B5.3-02 ResourceDetails: information, state, versions, dependencies, historyPASSEDcomponents.test.ts::splits information, state, versions, dependencies and history from the real fields (E-DF-PORTAL)
ARCH-B5.3-03 ConfigurationEditor: forms generated from JSON SchemaPASSEDcomponents.test.ts::generates the form fields from a JSON Schema of contracts/v1 (E-DF-PORTAL)
ARCH-B5.3-04 CodeEditor: Monaco for Python, TypeScript, JSON, YAML, RegoIN_PROGRESSstudio.test.ts::registers the contracts/v1 schemas in the editor, with the policy request wrapper (E-DF-PORTAL)Declared languages: json, markdown, rego, plaintext, yaml; Python and TypeScript not registered in EditorLanguage.
ARCH-B5.3-05 PermissionMatrix: roles, resources, operationsPASSEDcomponents.test.ts::crosses subjects and resources with the relations of GET /v1/authz/tuples (E-DF-PORTAL)
ARCH-B5.3-06 ExecutionTimelinePASSEDcomponents.test.ts::merges steps and subagents of GET /v1/runs/{id}/steps and /subagents in time order (E-DF-PORTAL)
ARCH-B5.3-07 DependencyGraphPASSEDcomponents.test.ts::layers GET /v1/lineage/graph and keeps the nodes of a cycle (E-DF-PORTAL)
ARCH-B5.3-08 ApprovalDialog: human validation, separation of dutiesPASSEDcomponents.test.ts::enforces separation of duties, the approver roles and the reject comment (E-DF-PORTAL)
ARCH-B5.3-09 SecurityFindings: vulnerabilities, risks, evidence, remediationsPASSEDcomponents.test.ts::orders by severity and counts, keeping risk, evidence and remediation (E-DF-PORTAL)
ARCH-B5.3-10 DeploymentProgress: steps, state, results, errorsPASSEDcomponents.test.ts::reports steps, state, current step and errors (E-DF-PORTAL)
ARCH-B5.3-11 IncidentTimeline: detection, decision, containment, verification, resolutionPASSEDcomponents.test.ts::shows detection, decision, containment, verification and resolution dated by real events only (E-DF-PORTAL)
ARCH-B5.3-12 Destructive actions: impacted resources, dependencies, risks and permissions shown before confirmationIN_PROGRESScomponents.test.ts::lists transitive dependents, risks and permissions and confirms only on the typed name (E-DF-PORTAL)DestructiveConfirm available; existing destructive actions of ResourceView keep the simple confirmation (not wired to the component).

Part B, B5.4. Portal roles​

ItemStatusProofRemaining or blocker
ARCH-B5.4-01 Platform Administrator rolePASSEDtest_iam_role_matrix.py::test_role_matrix (E-IR-IDENTITY)
ARCH-B5.4-02 Security Administrator rolePASSEDtest_iam_role_matrix.py::test_role_matrix (E-IR-IDENTITY)
ARCH-B5.4-03 SOC Analyst rolePASSEDtest_iam_role_matrix.py::test_reference_roles_matrix (E-IR-IDENTITY)
ARCH-B5.4-04 Compliance/Auditor rolePASSEDtest_iam_role_matrix.py::test_role_matrix (E-IR-IDENTITY)
ARCH-B5.4-05 AI Platform Engineer rolePASSEDtest_iam_role_matrix.py::test_reference_roles_matrix (E-IR-IDENTITY)
ARCH-B5.4-06 AI Developer rolePASSEDtest_iam_role_matrix.py::test_role_matrix (E-IR-IDENTITY)
ARCH-B5.4-07 Data Steward rolePASSEDtest_iam_role_matrix.py::test_reference_roles_matrix (E-IR-IDENTITY)
ARCH-B5.4-08 Business Owner rolePASSEDtest_iam_role_matrix.py::test_business_owner_approves_use_case_and_soc_analyst_cannot test_iam_role_matrix.py::test_reference_roles_matrix (E-IR-IDENTITY)
ARCH-B5.4-09 FinOps Manager rolePASSEDtest_iam_role_matrix.py::test_role_matrix (E-IR-IDENTITY)
ARCH-B5.4-10 Support Engineer rolePASSEDtest_iam_role_matrix.py::test_reference_roles_matrix (E-IR-IDENTITY)
ARCH-B5.4-11 Every endpoint checks OpenFGA and OPA independently of the interfacePASSEDtest_iam_openfga_real.py::test_require_relation_on_tool_routes_with_real_openfga test_iam_fail_closed.py::test_opa_killed_refuses_the_tool_call_and_audits_it (E-IR-IDENTITY)

Part B, B6.1. Control Plane modules​

ItemStatusProofRemaining or blocker
ARCH-B6.1-01 platform-core: tenants, projects, environmentsPASSEDtest_core_tenancy.py::test_tenant_admin_flow test_core_tenancy.py::test_projects_and_environments (E-RB-CP)
ARCH-B6.1-02 platform-manager: Manager operations APIPASSEDtest_platform_core.py::test_operations_api_detail_logs_abort_retry_and_scope (E-RB-NM)
ARCH-B6.1-03 component-registry: acyclic dependency graphPASSEDtest_platform_components.py::test_dependency_graph_is_acyclic_and_resolvable (E-RB-CP)
ARCH-B6.1-04 configuration-manager: persisted and audited settingsPASSEDtest_security_api.py::test_settings_get_put_persist_and_audit (E-RB-CP)
ARCH-B6.1-05 identity-broker: OIDC and API keysPASSEDtest_core_auth.py::test_oidc test_core_auth.py::test_api_key_lifecycle (E-RB-CP)
ARCH-B6.1-06 authorization-servicePASSEDtest_core_secrets_authz.py::test_authz_tuples_and_check (E-RB-CP)
ARCH-B6.1-07 delegation-servicePASSEDtest_identity_context_delegation.py::test_restricted_delegation_is_always_narrower_and_revocation_cascades (E-RB-CP)
ARCH-B6.1-08 context-authority: creation, verification, signature of SDK contextsPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_signing_key_is_read_from_the_openbao_reference_and_never_exposed (E-RB-CP)
ARCH-B6.1-09 agent-registryPASSEDtest_capabilities_gateways.py::test_manifest_apply_every_capability_kind (E-RB-CP)
ARCH-B6.1-10 application-registryPASSEDtest_applications_registry.py::test_application_lifecycle_and_external_agent (E-RB-CP)
ARCH-B6.1-11 model-registryPASSEDtest_llm_registry.py::test_model_registry_and_status (E-RB-CP)
ARCH-B6.1-12 model-gateway-manager: LiteLLM sync without secretPASSEDtest_llm_registry.py::test_litellm_sync_proxy test_llm_registry.py::test_litellm_config_contains_no_secret (E-RB-CP)
ARCH-B6.1-13 prompt-registryPASSEDtest_data_retention_lineage_prompts.py::test_prompt_registry_render (E-RB-CP)
ARCH-B6.1-14 skill-registryPASSEDtest_capabilities_gateways.py::test_skill_loader_refuses_tampered_unsigned_blocked (E-RB-CP)
ARCH-B6.1-15 mcp-registryPASSEDtest_approvals_promotion.py::test_skill_and_mcp_status_routes (E-RB-CP)
ARCH-B6.1-16 connector-registryPASSEDtest_capabilities_gateways.py::test_webhook_signature_replay_and_dedupe (E-RB-CP)
ARCH-B6.1-17 plugin-managerPASSEDtest_capabilities_gateways.py::test_plugin_install_lifecycle (E-RB-CP)
ARCH-B6.1-18 policy-manager: revisions, diff, simulationPASSEDtest_iam_policy_simulator.py::test_revisions_diff_and_simulation (E-RB-CP)
ARCH-B6.1-19 data-governancePASSEDtest_data_quality_governance.py::test_governance_registry test_data_privacy.py::test_classify_and_dlp_modes (E-RB-CP)
ARCH-B6.1-20 rag-manager: source permission checked before ingestionPASSEDtest_rag_governance.py::test_source_permission_checked_before_ingestion (E-RB-CP)
ARCH-B6.1-21 approval-managerPASSEDtest_approvals_promotion.py::test_promotion_waits_for_an_approval_from_someone_else (E-RB-CP)
ARCH-B6.1-22 finops-managerPASSEDtest_finops_quotas.py::test_reserve_commit_release_cycle (E-RB-CP)
ARCH-B6.1-23 evaluation-manager: A/B comparisonsPASSEDtest_evaluation_ab.py::test_comparison_is_saved_with_baseline_metrics_and_verdict (E-RB-CP)
ARCH-B6.1-24 licensing-managerPASSEDtest_licensing.py::test_annual_and_triennial_licences_activate_online (E-RB-CP)
ARCH-B6.1-25 documentation-service: documented and implemented API surfaceIN_PROGRESStest_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)No online documentation service in the Control Plane; documentation ships as files (docs/, OpenAPI) checked by tests.

Part B, B6.2. Independent runtime and security services​

ItemStatusProofRemaining or blocker
ARCH-B6.2-01 agent-execution-gateway: mandatory entry point of executions (third party agents included)PASSEDtest_applications_registry.py::test_external_agent_model_and_mcp_gateways test_identity_context_delegation.py::test_opa_decision_is_taken_before_each_action_with_the_original_user (E-RB-CP)
ARCH-B6.2-02 navin-runtime-service: heartbeat, suspend, killPASSEDtest_agents_execution.py::test_kill_switch_blocks_new_runs (E-RB-CP)
ARCH-B6.2-03 secure-mcp-gatewayPASSEDtest_capabilities_gateways.py::test_mcp_gateway test_gateway_pep_untrusted.py::test_untrusted_mcp_result (E-RB-CP)
ARCH-B6.2-04 data-protection-gateway: DLP maskingPASSEDtest_capabilities_gateways.py::test_tool_invoke_dlp_credentials_usage test_llm_gateway.py::test_control_dlp (E-RB-CP)
ARCH-B6.2-05 audit-gateway: independent durable collectionPASSEDtest_evidence_gateway.py::test_gateway_redelivers_after_target_outage_without_loss_or_duplicate test_evidence_gateway.py::test_gateway_detects_outbox_sequence_gap (E-RB-CP)
ARCH-B6.2-06 evidence-servicePASSEDtest_evidence_gateway.py::test_seal_signature_verifies_online_and_offline test_evidence_gateway.py::test_monitor_detects_sql_tampering_of_a_sealed_event (E-RB-CP)
ARCH-B6.2-07 security-detection-enginePASSEDtest_soc_ai_sdr.py::test_risk_engine_rules_are_traced test_soc_ai_sdr.py::test_egress_denied_is_blocked_and_opens_an_incident (E-RB-CP)
ARCH-B6.2-08 incident-controllerPASSEDtest_soc_ai_sdr.py::test_incident_lifecycle_assignment_and_auditable_timeline (E-RB-CP)
ARCH-B6.2-09 kill-switch-controllerPASSEDtest_soc_ai_sdr.py::test_kill_switch_cancels_run_and_subagents_and_refuses_new_actions (E-RB-CP)
ARCH-B6.2-10 containment-verifier: verified only on real proofPASSEDtest_soc_ai_sdr.py::test_verified_only_on_real_proof_and_drift_is_reapplied test_soc_ai_sdr.py::test_network_isolation_waits_for_a_signed_in_cluster_receipt (E-RB-CP)
ARCH-B6.2-11 storage-adapter-servicePASSEDtest_storage_profiles_api.py::test_presigned_urls_need_a_verified_capability_and_respect_expiry_and_scope (E-RB-CP)
ARCH-B6.2-12 telemetry-ingestion-servicePASSEDtest_data_quality_governance.py::test_telemetry_ingest_overview_trace (E-RB-CP)
ARCH-B6.2-13 Execution workers, telemetry ingestion and SOC scale separatelyIN_PROGRESStest_platform_deploy_env.py::test_helm_worker_deployment test_media_worker.py::test_helm_worker_kinds_are_media_worker_operations (E-RB-CP)The worker and the multimodal workers (KEDA) have their own deployments and replicas; telemetry ingestion and the SOC have no separate deployment yet.

Part B, B6.3. Main API contracts and operation_id​

ItemStatusProofRemaining or blocker
ARCH-B6.3-01 Contract POST /platform/installations served by POST /api/v1/clusters/{cluster_id}/servicesPASSEDtest_services_install.py::test_provider_and_consumer_install_end_to_end test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP, E-RB-NM)
ARCH-B6.3-02 Contract GET /components served by GET /api/v1/clusters/{cluster_id}/servicesPASSEDtest_services_operate.py::test_component_instances_change_peers test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP, E-RB-NM)
ARCH-B6.3-03 Contract POST /components/{id}/operations served by POST /api/v1/clusters/{cluster_id}/services/{service}/actionsPASSEDtest_services_operate.py::test_actions_rolling_restart_and_permissions test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP, E-RB-NM)
ARCH-B6.3-04 Contract PUT /components/{id}/configuration served by PUT /api/v1/clusters/{cluster_id}/services/{service}/configPASSEDtest_services_config.py::test_versions_diff_restore_and_secrets test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP, E-RB-NM)
ARCH-B6.3-05 Contract POST /agents served by POST /v1/agentsPASSEDtest_agents_execution.py::test_kill_switch_blocks_new_runs test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-06 Contract POST /executions served by POST /v1/agents/{agent_id}/runsPASSEDtest_agents_execution.py::test_run_lifecycle_contract_and_invalid_transition test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-07 Contract POST /delegations served by POST /v1/delegationsPASSEDtest_identity_context_delegation.py::test_restricted_delegation_is_always_narrower_and_revocation_cascades test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-08 Contract POST /authorization/check served by POST /v1/authz/checkPASSEDtest_core_secrets_authz.py::test_authz_tuples_and_check test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-09 Contract POST /policies/validate served by POST /v1/policies/simulatePASSEDtest_iam_policy_simulator.py::test_revisions_diff_and_simulation test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-10 Contract POST /prompts served by POST /v1/promptsPASSEDtest_data_retention_lineage_prompts.py::test_prompt_registry_render test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-11 Contract POST /skills served by POST /v1/skillsPASSEDtest_capabilities_gateways.py::test_skill_loader_refuses_tampered_unsigned_blocked test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-12 Contract POST /mcp-servers served by POST /v1/mcp/serversPASSEDtest_capabilities_gateways.py::test_mcp_gateway test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-13 Contract POST /plugins/installations served by POST /v1/marketplace/installationsPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-14 Contract POST /models served by POST /v1/modelsPASSEDtest_llm_registry.py::test_model_registry_and_status test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-15 Contract POST /evaluations/runs served by POST /v1/evaluations/runsPASSEDtest_data_evaluation.py::test_evaluation_gate_pass_and_fail test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-16 Contract GET /audit/events served by GET /v1/audit/eventsPASSEDtest_data_quality_governance.py::test_audit_events_verify_export_correlations test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-17 Contract POST /incidents served by POST /v1/incidentsPASSEDtest_data_quality_governance.py::test_incident_actions test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-18 Contract POST /security/containments served by POST /v1/soc/ordersPASSEDtest_soc_ai_sdr.py::test_soc_roles_access_audit_and_sealed_chain_of_custody test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-19 Contract POST /security/recoveries served by POST /v1/soc/recoveriesPASSEDtest_soc_ai_sdr.py::test_recovery_needs_four_eyes_then_reauthorization test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-20 Contract POST /license/activate served by POST /v1/license/activationsPASSEDtest_licensing.py::test_annual_and_triennial_licences_activate_online test_architecture_contracts_map.py::test_every_mapped_route_exists_in_the_committed_openapi (E-RB-CP)
ARCH-B6.3-21 Every long operation returns an operation_id to follow progress, fetch the result and avoid duplicatesIN_PROGRESStest_platform_core.py::test_operations_api_detail_logs_abort_retry_and_scope test_services_install.py::test_provider_and_consumer_install_end_to_end test_agents_execution.py::test_run_lifecycle_contract_and_invalid_transition (E-RB-CP, E-RB-NM)The Manager returns an operation_id for every long operation; the Control Plane returns the id of the tracked resource and accepts Idempotency-Key only on runs and approvals: a common operation_id and deduplication on every long creation remain to be done.

Part B, B7.1. SQL split by domain​

ItemStatusProofRemaining or blocker
ARCH-B7.1-01 Schema corePASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-02 Schema platformPASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-03 Schema iamPASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-04 Schema governancePASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-05 Schema aiPASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-06 Schema modelsPASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-07 Schema developerPASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-08 Schema marketplacePASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-09 Schema dataPASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-10 Schema privacyPASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-11 Schema observabilityPASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-12 Schema auditPASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-13 Schema securityPASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-14 Schema finopsPASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-15 Schema licensingPASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-16 Schema operationsPASSEDtest_data_model_mapping.py::test_reference_schemas_cover_the_sixteen_schemas test_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-17 Large content in client object storage, metadata, digests and ACL in PostgreSQLPASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls (E-DP-DATAMODEL)
ARCH-B7.1-18 OpenTelemetry traces not copied into PostgreSQLIN_PROGRESStest_data_model_mapping.py::test_column_backed_concepts_exist (E-DP-DATAMODEL)eai.telemetry_spans still stores summarised spans: to be replaced by references (trace_id) or justified by an ADR.

Part B, B7.2. Common fields of business tables​

ItemStatusProofRemaining or blocker
ARCH-B7.2-01 Common field idPASSEDtest_data_model_mapping.py::test_common_fields_are_carried_where_declared (E-DP-DATAMODEL)
ARCH-B7.2-02 Common field tenant_idPASSEDtest_data_model_mapping.py::test_common_fields_are_carried_where_declared (E-DP-DATAMODEL)
ARCH-B7.2-03 Common field environment_idIN_PROGRESStest_data_model_mapping.py::test_common_fields_are_carried_where_declared (E-DP-DATAMODEL)No table carries environment_id: the environment is a text column (marketplace_installations.environment, usage_events.environment). Normalisation to be decided.
ARCH-B7.2-04 Common field created_atPASSEDtest_data_model_mapping.py::test_common_fields_are_carried_where_declared (E-DP-DATAMODEL)
ARCH-B7.2-05 Common field updated_atPASSEDtest_data_model_mapping.py::test_common_fields_are_carried_where_declared (E-DP-DATAMODEL)
ARCH-B7.2-06 Common field created_byPASSEDtest_data_model_mapping.py::test_common_fields_are_carried_where_declared (E-DP-DATAMODEL)
ARCH-B7.2-07 Common field updated_byIN_PROGRESStest_data_model_mapping.py::test_common_fields_are_carried_where_declared (E-DP-DATAMODEL)Carried only by eai.llm_model_rollouts; not generalised to business tables, no JSON Schema validation in the database for metadata.
ARCH-B7.2-08 Common field versionIN_PROGRESStest_data_model_mapping.py::test_common_fields_are_carried_where_declared (E-DP-DATAMODEL)Carried only by eai.storage_profiles, eai.memory_items, eai.llm_models; not generalised to business tables, no JSON Schema validation in the database for metadata.
ARCH-B7.2-09 Common field statusPASSEDtest_data_model_mapping.py::test_common_fields_are_carried_where_declared (E-DP-DATAMODEL)
ARCH-B7.2-10 Common field metadataIN_PROGRESStest_data_model_mapping.py::test_common_fields_are_carried_where_declared (E-DP-DATAMODEL)Carried only by eai.sessions, eai.kb_documents, eai.connector_credentials; not generalised to business tables, no JSON Schema validation in the database for metadata.
ARCH-B7.2-11 Common field classificationPASSEDtest_data_model_mapping.py::test_common_fields_are_carried_where_declared (E-DP-DATAMODEL)
ARCH-B7.2-12 Common field correlation_idIN_PROGRESStest_data_model_mapping.py::test_common_fields_are_carried_where_declared (E-DP-DATAMODEL)Carried only by eai.audit_events, eai.usage_events, eai.telemetry_spans (named trace_id); not generalised to business tables, no JSON Schema validation in the database for metadata.
ARCH-B7.2-13 Adapted schemas for global, association and immutable tablesPASSEDtest_data_model_mapping.py::test_every_mapped_eai_table_exists_with_columns_and_rls test_core_rls.py::test_audit_is_append_only_for_app_role (E-DP-DATAMODEL)

Part B, B7.3. Isolation by RLS and SQL roles​

ItemStatusProofRemaining or blocker
ARCH-B7.3-01 Tenant set from the verified identity with SET LOCAL in the transactionPASSEDtest_core_rls.py::test_raw_sql_inside_tx_is_isolated test_core_rls.py::test_tenant_scope_without_principal_and_role_reset_after_tx (E-DP-DATAMODEL)
ARCH-B7.3-02 Non privileged SQL rolePASSEDtest_data_model_mapping.py::test_runtime_role_cannot_bypass_rls test_core_rls.py::test_unscoped_app_role_sees_nothing (E-DP-DATAMODEL)
ARCH-B7.3-03 Administrator and runtime connections separatedIN_PROGRESStest_core_rls.py::test_tenant_scope_without_principal_and_role_reset_after_tx test_core_rls_forced.py::test_migrations_run_in_the_platform_context (E-DP-DATAMODEL)A single login (EAI_DATABASE_URL): separation relies on SET LOCAL ROLE eai_app per transaction; a second runtime login without migration rights is still to be introduced.
ARCH-B7.3-04 Table owner and BYPASSRLS roles handledPASSEDtest_core_rls_forced.py::test_force_binds_the_table_owner test_core_rls_forced.py::test_every_tenant_table_has_forced_row_level_security test_data_model_mapping.py::test_runtime_role_cannot_bypass_rls (E-DP-DATAMODEL)
ARCH-B7.3-05 Tests proving a query cannot cross the tenant boundaryPASSEDtest_core_rls.py::test_raw_sql_inside_tx_is_isolated test_core_rls.py::test_cannot_insert_into_other_tenant test_core_rls.py::test_api_isolation +1 (E-DP-DATAMODEL)

Part B, B7.4. Marketplace SQL model​

ItemStatusProofRemaining or blocker
ARCH-B7.4-01 packages table (namespace, name, category, publisher, status)IN_PROGRESStest_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)eai.marketplace_packages holds name, domain (category), owner (publisher) but no namespace and no package status column.
ARCH-B7.4-02 package_versions table (manifest, artifact, digest, signature, security status, date)PASSEDtest_marketplace.py::test_publication_succeeds_with_every_gate test_marketplace.py::test_production_publication_needs_gates_and_four_eyes (E-MK-MARKETPLACE)
ARCH-B7.4-03 Installations per tenant and environment (configuration, status, installed_by)PASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_other_tenant_reaches_no_marketplace_resource (E-MK-MARKETPLACE)
ARCH-B7.4-04 Relations with approvals, dependencies, roles, secrets, history and rollbackPASSEDtest_marketplace.py::test_upgrade_rollback_and_uninstall test_marketplace.py::test_install_refuses_unapproved_or_unrequested_permissions test_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)
ARCH-B7.4-05 Versioned SQL migrations tested automaticallyPASSEDtest_core_migrations.py::test_all_migrations_applied test_core_migrations.py::test_new_migration_applied_in_order (E-MK-MARKETPLACE)

Part B, B8.1. Content of a business plugin​

ItemStatusProofRemaining or blocker
ARCH-B8.1-01 Plugin holding agents: validated, installed, activatedPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.1-02 Plugin holding subagents: validated, installed, activatedPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.1-03 Plugin holding skills: validated, installed, activatedPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.1-04 Plugin holding prompts: validated, installed, activatedPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.1-05 Plugin holding rules: validated, installed, activatedIN_PROGRESStest_marketplace.py::test_publication_succeeds_with_every_gate test_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)The rules are validated at publication (mandatory folder, tests/observability gates) but installer.py neither creates nor activates them in a registry.
ARCH-B8.1-06 Plugin holding OPA policies: validated, installed, activatedPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.1-07 Plugin holding OpenFGA relations: validated, installed, activatedIN_PROGRESStest_marketplace.py::test_publication_succeeds_with_every_gate test_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)The OpenFGA relations are validated at publication (mandatory folder, tests/observability gates) but installer.py neither creates nor activates them in a registry.
ARCH-B8.1-08 Plugin holding MCP servers: validated, installed, activatedIN_PROGRESStest_marketplace.py::test_publication_succeeds_with_every_gate test_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)The MCP servers are validated at publication (mandatory folder, tests/observability gates) but installer.py neither creates nor activates them in a registry.
ARCH-B8.1-09 Plugin holding MCP tools: validated, installed, activatedPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.1-10 Plugin holding connectors: validated, installed, activatedPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.1-11 Plugin holding workflows: validated, installed, activatedIN_PROGRESStest_marketplace.py::test_publication_succeeds_with_every_gate test_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)The workflows are validated at publication (mandatory folder, tests/observability gates) but installer.py neither creates nor activates them in a registry.
ARCH-B8.1-12 Plugin holding RAG templates: validated, installed, activatedIN_PROGRESStest_marketplace.py::test_publication_succeeds_with_every_gate test_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)The RAG templates are validated at publication (mandatory folder, tests/observability gates) but installer.py neither creates nor activates them in a registry.
ARCH-B8.1-13 Plugin holding evaluations: validated, installed, activatedPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.1-14 Plugin holding security tests: validated, installed, activatedPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.1-15 Plugin holding dashboards: validated, installed, activatedIN_PROGRESStest_marketplace.py::test_publication_succeeds_with_every_gate test_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)kit element set aside by ADR-0169 (packs without dashboards)
ARCH-B8.1-16 Plugin holding alerts: validated, installed, activatedIN_PROGRESStest_marketplace.py::test_publication_succeeds_with_every_gate test_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)The alerts are validated at publication (mandatory folder, tests/observability gates) but installer.py neither creates nor activates them in a registry.
ARCH-B8.1-17 Plugin holding documentation: validated, installed, activatedPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.1-18 Plugin holding tests: validated, installed, activatedPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.1-19 Plugin holding migrations: validated, installed, activatedIN_PROGRESStest_marketplace.py::test_publication_succeeds_with_every_gate test_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)The migrations are validated at publication (mandatory folder, tests/observability gates) but installer.py neither creates nor activates them in a registry.

Part B, B8.2. Standard folder structure of a plugin​

ItemStatusProofRemaining or blocker
ARCH-B8.2-01 Official folder structure enforced by the validatorPASSEDtest_marketplace.py::test_publication_fails_when_a_gate_input_is_missing test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.2-02 Mandatory files plugin.yaml, README.md, LICENSE, CHANGELOG.mdPASSEDtest_marketplace.py::test_publication_fails_when_a_gate_input_is_missing (E-MK-MARKETPLACE)
ARCH-B8.2-03 Unused folders may be omittedPASSEDtest_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)

Part B, B8.3. Plugin manifest​

ItemStatusProofRemaining or blocker
ARCH-B8.3-01 Metadata (namespace, name, version, category, publisher, displayName)IN_PROGRESStest_marketplace.py::test_publication_fails_when_a_gate_input_is_missing (E-MK-MARKETPLACE)The schema holds name, version, owner, domain; namespace, category, publisher and displayName are not schema fields.
ARCH-B8.3-02 Platform and SDK compatibility rangesPASSEDtest_marketplace.py::test_version_ranges test_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)
ARCH-B8.3-03 Declared contentsPASSEDtest_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.3-04 requestedPermissions data, tools, actionsPASSEDtest_marketplace.py::test_install_refuses_unapproved_or_unrequested_permissions test_marketplace.py::test_signed_pack_with_unsafe_permission_is_refused (E-MK-MARKETPLACE)
ARCH-B8.3-05 dataProtection (PII detection, masking, external export denied by default)IN_PROGRESStest_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)dataProtection is accepted by the schema but piiDetectionRequired, maskingPolicy, externalExportDefault are neither required nor applied at install.
ARCH-B8.3-06 approvals requiredForIN_PROGRESStest_marketplace.py::test_production_promotion_then_prod_install test_marketplace.py::test_install_refuses_unapproved_or_unrequested_permissions (E-MK-MARKETPLACE)Approvals are expressed as approvals.install/sensitive/production (quorum), not as a requiredFor list.
ARCH-B8.3-07 security (signed artifact, sandbox, dynamic authorization, audit)IN_PROGRESStest_marketplace.py::test_unsigned_tampered_or_untrusted_pack_is_refused test_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)Signature enforced and dynamic authorization via /authorize; the sandboxRequired and auditRequired flags do not exist in the pack manifest.
ARCH-B8.3-08 Configuration schemaIN_PROGRESStest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)Configuration is free form (config); no configuration schema declared in the manifest is validated.
ARCH-B8.3-09 Tests flags (SDK conformance, authorization, security)IN_PROGRESStest_marketplace.py::test_publication_fails_when_a_gate_input_is_missing test_marketplace.py::test_publication_fails_on_failed_tests_evaluations_or_vulnerabilities (E-MK-MARKETPLACE)Unit, integration, authz, security tests required by the tests gate; no sdkConformance flag.
ARCH-B8.3-10 Documentation entrypointPASSEDtest_marketplace.py::test_publication_fails_when_a_gate_input_is_missing (E-MK-MARKETPLACE)
ARCH-B8.3-11 Permissions requested not granted: approval then only approved ones appliedPASSEDtest_marketplace.py::test_install_refuses_unapproved_or_unrequested_permissions test_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)

Part B, B8.4. Marketplace end to end​

ItemStatusProofRemaining or blocker
ARCH-B8.4-01 Signed, versioned publicationPASSEDtest_marketplace.py::test_publication_succeeds_with_every_gate test_marketplace.py::test_unsigned_tampered_or_untrusted_pack_is_refused (E-MK-MARKETPLACE)
ARCH-B8.4-02 Analysis (manifest, SBOM, dependencies, security)PASSEDtest_marketplace.py::test_publication_fails_when_a_gate_input_is_missing test_marketplace.py::test_publication_fails_on_failed_tests_evaluations_or_vulnerabilities (E-MK-MARKETPLACE)
ARCH-B8.4-03 Evaluation (functional and security tests)PASSEDtest_marketplace.py::test_publication_fails_on_failed_tests_evaluations_or_vulnerabilities (E-MK-MARKETPLACE)
ARCH-B8.4-04 Approval of capabilities and permissionsPASSEDtest_marketplace.py::test_install_refuses_unapproved_or_unrequested_permissions test_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)
ARCH-B8.4-05 Installation in a precise tenant and environmentPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_other_tenant_reaches_no_marketplace_resource (E-MK-MARKETPLACE)
ARCH-B8.4-06 Configuration (connectors, secrets, data sources, models)PASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once (E-MK-MARKETPLACE)
ARCH-B8.4-07 Verification (real connection and access tests)IN_PROGRESStest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)Smoke tests check registration, scopes and skill loading; no real connector connection test.
ARCH-B8.4-08 Activation of approved agents, skills, tools and workflowsIN_PROGRESStest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-MK-MARKETPLACE)Agents, skills and tools activated by grant; workflows are not installed.
ARCH-B8.4-09 Supervision (activity, quality, costs, incidents)IN_PROGRESStest_marketplace.py::test_upgrade_rollback_and_uninstall (E-MK-MARKETPLACE)marketplace_events history and audit; no per plugin aggregated view of quality, costs and incidents.
ARCH-B8.4-10 Update (compatibility check, new approval)PASSEDtest_marketplace.py::test_upgrade_rollback_and_uninstall (E-MK-MARKETPLACE)
ARCH-B8.4-11 Suspension of the plugin or of capabilitiesIN_PROGRESStest_marketplace.py::test_upgrade_rollback_and_uninstall (E-MK-MARKETPLACE)No suspended state in marketplace_installations and no suspension route; only uninstall or publisher revocation exists.
ARCH-B8.4-12 Uninstall preserving evidence and dataPASSEDtest_marketplace.py::test_upgrade_rollback_and_uninstall (E-MK-MARKETPLACE)

Part B, B8.5. Plugin distribution format​

ItemStatusProofRemaining or blocker
ARCH-B8.5-01 OCI artifacts in Harbor with ORASBLOCKEDtest_marketplace.py::test_production_promotion_then_prod_install (E-MK-MARKETPLACE)No real Harbor; proven with ORAS to a local zot registry [B-DOCKER]
ARCH-B8.5-02 SemVerPASSEDtest_marketplace.py::test_version_ranges (E-MK-MARKETPLACE)
ARCH-B8.5-03 Cosign signaturePASSEDtest_marketplace.py::test_unsigned_tampered_or_untrusted_pack_is_refused test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.5-04 SBOMPASSEDtest_marketplace.py::test_publication_fails_when_a_gate_input_is_missing test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B8.5-05 Trivy scanPASSEDtest_marketplace.py::test_publication_fails_on_failed_tests_evaluations_or_vulnerabilities (E-MK-MARKETPLACE)
ARCH-B8.5-06 Provenance and licence controlIN_PROGRESStest_marketplace.py::test_publication_fails_when_a_gate_input_is_missing (E-MK-MARKETPLACE)Licence gate present; no provenance attestation (SLSA) is required.
ARCH-B8.5-07 Immutable digest referenced by the marketplacePASSEDtest_marketplace.py::test_production_publication_needs_gates_and_four_eyes test_marketplace.py::test_production_promotion_then_prod_install (E-MK-MARKETPLACE)
ARCH-B8.5-08 Local repository for air-gapped clientsIN_PROGRESStest_marketplace.py::test_production_promotion_then_prod_install (E-MK-MARKETPLACE)Local zot registry used in tests; no documented offline import of packs into the marketplace.
ARCH-B8.5-09 Signature and digest verified before every installPASSEDtest_marketplace.py::test_revoked_publisher_blocks_install_and_production test_marketplace.py::test_unsigned_tampered_or_untrusted_pack_is_refused (E-MK-MARKETPLACE)

Part B, B8.6. Business packs shipped with the platform​

ItemStatusProofRemaining or blocker
ARCH-B8.6-01 HR: recruitment, onboarding, leave, HR document analysis; HRIS, Workday, SuccessFactors, OdooPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only (E-BP-PACK-SOURCES, E-BP-PACKS-MARKETPLACE)
ARCH-B8.6-02 Finance: analysis, reporting, reconciliation, accounts payable; ERP, SAP, Odoo, SQLPASSEDtest_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once (E-BP-PACK-SOURCES, E-BP-PACKS-MARKETPLACE)
ARCH-B8.6-03 Banking: KYC, compliance, client documents, adviser assistance; core banking, CRM, document management, KYC toolsPASSEDtest_business_packs.py::test_pack_is_complete_and_holds_no_credential test_business_packs.py::test_pack_signed_published_installed_sensitive_actions_blocked (E-BP-PACK-SOURCES, E-BP-PACKS-MARKETPLACE)
ARCH-B8.6-04 Risk & Compliance: controls, anomalies, audit preparation, regulations; GRC, SIEM, document management, referentialsPASSEDtest_business_packs.py::test_pack_is_complete_and_holds_no_credential test_business_packs.py::test_pack_signed_published_installed_sensitive_actions_blocked (E-BP-PACK-SOURCES, E-BP-PACKS-MARKETPLACE)
ARCH-B8.6-05 Legal: contract search, clause analysis, files; document management, DMS, SharePointPASSEDtest_business_packs.py::test_pack_is_complete_and_holds_no_credential test_business_packs.py::test_pack_signed_published_installed_sensitive_actions_blocked (E-BP-PACK-SOURCES, E-BP-PACKS-MARKETPLACE)
ARCH-B8.6-06 IT Operations: diagnostics, incidents, documentation, assistance; Jira, GitLab, Kubernetes, observabilityPASSEDtest_business_packs.py::test_pack_is_complete_and_holds_no_credential test_business_packs.py::test_pack_signed_published_installed_sensitive_actions_blocked (E-BP-PACK-SOURCES, E-BP-PACKS-MARKETPLACE)
ARCH-B8.6-07 Cybersecurity: alert analysis, investigation, vulnerability reports; SIEM, Wazuh API, scanners, CMDB (API integration, no GPL component shipped)PASSEDtest_business_packs.py::test_pack_is_complete_and_holds_no_credential test_business_packs.py::test_pack_signed_published_installed_sensitive_actions_blocked (E-BP-PACK-SOURCES, E-BP-PACKS-MARKETPLACE)
ARCH-B8.6-08 Sales/CRM: prospecting, qualification, follow up; Salesforce, HubSpot, DynamicsPASSEDtest_business_packs.py::test_pack_is_complete_and_holds_no_credential test_business_packs.py::test_pack_signed_published_installed_sensitive_actions_blocked (E-BP-PACK-SOURCES, E-BP-PACKS-MARKETPLACE)
ARCH-B8.6-09 Marketing: content, campaigns, reporting, studies; CMS, analytics, social networksPASSEDtest_business_packs.py::test_pack_is_complete_and_holds_no_credential test_business_packs.py::test_pack_signed_published_installed_sensitive_actions_blocked (E-BP-PACK-SOURCES, E-BP-PACKS-MARKETPLACE)
ARCH-B8.6-10 Procurement: offer analysis, suppliers, contracts; ERP, procurement, document managementPASSEDtest_business_packs.py::test_pack_is_complete_and_holds_no_credential test_business_packs.py::test_pack_signed_published_installed_sensitive_actions_blocked (E-BP-PACK-SOURCES, E-BP-PACKS-MARKETPLACE)
ARCH-B8.6-11 Customer Support: FAQ, RAG, assistance, ticket qualification; Zendesk, ServiceNow, CRMPASSEDtest_business_packs.py::test_pack_is_complete_and_holds_no_credential test_business_packs.py::test_pack_signed_published_installed_sensitive_actions_blocked (E-BP-PACK-SOURCES, E-BP-PACKS-MARKETPLACE)
ARCH-B8.6-12 Document Intelligence: OCR, extraction, classification, validation; storage, document management, email, APIPASSEDtest_business_packs.py::test_pack_is_complete_and_holds_no_credential test_business_packs.py::test_pack_signed_published_installed_sensitive_actions_blocked (E-BP-PACK-SOURCES, E-BP-PACKS-MARKETPLACE)
ARCH-B8.6-13 Every pack configurable, no real credential, sensitive connectors and actions disabled until their security is validatedPASSEDtest_business_packs.py::test_pack_is_complete_and_holds_no_credential test_business_packs.py::test_pack_signed_published_installed_sensitive_actions_blocked test_marketplace.py::test_install_refuses_unapproved_or_unrequested_permissions +1 (E-BP-PACKS-MARKETPLACE)

Part B, B9.1. SDK package structure​

ItemStatusProofRemaining or blocker
ARCH-B9.1-01 Shared contracts used by every SDKPASSEDtest_api_conformance.py::test_every_sdk_method_matches_the_api test_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.1-02 Python modules and TypeScript, Go and Java equivalentsPASSEDtest_api_conformance.py::test_every_sdk_method_matches_the_api test_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.1-03 CLI, conformance tests, examples and docsPASSEDtest_api_conformance.py::test_every_sdk_method_matches_the_api test_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)

Part B, B9.2. Mandatory SDK contracts​

ItemStatusProofRemaining or blocker
ARCH-B9.2-01 Contract execution-contextPASSEDtest_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.2-02 Contract action-contextPASSEDtest_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.2-03 Contract delegation-contextPASSEDtest_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.2-04 Contract policy-decisionPASSEDtest_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.2-05 Contract tool-invocationPASSEDtest_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.2-06 Contract llm-invocationPASSEDtest_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.2-07 Contract data-access-contextPASSEDtest_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.2-08 Contract approval-requestPASSEDtest_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.2-09 Contract audit-eventPASSEDtest_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.2-10 Contract security-incidentPASSEDtest_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.2-11 Contract containment-orderPASSEDtest_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.2-12 Contract plugin-manifestPASSEDtest_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.2-13 Contract storage-profilePASSEDtest_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)
ARCH-B9.2-14 Contract license-entitlementPASSEDtest_governance_clients.py::test_embedded_contracts_match_the_repository (E-DF-SDK-PY)

Part B, B9.3. Exposed SDK methods​

ItemStatusProofRemaining or blocker
ARCH-B9.3-01 identity interfacePASSEDtest_api_conformance.py::test_every_sdk_method_matches_the_api test_sdk_interfaces.py::test_assume_service_cancel_record_and_storage_objects_confirm_their_result test_sdk_interfaces.py::test_assume_service_cancel_record_and_delete_propagate_every_refusal +7 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES, E-SC-B93-SERVER)
ARCH-B9.3-02 delegation interfacePASSEDtest_sdk_interfaces.py::test_delegation_subagent_tools_and_mcp interfaces.test.ts::delegation, subagent, tools, mcp, llm, rag and privacy interfaces_b93_test.go::TestB93MethodRoutes +1 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES)
ARCH-B9.3-03 authz interfacePASSEDtest_sdk_interfaces.py::test_authz_check_batch_and_explain interfaces.test.ts::checkBatch and explain report the confirmed decisions interfaces_b93_test.go::TestB93MethodRoutes +1 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES)
ARCH-B9.3-04 agent interfacePASSEDtest_api_conformance.py::test_every_sdk_method_matches_the_api conformance.test.ts interfaces_b93_test.go::TestB93MethodRoutes +1 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES)
ARCH-B9.3-05 subagent interfacePASSEDtest_sdk_interfaces.py::test_delegation_subagent_tools_and_mcp interfaces.test.ts::delegation, subagent, tools, mcp, llm, rag and privacy interfaces_b93_test.go::TestB93MethodRoutes +1 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES)
ARCH-B9.3-06 tools interfacePASSEDtest_sdk_interfaces.py::test_delegation_subagent_tools_and_mcp interfaces.test.ts::delegation, subagent, tools, mcp, llm, rag and privacy interfaces_b93_test.go::TestB93MethodRoutes +1 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES)
ARCH-B9.3-07 mcp interfacePASSEDtest_sdk_interfaces.py::test_delegation_subagent_tools_and_mcp interfaces.test.ts::delegation, subagent, tools, mcp, llm, rag and privacy interfaces_b93_test.go::TestB93MethodRoutes +1 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES)
ARCH-B9.3-08 llm interfacePASSEDtest_sdk_interfaces.py::test_llm_rag_privacy_interfaces interfaces.test.ts::delegation, subagent, tools, mcp, llm, rag and privacy interfaces_b93_test.go::TestB93MethodRoutes +1 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES)
ARCH-B9.3-09 rag interfacePASSEDtest_sdk_interfaces.py::test_llm_rag_privacy_interfaces interfaces.test.ts::delegation, subagent, tools, mcp, llm, rag and privacy interfaces_b93_test.go::TestB93MethodRoutes +1 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES)
ARCH-B9.3-10 privacy interfacePASSEDtest_sdk_interfaces.py::test_llm_rag_privacy_interfaces interfaces.test.ts::delegation, subagent, tools, mcp, llm, rag and privacy interfaces_b93_test.go::TestB93MethodRoutes +1 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES)
ARCH-B9.3-11 approval interfacePASSEDtest_sdk_interfaces.py::test_approval_audit_trace_finops_security test_sdk_interfaces.py::test_assume_service_cancel_record_and_storage_objects_confirm_their_result test_sdk_interfaces.py::test_assume_service_cancel_record_and_delete_propagate_every_refusal +7 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES, E-SC-B93-SERVER)
ARCH-B9.3-12 audit interfacePASSEDtest_sdk_interfaces.py::test_approval_audit_trace_finops_security test_sdk_interfaces.py::test_assume_service_cancel_record_and_storage_objects_confirm_their_result test_sdk_interfaces.py::test_assume_service_cancel_record_and_delete_propagate_every_refusal +5 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES, E-SC-B93-SERVER)
ARCH-B9.3-13 trace interfacePASSEDtest_sdk_interfaces.py::test_approval_audit_trace_finops_security interfaces.test.ts::approval, audit, trace, finops, security and storage interfaces_b93_test.go::TestB93MethodRoutes +1 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES)
ARCH-B9.3-14 finops interfacePASSEDtest_sdk_interfaces.py::test_approval_audit_trace_finops_security interfaces.test.ts::approval, audit, trace, finops, security and storage interfaces_b93_test.go::TestB93MethodRoutes +1 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES)
ARCH-B9.3-15 security interfacePASSEDtest_sdk_interfaces.py::test_approval_audit_trace_finops_security interfaces.test.ts::approval, audit, trace, finops, security and storage interfaces_b93_test.go::TestB93MethodRoutes +1 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES)
ARCH-B9.3-16 storage interfacePASSEDtest_sdk_interfaces.py::test_storage_put_and_get_go_through_a_presigned_grant test_sdk_interfaces.py::test_assume_service_cancel_record_and_storage_objects_confirm_their_result test_sdk_interfaces.py::test_assume_service_cancel_record_and_delete_propagate_every_refusal +7 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES, E-SC-B93-SERVER)
ARCH-B9.3-17 Rule: no assumed OPA or OpenFGA decisionPASSEDtest_sdk_interfaces.py::test_authz_errors_propagate_and_no_allow_is_assumed interfaces.test.ts::authz errors propagate and no allow is assumed interfaces_b93_test.go::TestB93NoAssumedAllow +1 (E-SC-PY-INTERFACES, E-SC-TS-INTERFACES, E-SC-GO-INTERFACES, E-SC-JAVA-INTERFACES)

Part B, B9.4. SDK that cannot be bypassed​

ItemStatusProofRemaining or blocker
ARCH-B9.4-01 Identity and delegation validated by the gateway (signed context, audience, issuer, expiry)PASSEDtest_identity_context_delegation.py::test_tampered_wrong_audience_wrong_issuer_expired_and_foreign_tenant_are_refused (E-RB-CP)
ARCH-B9.4-02 OpenFGA and OPA rechecked by the gateway before each actionPASSEDtest_identity_context_delegation.py::test_opa_decision_is_taken_before_each_action_with_the_original_user test_identity_context_delegation.py::test_policy_change_while_the_agent_runs_refuses_the_next_action (E-RB-CP)
ARCH-B9.4-03 LLM egress only through LiteLLMPASSEDtest_platform_security_manifests.py::test_vllm_reachable_only_from_litellm_and_control_plane test_llm_isolation.py::test_egress_barrier_denies_external_hosts_of_an_isolated_model (E-RB-CP)
ARCH-B9.4-04 MCP only through the Secure MCP GatewayPASSEDtest_gateway_pep_untrusted.py::test_pep_mcp_denied test_applications_registry.py::test_external_agent_model_and_mcp_gateways (E-RB-CP)
ARCH-B9.4-05 RAG through the data gateway and the storage ACLPASSEDtest_rag_governance.py::test_chunk_acl_forbidden_fragments_never_reach_the_context test_rag_governance.py::test_document_acl_and_other_tenant_refused (E-RB-CP)
ARCH-B9.4-06 Masking by the Data Protection GatewayPASSEDtest_capabilities_gateways.py::test_tool_invoke_dlp_credentials_usage test_llm_gateway.py::test_control_dlp (E-RB-CP)
ARCH-B9.4-07 Audit by the Audit Gateway with independent evidencePASSEDtest_evidence_gateway.py::test_seal_signature_verifies_online_and_offline test_evidence_gateway.py::test_forged_seal_signature_is_rejected (E-RB-CP)
ARCH-B9.4-08 Kill Switch enforced by admission, network and runtimeBLOCKEDtest_soc_ai_sdr.py::test_kill_switch_cancels_run_and_subagents_and_refuses_new_actions test_soc_ai_sdr.py::test_network_isolation_waits_for_a_signed_in_cluster_receipt test_platform_security_manifests.py::test_static_cluster_policies (E-RB-CP)Runtime and signed network receipts proven here; the real enforcement by Kyverno admission and Cilium on a cluster needs a cluster [B-CLUSTER].
ARCH-B9.4-09 External agents without the SDK: gateways and secure connectors, network isolation, limited permissionsPASSEDtest_applications_registry.py::test_external_agent_model_and_mcp_gateways test_applications_registry.py::test_guard_direct (E-RB-CP)
ARCH-B9.4-10 A third party agent with direct privileged database access is prevented by the database roles and network policiesPASSEDtest_core_rls.py::test_unscoped_app_role_sees_nothing test_core_audit.py::test_app_role_cannot_rewrite test_platform_security_manifests.py::test_postgres_cluster_hardening +1 (E-RB-CP)

Part B, B10.1. Official CLI​

ItemStatusProofRemaining or blocker
ARCH-B10.1-01 CLI command login --profilePASSEDtest_cli.py::test_login_dev_and_config_profiles test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)
ARCH-B10.1-02 CLI command create agent --template secure-agentPASSEDtest_cli.py::test_reference_commands_of_the_architecture test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)
ARCH-B10.1-03 CLI command create plugin --template enterprise-pluginPASSEDtest_cli_developer.py::test_create_plugin_with_the_enterprise_plugin_template (E-DX-CLI)
ARCH-B10.1-04 CLI command create mcp --template secure-mcpPASSEDtest_cli.py::test_reference_commands_of_the_architecture test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)
ARCH-B10.1-05 CLI command create skillPASSEDtest_cli_developer.py::test_create_skill_and_prompt test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)
ARCH-B10.1-06 CLI command create promptPASSEDtest_cli_developer.py::test_create_skill_and_prompt test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)
ARCH-B10.1-07 CLI command validatePASSEDtest_cli.py::test_validate_invalid_file_exits_1 test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)
ARCH-B10.1-08 CLI command testPASSEDtest_cli_developer.py::test_test_without_scope_keeps_evaluation_behaviour test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)
ARCH-B10.1-09 CLI command test securityPASSEDtest_cli_developer.py::test_security_threshold_sets_exit_code test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)
ARCH-B10.1-10 CLI command test authorization (authz)PASSEDtest_cli_developer.py::test_authz_failing_policy_and_empty_project test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)
ARCH-B10.1-11 CLI command test sdk-conformancePASSEDtest_cli_developer.py::test_sdk_conformance test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)
ARCH-B10.1-12 CLI command plugin buildPASSEDtest_cli_developer.py::test_create_plugin_with_the_enterprise_plugin_template test_packs.py::test_cli_create_validate_build (E-DX-CLI)
ARCH-B10.1-13 CLI command plugin signPASSEDtest_packs.py::test_cli_sign_and_publish_body_with_oci test_packs.py::test_sign_and_verify_with_cosign test_cli_developer.py::test_create_plugin_with_the_enterprise_plugin_template (E-DX-CLI)
ARCH-B10.1-14 CLI command plugin publish --registryPASSEDtest_cli.py::test_reference_commands_of_the_architecture test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)
ARCH-B10.1-15 CLI command deploy --environmentPASSEDtest_cli.py::test_reference_commands_of_the_architecture test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)
ARCH-B10.1-16 CLI command runs listPASSEDtest_cli.py::test_runs_logs_chat_models_finops_quotas_audit test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)
ARCH-B10.1-17 CLI command agent inspectPASSEDtest_cli.py::test_reference_commands_of_the_architecture test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)
ARCH-B10.1-18 CLI command doctorPASSEDtest_cli_developer.py::test_doctor_checks test_cli_developer.py::test_cli_reference_is_up_to_date (E-DX-CLI)

Part B, B10.2. Mandatory rules for developers​

ItemStatusProofRemaining or blocker
ARCH-B10.2-01 Never forge, modify or replace the user identityPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_security_auth.py::test_claims_enforced test_identity_context_delegation.py::test_run_carries_original_user_and_subagent_never_gets_wider_rights (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-02 Controlled time limited delegationPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_identity_context_delegation.py::test_restricted_delegation_is_always_narrower_and_revocation_cascades test_identity_context_delegation.py::test_scheduled_run_needs_an_approved_mandate_bound_to_a_service_identity (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-03 Check rights on every sensitive accessPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_core_secrets_authz.py::test_authz_tuples_and_check test_identity_context_delegation.py::test_revocation_during_a_run_blocks_the_next_sensitive_action (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-04 Call only authorised models through LiteLLMPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_llm_gateway.py::test_control_model_allowlist_and_status test_gateway_pep_untrusted.py::test_pep_model_gateway_denied (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-05 Use the Secure MCP GatewayPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_capabilities_gateways.py::test_mcp_gateway test_integration_usage.py::test_mcp_gateway_dlp_on_arguments_and_results (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-06 Apply document ACL before retrieval and generationPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_rag_governance.py::test_chunk_acl_forbidden_fragments_never_reach_the_context test_rag_governance.py::test_document_acl_and_other_tenant_refused (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-07 Protect PII before any non approved destinationPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_llm_gateway.py::test_control_dlp test_quotas_dlp_realtime.py::test_adapter_file_dlp_blocks_before_call (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-08 No secret in code, prompt, log or repositoryPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_llm_registry.py::test_litellm_config_contains_no_secret test_evidence_config_redaction.py::test_secrets_and_pii_never_reach_logs (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-09 No sensitive data in clear in logs without an approved exceptionPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_evidence_config_redaction.py::test_secrets_and_pii_never_reach_logs test_llm_gateway.py::test_control_audit_hashes_only (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-10 Mandatory audit of decisions, actions and resultsPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_audit_mutation_coverage.py::test_every_mutation_route_audits test_iam_fail_closed.py::test_audit_store_unavailable_blocks_sensitive_mutations (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-11 Registered versioned promptsPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_data_retention_lineage_prompts.py::test_prompt_registry_render (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-12 Skills checked for signature, permissions and versionPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_capabilities_gateways.py::test_skill_loader_refuses_tampered_unsigned_blocked (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-13 Only approved packagesPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_marketplace.py::test_unsigned_tampered_or_untrusted_pack_is_refused test_marketplace.py::test_install_refuses_unapproved_or_unrequested_permissions (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-14 Subagents never receive more rights than receivedPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_identity_context_delegation.py::test_run_carries_original_user_and_subagent_never_gets_wider_rights test_security_privilege.py::test_narrow_key_cannot_mint_broader_scopes (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-15 Actions suspended until the required approvalPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_platform_opa.py::test_tool_invocation_approval_obligation test_approvals_promotion.py::test_promotion_waits_for_an_approval_from_someone_else (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-16 Budgets respectedPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_integration_llm_finops.py::test_quota_exceeded_is_429_before_any_provider_call test_agents_execution.py::test_subagent_depth_count_and_budget_inheritance (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-17 Unauthorised network destinations forbiddenPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_soc_ai_sdr.py::test_egress_denied_is_blocked_and_opens_an_incident test_llm_isolation.py::test_egress_barrier_denies_external_hosts_of_an_isolated_model (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-18 Risky code in a sandboxPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_runtime_gvisor_sandbox.py::test_untrusted_code_refused_when_sandbox_unavailable test_agents_execution.py::test_sandbox_execution_spec (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-19 Kill Switch orders obeyed immediatelyPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_agents_execution.py::test_kill_switch_blocks_new_runs test_llm_gateway.py::test_control_kill_switch (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-20 Never hide or delete a raised alertPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_observability_signals.py::test_alert_receiver_creates_dedups_and_resolves test_core_rls.py::test_audit_is_append_only_for_app_role (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-21 Security and conformance tests passed before publicationPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_marketplace.py::test_publication_fails_when_a_gate_input_is_missing test_packs.py::test_cli_publish_refuses_an_unsigned_build (E-DX-CLI, E-DX-RULES)
ARCH-B10.2-22 Versioned rules package separating documentary rules from enforced controlsPASSEDtest_cli_developer.py::test_rules_package_maps_every_rule_to_an_existing_control_and_test test_cli_developer.py::test_rules_package_is_copied_by_every_project_template test_cli_developer.py::test_create_plugin_with_the_enterprise_plugin_template (E-DX-CLI)

Part B, B10.3. Publication gates​

ItemStatusProofRemaining or blocker
ARCH-B10.3-01 G1 SchemaPASSEDtest_marketplace.py::test_publication_fails_when_a_gate_input_is_missing (E-MK-MARKETPLACE)
ARCH-B10.3-02 G2 Dependencies (approved, licences, SBOM)PASSEDtest_marketplace.py::test_publication_fails_when_a_gate_input_is_missing test_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)
ARCH-B10.3-03 G3 Security (Trivy, signatures, secrets)PASSEDtest_marketplace.py::test_publication_fails_on_failed_tests_evaluations_or_vulnerabilities test_marketplace.py::test_unsigned_tampered_or_untrusted_pack_is_refused (E-MK-MARKETPLACE)
ARCH-B10.3-04 G4 Authorization (RBAC, ABAC, OpenFGA, OPA tests)PASSEDtest_marketplace.py::test_publication_fails_when_a_gate_input_is_missing test_marketplace.py::test_signed_pack_with_unsafe_permission_is_refused (E-MK-MARKETPLACE)
ARCH-B10.3-05 G5 Tenant isolationPASSEDtest_marketplace.py::test_other_tenant_reaches_no_marketplace_resource (E-MK-MARKETPLACE)
ARCH-B10.3-06 G6 Privacy (PII, masking, DLP, logs, destinations)IN_PROGRESStest_marketplace.py::test_publication_succeeds_with_every_gate (E-MK-MARKETPLACE)No dedicated PII/DLP gate at publication; dataProtection is not evaluated.
ARCH-B10.3-07 G7 Tool safety (MCP tools, side effects)PASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once (E-MK-MARKETPLACE)
ARCH-B10.3-08 G8 Quality (Promptfoo and Ragas thresholds)PASSEDtest_marketplace.py::test_publication_fails_on_failed_tests_evaluations_or_vulnerabilities (E-MK-MARKETPLACE)
ARCH-B10.3-09 G9 Resilience (timeouts, retries, idempotence, cancellation)IN_PROGRESStest_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once (E-MK-MARKETPLACE)Idempotence proven (payment exactly once); no timeouts/retries/cancellation gate.
ARCH-B10.3-10 G10 AuditPASSEDtest_marketplace.py::test_hr_pack_end_to_end_with_granted_permissions_only test_marketplace.py::test_install_refuses_unapproved_or_unrequested_permissions (E-MK-MARKETPLACE)
ARCH-B10.3-11 G11 Kill Switch (suspension, no bypass)IN_PROGRESStest_marketplace.py::test_revoked_publisher_blocks_install_and_production (E-MK-MARKETPLACE)Publisher revocation blocks install and production; no dedicated per pack Kill Switch gate.
ARCH-B10.3-12 G12 Approval (owner and security, production refused without it)PASSEDtest_marketplace.py::test_production_publication_needs_gates_and_four_eyes test_marketplace.py::test_production_promotion_then_prod_install test_approvals_promotion.py::test_promotion_waits_for_an_approval_from_someone_else (E-MK-MARKETPLACE)
ARCH-B10.3-13 OPA policies distributed as signed bundles without restartPASSEDtest_iam_opa_bundles_real.py::test_signed_bundle_revisions_loaded_and_enforced test_iam_opa_bundles_real.py::test_bundle_signed_with_another_key_is_refused_by_opa (E-MK-MARKETPLACE)
ARCH-B10.3-14 Bundle load status verifiedPASSEDtest_iam_opa_bundles_real.py::test_signed_bundle_revisions_loaded_and_enforced (E-MK-MARKETPLACE)

Part B, B10.4. Change management​

ItemStatusProofRemaining or blocker
ARCH-B10.4-01 Pipeline Draft, Test, Security Review, Business Approval, Staging, Production, MonitoringIN_PROGRESStest_approvals_promotion.py::test_failing_blocking_suite_prevents_the_promotion test_approvals_promotion.py::test_promotion_waits_for_an_approval_from_someone_else test_marketplace.py::test_production_promotion_then_prod_install (E-MK-MARKETPLACE)Promotion with blocking suite, third party approval and dev/test/staging/prod environments; no single state machine naming the seven stages.
ARCH-B10.4-02 Changes to prompts, skills, connectors, rules, models treated as application changesIN_PROGRESStest_approvals_promotion.py::test_skill_cannot_be_approved_outside_a_promotion test_approvals_promotion.py::test_failing_blocking_suite_prevents_the_promotion (E-MK-MARKETPLACE)Skills go through promotion; prompts versioned; connectors, rules and models not covered by the same promotion.
ARCH-B10.4-03 Critical change: new evaluation and security approval by impactPASSEDtest_approvals_promotion.py::test_failing_blocking_suite_prevents_the_promotion test_marketplace.py::test_upgrade_rollback_and_uninstall test_marketplace.py::test_install_refuses_unapproved_or_unrequested_permissions (E-MK-MARKETPLACE)

Part B, B11.1. Product documentation​

ItemStatusProofRemaining or blocker
ARCH-B11.1-01 Product OverviewIN_PROGRESStest_docs_kit.py::test_every_docu_requirement_has_its_french_and_english_guide (E-DO-DOCS, E-DO-AIRGAP)The offline bundle (tools/release/build.py, docs-offline) ships only docs/operations and docs/release: this guide outside these folders is not shipped yet (bundle owned by C02).
ARCH-B11.1-02 Architecture Guide (control, data and security planes and flows)IN_PROGRESStest_docs_kit.py::test_every_docu_requirement_has_its_french_and_english_guide test_docs_kit.py::test_repository_paths_quoted_in_the_guides_exist (E-DO-DOCS, E-DO-AIRGAP)The offline bundle (tools/release/build.py, docs-offline) ships only docs/operations and docs/release: this guide outside these folders is not shipped yet (bundle owned by C02).
ARCH-B11.1-03 Deployment Guide (Kubernetes install, prerequisites, profiles)PASSEDtest_docs_kit.py::test_every_docu_requirement_has_its_french_and_english_guide test_docs_kit.py::test_repository_paths_quoted_in_the_guides_exist test_docs_kit.py::test_routes_quoted_in_the_guides_exist_in_the_published_api +1 (E-DO-DOCS, E-DO-AIRGAP)
ARCH-B11.1-04 Administrator GuideIN_PROGRESStest_docs_kit.py::test_every_docu_requirement_has_its_french_and_english_guide (E-DO-DOCS, E-DO-AIRGAP)No single administrator guide: the content is spread over the Manager docs (operations.md) and docs/operations/configuration.md; a consolidated FR and EN administrator guide remains to be written.
ARCH-B11.1-05 Security Hardening Guide (TLS, mTLS, RBAC, OPA, OpenFGA, secrets, network)PASSEDtest_docs_kit.py::test_every_docu_requirement_has_its_french_and_english_guide test_docs_kit.py::test_repository_paths_quoted_in_the_guides_exist test_docs_kit.py::test_routes_quoted_in_the_guides_exist_in_the_published_api +1 (E-DO-DOCS, E-DO-AIRGAP)
ARCH-B11.1-06 Operations Runbook (start, stop, restart, upgrade, diagnostics)PASSEDtest_docs_kit.py::test_every_docu_requirement_has_its_french_and_english_guide test_docs_kit.py::test_repository_paths_quoted_in_the_guides_exist test_docs_kit.py::test_routes_quoted_in_the_guides_exist_in_the_published_api +1 (E-DO-DOCS, E-DO-AIRGAP)
ARCH-B11.1-07 Backup & Recovery Guide (backups, restore, RTO, RPO)PASSEDtest_docs_kit.py::test_every_docu_requirement_has_its_french_and_english_guide test_docs_kit.py::test_repository_paths_quoted_in_the_guides_exist test_docs_kit.py::test_routes_quoted_in_the_guides_exist_in_the_published_api +1 (E-DO-DOCS, E-DO-AIRGAP)
ARCH-B11.1-08 Monitoring GuidePASSEDtest_docs_kit.py::test_every_docu_requirement_has_its_french_and_english_guide test_docs_kit.py::test_repository_paths_quoted_in_the_guides_exist test_docs_kit.py::test_routes_quoted_in_the_guides_exist_in_the_published_api +1 (E-DO-DOCS, E-DO-AIRGAP)
ARCH-B11.1-09 Incident Response Guide (SOC, playbooks, Kill Switch, recovery)IN_PROGRESStest_docs_kit.py::test_every_docu_requirement_has_its_french_and_english_guide test_docs_kit.py::test_repository_paths_quoted_in_the_guides_exist (E-DO-DOCS, E-DO-AIRGAP)The offline bundle (tools/release/build.py, docs-offline) ships only docs/operations and docs/release: this guide outside these folders is not shipped yet (bundle owned by C02).
ARCH-B11.1-10 Compliance Mapping (control matrices and evidence)IN_PROGRESStest_kit_traceability.py (E-TRACE)The matrices exist in generated form (traceability.yaml, STATUS, ARCHITECTURE_CONFORMANCE) but no written FR and EN Compliance Mapping guide (control to evidence) is shipped in the bundle.
ARCH-B11.1-11 Troubleshooting GuideIN_PROGRESStest_docs_kit.py::test_every_docu_requirement_has_its_french_and_english_guide test_docs_kit.py::test_repository_paths_quoted_in_the_guides_exist (E-DO-DOCS, E-DO-AIRGAP)The offline bundle (tools/release/build.py, docs-offline) ships only docs/operations and docs/release: this guide outside these folders is not shipped yet (bundle owned by C02).
ARCH-B11.1-12 Licensing Guide (activation, offline, expiry, renewal)PASSEDtest_docs_kit.py::test_every_docu_requirement_has_its_french_and_english_guide test_docs_kit.py::test_repository_paths_quoted_in_the_guides_exist test_docs_kit.py::test_routes_quoted_in_the_guides_exist_in_the_published_api +2 (E-DO-DOCS, E-DO-AIRGAP)
ARCH-B11.1-13 Release NotesPASSEDtest_release_bundle.py::test_release_notes_generated_and_deterministic test_docs_kit.py::test_no_long_dash_anywhere (E-DO-DOCS, E-DO-AIRGAP)

Part B, B11.2. Developer documentation​

ItemStatusProofRemaining or blocker
ARCH-B11.2-01 Getting Started (first secure agent)PASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +3 (E-DD-GUIDES)
ARCH-B11.2-02 Python SDK GuidePASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +1 (E-DD-GUIDES)
ARCH-B11.2-03 TypeScript SDK GuidePASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +2 (E-DD-GUIDES)
ARCH-B11.2-04 Go SDK GuidePASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +2 (E-DD-GUIDES)
ARCH-B11.2-05 ExecutionContext ReferencePASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +3 (E-DD-GUIDES)
ARCH-B11.2-06 ActionContext ReferencePASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +3 (E-DD-GUIDES)
ARCH-B11.2-07 API Reference (OpenAPI and examples)PASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +3 (E-DD-GUIDES)
ARCH-B11.2-08 Agent Development GuidePASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +3 (E-DD-GUIDES)
ARCH-B11.2-09 MCP Development GuidePASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +3 (E-DD-GUIDES)
ARCH-B11.2-10 Skill Development GuidePASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +3 (E-DD-GUIDES)
ARCH-B11.2-11 Prompt Development GuidePASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +3 (E-DD-GUIDES)
ARCH-B11.2-12 Plugin Development GuidePASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +3 (E-DD-GUIDES)
ARCH-B11.2-13 Connector Development GuidePASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +3 (E-DD-GUIDES)
ARCH-B11.2-14 Policy Development GuidePASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +3 (E-DD-GUIDES)
ARCH-B11.2-15 Testing GuidePASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +3 (E-DD-GUIDES)
ARCH-B11.2-16 Migration GuidePASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve test_developer_guides.py::test_cli_commands_and_sub_commands_exist +3 (E-DD-GUIDES)

Part B, B11.3. Living documentation​

ItemStatusProofRemaining or blocker
ARCH-B11.3-01 Developer portal fed by manifests, JSON schemas and OpenAPIPASSEDtest_developer_guides.py::test_guide_exists_in_french_and_english_with_the_same_structure test_developer_guides.py::test_links_and_quoted_paths_resolve (E-DD-GUIDES)
ARCH-B11.3-02 Marketplace showing plugin documentation, capabilities, examples and configurationIN_PROGRESStest_developer_guides.py::test_routes_quoted_in_the_guides_exist (E-DD-GUIDES)The documentation explains the Marketplace routes (page, version, preflight); showing plugin documentation, capabilities, examples and configuration in the Marketplace screen remains to be verified by C07 and C09 (screens outside the C13 scope).
ARCH-B11.3-03 Executable examples run by testsPASSEDtest_developer_guides.py::test_typescript_snippets_compile test_developer_guides.py::test_go_snippets_vet_and_build test_developer_guides.py::test_java_snippets_compile_against_the_maven_build (E-DD-GUIDES)

Part B, B12.1. Licence coverage​

ItemStatusProofRemaining or blocker
ARCH-B12.1-01 Unlimited usersPASSEDtest_licensing.py::test_entitlements_never_count_users_agents_apps_plugins_or_use_cases test_licensing.py::test_payload_carrying_a_price_or_a_limit_is_refused test_license_issuer.py::test_signed_payload_with_price_or_limit_is_refused (E-CP-LICENSING, E-LICENSE-ISSUER)
ARCH-B12.1-02 Unlimited agentsPASSEDtest_licensing.py::test_entitlements_never_count_users_agents_apps_plugins_or_use_cases test_licensing.py::test_payload_carrying_a_price_or_a_limit_is_refused test_license_issuer.py::test_signed_payload_with_price_or_limit_is_refused (E-CP-LICENSING, E-LICENSE-ISSUER)
ARCH-B12.1-03 Unlimited subagentsPASSEDtest_licensing.py::test_entitlements_never_count_users_agents_apps_plugins_or_use_cases test_licensing.py::test_payload_carrying_a_price_or_a_limit_is_refused test_license_issuer.py::test_signed_payload_with_price_or_limit_is_refused (E-CP-LICENSING, E-LICENSE-ISSUER)
ARCH-B12.1-04 Unlimited applicationsPASSEDtest_licensing.py::test_entitlements_never_count_users_agents_apps_plugins_or_use_cases test_licensing.py::test_payload_carrying_a_price_or_a_limit_is_refused test_license_issuer.py::test_signed_payload_with_price_or_limit_is_refused (E-CP-LICENSING, E-LICENSE-ISSUER)
ARCH-B12.1-05 Unlimited use casesPASSEDtest_licensing.py::test_entitlements_never_count_users_agents_apps_plugins_or_use_cases test_licensing.py::test_payload_carrying_a_price_or_a_limit_is_refused test_license_issuer.py::test_signed_payload_with_price_or_limit_is_refused (E-CP-LICENSING, E-LICENSE-ISSUER)
ARCH-B12.1-06 Unlimited developersPASSEDtest_licensing.py::test_entitlements_never_count_users_agents_apps_plugins_or_use_cases test_licensing.py::test_payload_carrying_a_price_or_a_limit_is_refused test_license_issuer.py::test_signed_payload_with_price_or_limit_is_refused (E-CP-LICENSING, E-LICENSE-ISSUER)
ARCH-B12.1-07 Unlimited prompts and skillsPASSEDtest_licensing.py::test_entitlements_never_count_users_agents_apps_plugins_or_use_cases test_licensing.py::test_payload_carrying_a_price_or_a_limit_is_refused test_license_issuer.py::test_signed_payload_with_price_or_limit_is_refused (E-CP-LICENSING, E-LICENSE-ISSUER)
ARCH-B12.1-08 Unlimited plugins and MCPPASSEDtest_licensing.py::test_entitlements_never_count_users_agents_apps_plugins_or_use_cases test_licensing.py::test_payload_carrying_a_price_or_a_limit_is_refused test_license_issuer.py::test_signed_payload_with_price_or_limit_is_refused (E-CP-LICENSING, E-LICENSE-ISSUER)
ARCH-B12.1-09 Unlimited connectorsPASSEDtest_licensing.py::test_entitlements_never_count_users_agents_apps_plugins_or_use_cases test_licensing.py::test_payload_carrying_a_price_or_a_limit_is_refused test_license_issuer.py::test_signed_payload_with_price_or_limit_is_refused (E-CP-LICENSING, E-LICENSE-ISSUER)
ARCH-B12.1-10 Unlimited configured modelsPASSEDtest_licensing.py::test_entitlements_never_count_users_agents_apps_plugins_or_use_cases test_licensing.py::test_payload_carrying_a_price_or_a_limit_is_refused test_license_issuer.py::test_signed_payload_with_price_or_limit_is_refused (E-CP-LICENSING, E-LICENSE-ISSUER)
ARCH-B12.1-11 No commercial quota on requests or tokensPASSEDtest_licensing.py::test_many_users_agents_and_plugins_under_one_licence test_licensing.py::test_only_two_actions_can_ever_be_refused (E-CP-LICENSING)
ARCH-B12.1-12 Term of 12 or 36 monthsPASSEDtest_licensing.py::test_annual_and_triennial_licences_activate_online test_licensing.py::test_terms_other_than_12_or_36_months_and_inconsistent_dates_are_refused test_license_issuer.py::test_annual_and_triennial_licences_sign_and_verify (E-CP-LICENSING, E-LICENSE-ISSUER)
ARCH-B12.1-13 Online or offline activationPASSEDtest_licensing.py::test_annual_and_triennial_licences_activate_online test_licensing.py::test_offline_issuance_and_file_activation_without_network (E-CP-LICENSING)
ARCH-B12.1-14 Deployment on the contractually covered infrastructurePASSEDtest_licensing.py::test_tampered_unknown_key_and_wrong_environment_are_refused_and_audited test_licensing.py::test_dr_restore_cluster_migration_and_second_site (E-CP-LICENSING)
ARCH-B12.1-15 Support and updates per contractPASSEDtest_licensing.py::test_expiry_refuses_only_the_documented_actions_and_nothing_stops (E-CP-LICENSING)
ARCH-B12.1-16 Security, capacity and cost quotas configurable by the client, never licence restrictionsPASSEDtest_licensing.py::test_only_two_actions_can_ever_be_refused test_perf_measurements.py::test_quotas_answer_429_with_documented_codes_and_recover (E-CP-LICENSING, E-DO-PERF)

Part B, B12.2. Commercial scope​

ItemStatusProofRemaining or blocker
ARCH-B12.2-01 No billing per agent, user or use casePASSEDtest_licensing_no_price_scan.py::test_no_licence_price_in_catalog_contracts_docs_and_screens test_licensing_no_price_scan.py::test_issued_licence_payloads_carry_no_price test_licensing.py::test_entitlements_never_count_users_agents_apps_plugins_or_use_cases (E-CP-LICENSING)
ARCH-B12.2-02 Explicit contractual installation scope (organisation, environments, infrastructures, services, support)IN_PROGRESStest_licensing.py::test_tampered_unknown_key_and_wrong_environment_are_refused_and_audited (E-CP-LICENSING)The payload carries customer_id, installation_group_id, environments and support_ref, but neither the list of covered infrastructures nor of covered services.
ARCH-B12.2-03 No hidden counterPASSEDtest_licensing.py::test_entitlements_never_count_users_agents_apps_plugins_or_use_cases test_licensing.py::test_verifier_and_store_never_reach_the_network test_licensing_no_price_scan.py::test_licensing_material_carries_no_amount_at_all (E-CP-LICENSING)

Part B, B12.3. Licensing service architecture​

ItemStatusProofRemaining or blocker
ARCH-B12.3-01 Vendor side licence issuer (contract, client, product, term, scope, signature)PASSEDtest_license_issuer.py::test_command_line_round_trip test_license_issuer.py::test_keygen_writes_private_key_0600_and_a_public_jwk test_license_issuer.py::test_private_key_readable_by_others_is_refused (E-LICENSE-ISSUER)
ARCH-B12.3-02 Signed licence as a portable file or online activationPASSEDtest_licensing.py::test_offline_issuance_and_file_activation_without_network test_licensing.py::test_annual_and_triennial_licences_activate_online (E-CP-LICENSING)
ARCH-B12.3-03 Local verifier with an embedded public keyPASSEDtest_licensing.py::test_key_rotation_accepts_every_listed_kid test_licensing.py::test_production_refuses_test_keys_and_malformed_keys test_licensing.py::test_verifier_and_store_never_reach_the_network (E-CP-LICENSING)
ARCH-B12.3-04 Platform entitlements (status, period, scope, support, renewal)PASSEDtest_licensing.py::test_status_is_readable_by_any_user_without_sensitive_fields test_licensing.py::test_renewal_without_gap_silences_the_banner_and_takes_over (E-CP-LICENSING)

Part B, B12.4. Signed technical licence contract​

ItemStatusProofRemaining or blocker
ARCH-B12.4-01 Payload (schema_version, license_id, product_id, edition, customer_id, term, unlimited entitlements, usage_metered_for_licensing false, deployment_scope, support, issuer, issued_at, key_id)IN_PROGRESStest_license_issuer.py::test_annual_and_triennial_licences_sign_and_verify test_license_issuer.py::test_other_terms_and_inconsistent_dates_are_refused (E-LICENSE-ISSUER)The v1 payload carries schema_version, license_id, product_id, edition, customer_id, term_months, valid_from, valid_until, environments, support_ref, issued_at, key_id; it lacks the entitlements object with explicit unlimited flags, usage_metered_for_licensing false, a structured deployment_scope and issuer (contract change shared with C06 contracts/v1).
ARCH-B12.4-02 Signed object (JWS) with verifiable canonicalisationPASSEDtest_license_issuer.py::test_non_canonical_payload_is_refused test_license_issuer.py::test_tampered_unknown_key_and_wrong_algorithm_are_refused (E-LICENSE-ISSUER)
ARCH-B12.4-03 A declarative signature property is refusedPASSEDtest_license_issuer.py::test_non_canonical_payload_is_refused test_licensing.py::test_tampered_unknown_key_and_wrong_environment_are_refused_and_audited (E-LICENSE-ISSUER, E-CP-LICENSING)

Part B, B12.5. Offline licence operation​

ItemStatusProofRemaining or blocker
ARCH-B12.5-01 Non sensitive activation request bound to the installationIN_PROGRESStest_licensing.py::test_status_is_readable_by_any_user_without_sensitive_fields (E-CP-LICENSING)installation_id and installation_group_id are exposed to the administrator, but no formal activation request file (signed export sent to the vendor) is produced.
ARCH-B12.5-02 Local verification without any external callPASSEDtest_licensing.py::test_verifier_and_store_never_reach_the_network test_licensing.py::test_offline_issuance_and_file_activation_without_network (E-CP-LICENSING)
ARCH-B12.5-03 Renewals, standby installations, cluster migrations, hardware changes without unjustified blockingPASSEDtest_licensing.py::test_dr_restore_cluster_migration_and_second_site test_licensing.py::test_renewal_without_gap_silences_the_banner_and_takes_over test_backup_dr_extended.py::test_licence_of_the_group_stays_valid_after_dr_offline (E-CP-LICENSING, E-HB-BACKUP)

Part B, B12.6. Behaviour at expiry​

ItemStatusProofRemaining or blocker
ARCH-B12.6-01 Active statePASSEDtest_licensing.py::test_state_rules_at_every_boundary (E-CP-LICENSING)
ARCH-B12.6-02 Expiring Soon with notifications to administrators and the contract ownerIN_PROGRESStest_licensing.py::test_worker_warns_at_30_7_and_1_days_then_grace_and_expiry (E-CP-LICENSING)Warnings at 30, 7 and 1 days go to platform administrators; no "contract owner" recipient is configurable.
ARCH-B12.6-03 Grace Period (operation kept with warnings)PASSEDtest_licensing.py::test_state_rules_at_every_boundary test_licensing.py::test_worker_warns_at_30_7_and_1_days_then_grace_and_expiry (E-CP-LICENSING)
ARCH-B12.6-04 Expired (renewal asked)PASSEDtest_licensing.py::test_expiry_refuses_only_the_documented_actions_and_nothing_stops (E-CP-LICENSING)
ARCH-B12.6-05 Revoked (contract specific procedure and approvals)BLOCKEDtest_licensing.py::test_state_rules_at_every_boundary (E-CP-LICENSING)The contract revocation procedure and its approvers are a client and vendor decision [B-CLIENT]
ARCH-B12.6-06 Renewed (new licence loaded without interruption)PASSEDtest_licensing.py::test_renewal_without_gap_silences_the_banner_and_takes_over (E-CP-LICENSING)
ARCH-B12.6-07 Security, audit, recovery and containment stay operational at expiryPASSEDtest_licensing.py::test_expiry_refuses_only_the_documented_actions_and_nothing_stops test_licensing.py::test_only_two_actions_can_ever_be_refused (E-CP-LICENSING)
ARCH-B12.6-08 No commercial kill switch: the security Kill Switch is never used for licencesPASSEDtest_licensing.py::test_only_two_actions_can_ever_be_refused test_soc_ai_sdr.py::test_kill_switch_cancels_run_and_subagents_and_refuses_new_actions (E-CP-LICENSING, E-G06-SOC)

Part B, B13.1. Critical Platform Manager tables​

ItemStatusProofRemaining or blocker
ARCH-B13.1-01 Table clusters -> nm.clustersPASSEDtest_foundation.py::test_migrations_are_idempotent (E-PO-SERVER)
ARCH-B13.1-02 Table nodes -> nm.hostsPASSEDtest_foundation.py::test_migrations_are_idempotent (E-PO-SERVER)
ARCH-B13.1-03 Table components -> nm.cluster_servicesPASSEDtest_foundation.py::test_migrations_are_idempotent (E-PO-SERVER)
ARCH-B13.1-04 Table component_instances -> nm.host_componentsPASSEDtest_foundation.py::test_migrations_are_idempotent (E-PO-SERVER)
ARCH-B13.1-05 Table dependencies -> nm.connectionsPASSEDtest_foundation.py::test_migrations_are_idempotent (E-PO-SERVER)
ARCH-B13.1-06 Table config_revisions -> nm.config_versionsPASSEDtest_foundation.py::test_migrations_are_idempotent (E-PO-SERVER)
ARCH-B13.1-07 Table operations -> nm.operationsPASSEDtest_foundation.py::test_migrations_are_idempotent (E-PO-SERVER)
ARCH-B13.1-08 Table operation_steps -> nm.stages, nm.tasksPASSEDtest_foundation.py::test_migrations_are_idempotent (E-PO-SERVER)
ARCH-B13.1-09 Table health_checks -> nm.service_checksPASSEDtest_foundation.py::test_migrations_are_idempotent (E-PO-SERVER)
ARCH-B13.1-10 Table compatibility_matrix -> missingIN_PROGRESStest_foundation.py::test_migrations_are_idempotent (E-PO-SERVER)No compatibility_matrix table: compatibility comes from the catalog.
ARCH-B13.1-11 Table desired/observed reconciled -> nm.host_components.desired_statePASSEDtest_foundation.py::test_migrations_are_idempotent (E-PO-SERVER)
ARCH-B13.1-12 Table destructive actions under maintenance policy -> nm.maintenance_windowsPASSEDtest_foundation.py::test_migrations_are_idempotent (E-PO-SERVER)

Part B, B13.2. Audit index and independent evidence​

ItemStatusProofRemaining or blocker
ARCH-B13.2-01 Audit index table and independent evidence storePASSEDtest_core_audit.py::test_chain_is_valid_and_gapless test_evidence_gateway.py::test_seal_signature_verifies_online_and_offline test_storage_profiles_api.py::test_worm_audit_export_is_qualified_on_a_verified_object_lock_profile (E-G03-AUDIT, E-G03-EVIDENCE, E-G03-WORM)
ARCH-B13.2-02 Events partitioned by event_time, access constraints, retention and archivingIN_PROGRESStest_core_audit.py::test_app_role_cannot_rewrite test_evidence_gateway.py::test_legal_hold_blocks_purge_and_release_needs_two_distinct_approvers test_siem_audit_worm.py::test_audit_worm_job_exports_each_past_day_once_signed_by_transit (E-G03-AUDIT, E-G03-EVIDENCE, E-G03-WORM)eai.audit_events is not a partitioned table (plain CREATE TABLE, V010): declarative partitioning by event_time and automatic partition creation are missing. RLS, REVOKE UPDATE/DELETE, retention with legal hold and daily WORM archiving are proven.
ARCH-B13.2-03 Distinct event_time, ingested_at and sealed_atPASSEDtest_evidence_gateway.py::test_event_time_ingested_at_sealed_at_are_distinct_and_ordered (E-G03-EVIDENCE)
ARCH-B13.2-04 PostgreSQL never WORM: evidence in qualified object storage, digests, signatures, verified immutabilityBLOCKEDtest_storage_profiles_api.py::test_worm_audit_export_is_refused_without_verified_object_lock test_storage_profiles_api.py::test_worm_audit_export_is_qualified_on_a_verified_object_lock_profile test_evidence_gateway.py::test_monitor_detects_sql_tampering_of_a_sealed_event +1 (E-G03-WORM, E-G03-EVIDENCE)Object Lock proven on the local emulator; qualification on the client's real object storage needs that storage [B-CLIENT]
ARCH-B13.2-05 Fields of the reference table (event_type, severity, identities, execution ids, decision_reason, policy_revision, evidence_*, sanitized_metadata)IN_PROGRESStest_evidence_config_redaction.py::test_policy_decision_audited_with_id_version_reason_obligations test_evidence_config_redaction.py::test_audit_metadata_has_no_credentials_and_pii_goes_to_the_encrypted_payload (E-G03-EVIDENCE)The information exists in jsonb columns (actor, resource, decision, context, evidence, attributes) but not under the reference column names (event_type, severity, result_status, evidence_state...): a view or normalised index columns remain to add.

Part B, B13.3. Security state registry and Kill Switch​

ItemStatusProofRemaining or blocker
ARCH-B13.3-01 detections table (eai.soc_detections)PASSEDtest_soc_ai_sdr.py::test_ingestor_normalizes_and_correlator_links_user_agent_tenant test_soc_ai_sdr.py::test_soc_tables_are_tenant_isolated (E-G06-SOC)
ARCH-B13.3-02 incidents table (eai.incidents)PASSEDtest_soc_ai_sdr.py::test_incident_lifecycle_assignment_and_auditable_timeline (E-G06-SOC)
ARCH-B13.3-03 incident_events table (eai.incident_timeline)PASSEDtest_soc_ai_sdr.py::test_incident_lifecycle_assignment_and_auditable_timeline test_soc_ai_sdr.py::test_soc_roles_access_audit_and_sealed_chain_of_custody (E-G06-SOC)
ARCH-B13.3-04 containment_orders tablePASSEDtest_soc_ai_sdr.py::test_typed_reactions_only_never_a_free_command test_soc_ai_sdr.py::test_proportionality_guard_in_the_platform (E-G06-SOC)
ARCH-B13.3-05 enforcement_receipts table (eai.containment_receipts)PASSEDtest_soc_ai_sdr.py::test_network_isolation_waits_for_a_signed_in_cluster_receipt (E-G06-SOC)
ARCH-B13.3-06 recovery_requests tablePASSEDtest_soc_ai_sdr.py::test_recovery_needs_four_eyes_then_reauthorization (E-G06-SOC)
ARCH-B13.3-07 revoked_credentials (eai.kill_switches, target_type credential)PASSEDtest_soc_ai_sdr.py::test_credentials_identity_and_tenant_suspension_refused_by_auth (E-G06-SOC)
ARCH-B13.3-08 suspension_states (eai.kill_switches desired_state and observed_state)PASSEDtest_soc_ai_sdr.py::test_kill_switches_persist_across_restart test_soc_ai_sdr.py::test_credentials_identity_and_tenant_suspension_refused_by_auth (E-G06-SOC)
ARCH-B13.3-09 playbook_runs tableIN_PROGRESStest_soc_ai_sdr.py::test_worker_runs_the_soc_scan_and_containment_verifier (E-G06-SOC)Playbooks are lists of typed reactions (soc/catalog.py) traced by containment_orders and incident_timeline; no playbook_runs table groups one playbook execution.
ARCH-B13.3-10 tenant_id + target_type + target_id protected by concurrency control and versionsIN_PROGRESStest_soc_ai_sdr.py::test_kill_switches_persist_across_restart test_soc_ai_sdr.py::test_retried_payment_never_executes_twice_even_when_killed_in_flight (E-G06-SOC)The partial unique index kill_switches_active_target (tenant_id, reaction, target_type, target_ref) prevents two active suspensions, but no version column (optimistic lock) exists on kill_switches or containment_orders.
ARCH-B13.3-11 A containment order becomes VERIFIED only after confirmation by the enforcement pointsPASSEDtest_soc_ai_sdr.py::test_verified_only_on_real_proof_and_drift_is_reapplied test_soc_ai_sdr.py::test_network_isolation_waits_for_a_signed_in_cluster_receipt (E-G06-SOC)

Part B, B13.4. Licence and support tables​

ItemStatusProofRemaining or blocker
ARCH-B13.4-01 license_installations (customer, installation group, cluster fingerprint hash, product, edition, validity, digest, key id, status, activation, last verification)IN_PROGRESStest_licensing.py::test_dr_restore_cluster_migration_and_second_site test_licensing.py::test_history_is_paginated (E-CP-LICENSING)Split between license_installation and licenses (group, product, edition, valid_until > valid_from, token_sha256, key_id, activated_at); the cluster fingerprint hash, a persisted status column and last_verified_at are missing.
ARCH-B13.4-02 license_eventsPASSEDtest_licensing.py::test_history_is_paginated test_licensing.py::test_tampered_unknown_key_and_wrong_environment_are_refused_and_audited (E-CP-LICENSING)
ARCH-B13.4-03 Minimal data: never the number of users, prompts or agentsPASSEDtest_licensing.py::test_entitlements_never_count_users_agents_apps_plugins_or_use_cases test_licensing.py::test_status_is_readable_by_any_user_without_sensitive_fields (E-CP-LICENSING)

Part B, B13.5. Transactional outbox and external actions​

ItemStatusProofRemaining or blocker
ARCH-B13.5-01 The change and its outbox event in one SQL transactionPASSEDtest_evidence_gateway.py::test_rolled_back_change_leaves_no_event_and_committed_one_always_has_it (E-RB-CP)
ARCH-B13.5-02 A worker publishes to NATS JetStreamPASSEDtest_evidence_gateway.py::test_gateway_publishes_to_real_jetstream_with_dedup test_worker.py::test_outbox_job_delivers_pending_events_to_triggers (E-RB-CP)
ARCH-B13.5-03 The consumer acknowledges after processingPASSEDtest_media_worker.py::test_nats_mode_publishes_through_the_outbox_and_acks_after_processing (E-RB-CP)
ARCH-B13.5-04 The event id deduplicatesPASSEDtest_runtime_nats_jetstream.py::test_dedup_ordering_redelivery_exactly_once test_evidence_gateway.py::test_gateway_publishes_to_real_jetstream_with_dedup (E-RB-CP)
ARCH-B13.5-05 An unacknowledged publication is replayedPASSEDtest_evidence_gateway.py::test_gateway_redelivers_after_target_outage_without_loss_or_duplicate test_runtime_nats_jetstream.py::test_dedup_ordering_redelivery_exactly_once (E-RB-CP)
ARCH-B13.5-06 The evidence service seals and updates the statePASSEDtest_evidence_gateway.py::test_seal_signature_verifies_online_and_offline test_evidence_gateway.py::test_event_time_ingested_at_sealed_at_are_distinct_and_ordered (E-RB-CP)
ARCH-B13.5-07 Actions on external systems: idempotency keys, receipts, reconciliation, compensationsIN_PROGRESStest_soc_ai_sdr.py::test_retried_payment_never_executes_twice_even_when_killed_in_flight test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once test_soc_ai_sdr.py::test_network_isolation_waits_for_a_signed_in_cluster_receipt (E-RB-CP)Idempotency, receipts and reconciliation proven; no automatic compensation (reverse action) is defined yet for an external action committed then cancelled.

Part B, B14. Multi tenant isolation by layer​

ItemStatusProofRemaining or blocker
ARCH-B14-01 Identity (realm, organisation, groups)PASSEDtest_core_tenancy.py::test_tenant_admin_flow test_identity_context_delegation.py:: (E-IR-IDENTITY)
ARCH-B14-02 API: tenant from the authenticated contextPASSEDtest_core_tenancy.py::test_tenant_admin_flow (E-IR-IDENTITY)
ARCH-B14-03 PostgreSQL: RLS and SQL rolesPASSEDtest_identity_context_delegation.py::test_identity_tables_are_tenant_isolated (E-IR-IDENTITY)
ARCH-B14-04 Redis: prefixes and ACLPASSEDtest_core_redis.py::test_tenant_isolation_and_clear test_core_redis.py::test_acl_user_with_password_file (E-IR-ISOLATION)
ARCH-B14-05 Qdrant: mandatory filtersPASSEDtest_rag_qdrant_real.py::test_real_qdrant_two_tenants_never_leak test_rag_governance.py::test_document_acl_and_other_tenant_refused (E-IR-ISOLATION)
ARCH-B14-06 Agents: contexts, permissionsPASSEDtest_identity_context_delegation.py::test_run_carries_original_user_and_subagent_never_gets_wider_rights (E-IR-IDENTITY)
ARCH-B14-07 MCP: identities, scopesPASSEDtest_capabilities_gateways.py::test_tool_scope_denied_and_rate_limit test_gateway_pep_untrusted.py::test_pep_mcp_denied (E-IR-ISOLATION)
ARCH-B14-08 Models: tenant control, budgetsPASSEDtest_llm_isolation.py::test_project_mode_overrides_tenant_and_internal_hosts test_llm_isolation.py::test_egress_barrier_denies_external_hosts_of_an_isolated_model (E-IR-ISOLATION)
ARCH-B14-09 Storage: separate paths and bucketsPASSEDtest_storage_profiles_api.py::test_profile_crud_keeps_only_a_credential_reference_and_is_tenant_isolated test_storage_profiles_api.py::test_presigned_urls_need_a_verified_capability_and_respect_expiry_and_scope (E-IR-ISOLATION)
ARCH-B14-10 Secrets by service, environment, organisationPASSEDtest_identity_context_delegation.py::test_signing_key_is_read_from_the_openbao_reference_and_never_exposed (E-IR-IDENTITY)
ARCH-B14-11 Kubernetes: namespaces, quotas, network policiesBLOCKEDtest_platform_security_manifests.py::test_every_workload_has_a_network_policy test_platform_security_manifests.py::test_service_accounts_do_not_automount_by_default test_platform_security_manifests.py::test_static_cluster_policies (E-IR-ISOLATION)Needs a real cluster [B-CLUSTER]
ARCH-B14-12 Logs: filtering, masking, read rightsPASSEDtest_observability_stack.py::test_bootstrap_is_idempotent_and_logs_are_filtered_by_tenant test_evidence_config_redaction.py::test_secrets_and_pii_never_reach_logs (E-IR-ISOLATION)
ARCH-B14-13 Audit: isolated searchPASSEDtest_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B14-14 Plugins: activation per tenantPASSEDtest_llm_isolation.py::test_external_fallback_is_dropped_in_isolated_mode test_platform_security_manifests.py::test_default_deny_and_metadata_deny (E-IR-ISOLATION)
ARCH-B14-15 Kill Switch with strict scopePASSEDtest_marketplace.py::test_other_tenant_reaches_no_marketplace_resource test_marketplace.py::test_install_refuses_unapproved_or_unrequested_permissions (E-IR-ISOLATION)
ARCH-B14-16 Reinforced isolation profilePASSEDtest_soc_ai_sdr.py::test_kill_switch_cancels_run_and_subagents_and_refuses_new_actions (E-IR-ISOLATION)

Part B, B14.1. Protection of secrets and data​

ItemStatusProofRemaining or blocker
ARCH-B14.1-01 Integration with the client secret managerPASSEDtest_platform_secrets.py::test_external_secret_conventions test_iam_kms.py::test_openbao_transit_adapter test_core_secrets_authz.py::test_secrets_write_only (E-AP-PROTECTION)
ARCH-B14.1-02 Presidio DLPPASSEDtest_data_presidio_real.py::test_real_presidio_detects_banking_entities (E-AP-PROTECTION)
ARCH-B14.1-03 Tink cryptographyPASSEDtest_data_envelope_tink.py::test_ciphertext_hides_the_plaintext_and_decrypts test_data_envelope_tink.py::test_other_tenant_or_context_cannot_decrypt (E-AP-PROTECTION)
ARCH-B14.1-04 ClassificationPASSEDtest_data_privacy.py::test_classify_and_dlp_modes (E-DM-DATA-MEDIA)
ARCH-B14.1-05 PII detectionPASSEDtest_data_privacy.py::test_builtin_recognizers_and_validators test_integration_llm_finops.py::test_iban_valid_only_by_checksum_is_detected (E-DM-DATA-MEDIA, E-AP-PROTECTION)
ARCH-B14.1-06 Masking before the LLM callPASSEDtest_integration_llm_finops.py::test_tenant_rule_block_wins_over_mask_mode test_integration_llm_finops.py::test_model_response_goes_through_dlp test_quotas_dlp_realtime.py::test_adapter_file_dlp_blocks_before_call (E-AP-PROTECTION)
ARCH-B14.1-07 Reversible tokenisationPASSEDtest_data_privacy.py::test_detokenize_requires_permission_and_is_audited (E-DM-DATA-MEDIA)
ARCH-B14.1-08 Encryption with an approved keyBLOCKEDtest_data_privacy.py::test_encrypt_decrypt_and_rotate test_iam_kms.py::test_pkcs11_wrap_sign_on_softhsm2 (E-DM-DATA-MEDIA, E-AP-PROTECTION)Client's real HSM not available, proven on SoftHSM2 [B-CLIENT]
ARCH-B14.1-09 Detokenisation only for an authorised userPASSEDtest_data_privacy.py::test_detokenize_requires_permission_and_is_audited test_data_privacy.py::test_detokenize_denied_by_clearance_policy (E-DM-DATA-MEDIA)
ARCH-B14.1-10 Refusal of a forbidden external transferPASSEDtest_llm_isolation.py::test_egress_barrier_denies_external_hosts_of_an_isolated_model test_evidence_config_redaction.py::test_dlp_masking_and_egress_decisions_are_chained_on_the_action (E-AP-PROTECTION, E-G03-EVIDENCE)
ARCH-B14.1-11 Log sanitisationPASSEDtest_evidence_config_redaction.py::test_secrets_and_pii_never_reach_logs test_evidence_config_redaction.py::test_span_attributes_refuse_free_text (E-G03-EVIDENCE)
ARCH-B14.1-12 RetentionPASSEDtest_data_retention_lineage_prompts.py::test_retention_run_respects_legal_hold (E-DM-DATA-MEDIA)
ARCH-B14.1-13 Deletion workflow with proofsPASSEDtest_data_retention_lineage_prompts.py::test_subject_erasure_report test_siem_audit_worm.py::test_erase_subject_reaches_opik_and_clickhouse_and_respects_hold (E-DM-DATA-MEDIA, E-G03-WORM)
ARCH-B14.1-14 Token to value vault separated from agents with its own access controlPASSEDtest_data_privacy.py::test_rls_isolation_privacy_tables test_data_privacy.py::test_detokenize_denied_by_clearance_policy (E-DM-DATA-MEDIA)

Part B, B14.2. Separation of duties​

ItemStatusProofRemaining or blocker
ARCH-B14.2-01 Technical administrators cannot read business documents automaticallyPASSEDtest_iam_role_matrix.py::test_administrator_without_reader_acl_cannot_read_business_content (E-IR-IDENTITY)
ARCH-B14.2-02 A developer cannot disable loggingPASSEDtest_iam_role_matrix.py::test_developer_cannot_approve_own_change_and_auditor_cannot_decide (E-IR-IDENTITY)
ARCH-B14.2-03 Manager, SOC, Data Governance and Studio rights separated with approvalsPASSEDtest_iam_role_matrix.py::test_reference_roles_matrix test_iam_role_matrix.py::test_role_matrix test_iam_role_matrix.py::test_developer_cannot_approve_own_change_and_auditor_cannot_decide +1 (E-IR-IDENTITY)

Part B, B15.1. Scalability by domain​

ItemStatusProofRemaining or blocker
ARCH-B15.1-01 Frontend replicas behind an ingressPASSEDtest_eo_scalability_helm.py::test_frontend_replicas_behind_an_ingress_with_hpa_and_pdb (E-EO-SCALING)
ARCH-B15.1-02 Stateless horizontally scaled backend APIPASSEDtest_eo_scalability_helm.py::test_backend_api_is_stateless_and_scaled_horizontally (E-EO-SCALING)
ARCH-B15.1-03 Separate agent workers with concurrency quotas and KEDAPASSEDtest_eo_scalability_helm.py::test_agent_workers_are_separate_with_their_own_resources_and_keda test_platform_deploy_env.py::test_helm_worker_deployment (E-EO-SCALING)
ARCH-B15.1-04 Temporal workers per workflow typeIN_PROGRESStest_eo_scalability_helm.py::test_agent_workers_are_separate_with_their_own_resources_and_keda (E-EO-SCALING)A single agent-runs-temporal ScaledObject on the runs queue; no distinct worker Deployment per workflow type (Temporal stays an optional adapter).
ARCH-B15.1-05 NATS cluster with JetStream retention and replicationPASSEDtest_availability_local_ha.py::test_nats_jetstream_r3_member_loss test_availability_helm.py::test_data_services_ha_values (E-HB-HA)
ARCH-B15.1-06 LiteLLM replicas, keys and routingPASSEDtest_eo_scalability_helm.py::test_litellm_replicas_scaled_with_pdb (E-EO-SCALING)
ARCH-B15.1-07 vLLM GPU pools, scheduling and memory constraintsBLOCKEDtest_eo_scalability_helm.py::test_vllm_gpu_pools_ask_gpus_memory_and_bound_gpu_memory (E-EO-SCALING)Real execution on GPU absent here [B-GPU]
ARCH-B15.1-08 Opik sized with its dependenciesIN_PROGRESStest_backup_engines_real.py::test_opik_coordinated_plan_and_redis_rdb_backup_restore (E-HB-BACKUP)No Opik sizing values (ClickHouse, MySQL, Redis) checked by a test; only the coordinated Opik backup plan is proven.
ARCH-B15.1-09 OpenSearch indexing, shards and retentionIN_PROGRESS(E-G06-OBS)OpenSearch shards and retention not checked by a dedicated render test.
ARCH-B15.1-10 Prometheus sized for cardinality and retentionIN_PROGRESS(E-G06-OBS)Prometheus retention and cardinality limits not checked by a dedicated test.
ARCH-B15.1-11 Audit Gateway durable ingestion with independent workersPASSEDtest_evidence_gateway.py (E-DO-BACKUP)
ARCH-B15.1-12 PostgreSQL HA, replication, pooling, backupPASSEDtest_availability_local_ha.py::test_postgres_streaming_failover_fencing_rejoin test_availability_local_ha.py::test_patroni_etcd_election_failover_fencing_rejoin test_availability_helm.py::test_cnpg_cluster_manifest_validates_against_pinned_crd_schema (E-HB-HA)
ARCH-B15.1-13 Redis HA, memory limits, eviction policyPASSEDtest_availability_local_ha.py::test_redis_sentinel_failover test_availability_helm.py::test_data_services_ha_values (E-HB-HA)
ARCH-B15.1-14 Qdrant collections, sharding and replicationIN_PROGRESS(E-HB-HA)Qdrant sharding and replication not proven by a test (single node Qdrant in the RAG tests).
ARCH-B15.1-15 Client storage capacities and SLA per providerBLOCKEDStorage capacities and SLA specific to each client and provider [B-CLIENT]

Part B, B15.2. Availability matrix, RTO and RPO​

ItemStatusProofRemaining or blocker
ARCH-B15.2-01 Critical Security (authorisation, delegation, Kill Switch, critical audit: HA and fail closed)PASSEDtest_soc_ai_sdr.py::test_alerting_and_policy_engine_outage_never_weaken_enforcement test_availability_helm.py::test_ha_profile_replicas_pdb_spread_antiaffinity_probes_shutdown (E-G06-SOC, E-HB-HA)
ARCH-B15.2-02 Critical Runtime (agent gateway, LiteLLM, MCP gateway: redundancy)PASSEDtest_eo_scalability_helm.py::test_litellm_replicas_scaled_with_pdb test_eo_scalability_helm.py::test_backend_api_is_stateless_and_scaled_horizontally (E-EO-SCALING)
ARCH-B15.2-03 Critical Data (PostgreSQL, evidence storage: validated backups and recovery)IN_PROGRESStest_backup_recovery.py::test_artifact_checksum_encryption_and_corruption_detected test_backup_dr_extended.py::test_periodic_restore_test_signed_report_and_alarm_on_corruption (E-HB-BACKUP)BACK-010: real restore of Opik traces (ClickHouse, MySQL at the pinned versions) not replayed; the official static binaries can run unprivileged here but are not downloaded and wired yet. BACK-012 blocked [B-DOCKER].
ARCH-B15.2-04 Operations (Manager, configuration, workflows)PASSEDtest_backup_dr_extended.py::test_manager_rebuilt_from_bundle_and_backups_keeps_audit_identities_permissions test_backup_dr_extended.py::test_recovery_dag_runs_local_processes_in_dependency_order (E-HB-BACKUP)
ARCH-B15.2-05 Observability (buffering without critical loss)IN_PROGRESS(E-G06-OBS)OTel collector buffering (persistent queue) not proven by a network loss test.
ARCH-B15.2-06 Developer Tools (marketplace, studio, documentation)PASSED(E-CP-MARKETPLACE, E-DO-DOCS)
ARCH-B15.2-07 RTO and RPO defined with each client, never a single imposed valuePASSEDtest_backup_recovery.py::test_dr_plan_targets_empty_by_default_and_exercise_measured test_backup_dr_extended.py::test_dr_targets_set_by_client_traffic_model_and_health_checks (E-HB-BACKUP)

Part B, B15.3. Upgrade and rollback​

ItemStatusProofRemaining or blocker
ARCH-B15.3-01 Upgrade: AnalysisPASSEDtest_lifecycle_upgrades.py::test_upgrade_compatibility_refusals (E-ID-LIFECYCLE)
ARCH-B15.3-02 Upgrade: SimulationPASSEDtest_lifecycle_upgrades.py::test_upgrade_compatibility_refusals (E-ID-LIFECYCLE)
ARCH-B15.3-03 Upgrade: Preparation (backup)PASSEDtest_lifecycle_upgrades.py::test_stateful_upgrade_backup_migration_refused_rollback_and_restore (E-ID-LIFECYCLE)
ARCH-B15.3-04 Upgrade: PrevalidationPASSEDtest_lifecycle_upgrades.py::test_upgrade_compatibility_refusals (E-ID-LIFECYCLE)
ARCH-B15.3-05 Upgrade: DeploymentPASSEDtest_lifecycle_upgrades.py::test_stateless_upgrade_with_canary_then_rollback (E-ID-LIFECYCLE)
ARCH-B15.3-06 Upgrade: ValidationPASSEDtest_lifecycle_upgrades.py::test_stateless_upgrade_with_canary_then_rollback (E-ID-LIFECYCLE)
ARCH-B15.3-07 Upgrade: MonitoringPASSEDtest_lifecycle_upgrades.py::test_stateless_upgrade_with_canary_then_rollback (E-ID-LIFECYCLE)
ARCH-B15.3-08 Upgrade: RollbackPASSEDtest_lifecycle_upgrades.py::test_stateless_upgrade_with_canary_then_rollback (E-ID-LIFECYCLE)
ARCH-B15.3-09 Upgrade: AuditPASSEDtest_lifecycle_upgrades.py::test_stateless_upgrade_with_canary_then_rollback (E-ID-LIFECYCLE)
ARCH-B15.3-10 Upgrade: Irreversible migrations flagged, restore imposedPASSEDtest_lifecycle_upgrades.py::test_stateful_upgrade_backup_migration_refused_rollback_and_restore (E-ID-LIFECYCLE)

Part B, B16.1. Installing the Finance plugin at a bank​

ItemStatusProofRemaining or blocker
ARCH-B16.1-01 Finance pack selected in the marketplacePASSEDtest_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)
ARCH-B16.1-02 Version, signature, SBOM and compatibility validatedPASSEDtest_marketplace.py::test_unsigned_tampered_or_untrusted_pack_is_refused test_marketplace.py::test_publication_fails_when_a_gate_input_is_missing test_marketplace.py::test_version_ranges (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)
ARCH-B16.1-03 OpenFGA and OPA determine the authorisations neededPASSEDtest_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once test_identity_context_delegation.py::test_opa_decision_is_taken_before_each_action_with_the_original_user (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)
ARCH-B16.1-04 Install and accesses approved by authorised ownersPASSEDtest_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once test_marketplace.py::test_production_publication_needs_gates_and_four_eyes (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)
ARCH-B16.1-05 ERP, storage and source connectors configuredIN_PROGRESStest_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)Proven per building block; not yet replayed in one single Finance pack end to end test.
ARCH-B16.1-06 Credentials referenced in the client vaultPASSEDtest_business_packs.py::test_pack_is_complete_and_holds_no_credential test_llm_registry.py::test_provider_crud_credentials_write_only (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)
ARCH-B16.1-07 Authorised models selected from the registryIN_PROGRESStest_llm_registry.py::test_model_registry_and_status (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)Proven per building block; not yet replayed in one single Finance pack end to end test.
ARCH-B16.1-08 Financial documents ingested with their ACLIN_PROGRESStest_rag_governance.py::test_source_permission_checked_before_ingestion test_rag_governance.py::test_document_acl_and_other_tenant_refused (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)Proven per building block; not yet replayed in one single Finance pack end to end test.
ARCH-B16.1-09 Validation tests (SDK, security, masking, quality, permissions)PASSEDtest_marketplace.py::test_publication_fails_on_failed_tests_evaluations_or_vulnerabilities test_evidence_config_redaction.py::test_dlp_masking_and_egress_decisions_are_chained_on_the_action (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)
ARCH-B16.1-10 Approved agents and tools activatedPASSEDtest_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)
ARCH-B16.1-11 Operation: monitoring, audit, budgets, Kill Switch activeIN_PROGRESStest_finops_usage.py::test_summary_group_by_and_budget_alerts test_soc_ai_sdr.py::test_kill_switch_cancels_run_and_subagents_and_refuses_new_actions test_marketplace.py::test_upgrade_rollback_and_uninstall (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)Proven per building block; not yet replayed in one single Finance pack end to end test.

Part B, B16.2. Using the Finance plugin end to end​

ItemStatusProofRemaining or blocker
ARCH-B16.2-01 Finance user signed in through Keycloak SSOIN_PROGRESStest_iam_keycloak_real.py::test_pkce_login_token_accepted_refresh_and_logout (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)Proven per building block; not yet replayed in one single Finance pack end to end test.
ARCH-B16.2-02 The agent inherits the user identity with a signed context and limited permissionsPASSEDtest_identity_context_delegation.py::test_restricted_delegation_is_always_narrower_and_revocation_cascades test_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)
ARCH-B16.2-03 OpenFGA + OPA per actionPASSEDtest_identity_context_delegation.py::test_opa_decision_is_taken_before_each_action_with_the_original_user (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)
ARCH-B16.2-04 MCP Finance reads the ERP within the authorised transactionsPASSEDtest_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)
ARCH-B16.2-05 RAG Finance returns only documents the user may readIN_PROGRESStest_rag_governance.py::test_chunk_acl_forbidden_fragments_never_reach_the_context (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)Proven per building block; not yet replayed in one single Finance pack end to end test.
ARCH-B16.2-06 Presidio + Tink data protectionIN_PROGRESStest_data_presidio_real.py::test_real_presidio_detects_banking_entities test_rag_governance.py::test_restricted_chunks_are_sealed_at_rest (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)Proven per building block; not yet replayed in one single Finance pack end to end test.
ARCH-B16.2-07 LiteLLM to an approved model (OpenAI compatible test provider)PASSEDtest_integration_llm_finops.py::test_tenant_rule_block_wins_over_mask_mode test_llm_gateway.py::test_control_kill_switch (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)
ARCH-B16.2-08 Report generation with output controlIN_PROGRESStest_security_prompt_injection.py::test_output_guard_rules (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)Proven per building block; not yet replayed in one single Finance pack end to end test.
ARCH-B16.2-09 Audit + Opik + OpenTelemetry with user, agent, data, authorisations, result and costIN_PROGRESStest_opik_integration.py::test_opik_down_keeps_postgres_copy_and_audit_event test_tracing.py::test_gateway_call_produces_linked_spans_without_personal_data (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)Proven per building block; not yet replayed in one single Finance pack end to end test.
ARCH-B16.2-10 ERP write needs its own authorisation and, when required, a human approvalPASSEDtest_marketplace.py::test_finance_pack_end_to_end_payments_exactly_once (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)
ARCH-B16.2-11 The administrator finds the whole executionIN_PROGRESStest_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids test_marketplace.py::test_upgrade_rollback_and_uninstall (E-BP-PACKS-MARKETPLACE, E-BP-FINANCE-FLOW)Proven per building block; not yet replayed in one single Finance pack end to end test.

Part B, B17. Development plan by lots​

ItemStatusProofRemaining or blocker
ARCH-B17-01 Lot 0 Foundations: status against its end criterionPASSEDtest_foundation_lot_plan.py::test_kit_section_16_lots_are_the_roadmap_lots test_foundation_lot_plan.py::test_dependencies_are_known_acyclic_and_the_lot_order_is_a_valid_schedule test_kit_traceability.py (E-FL-LOTPLAN, E-TRACE)
ARCH-B17-02 Lot 1 Platform Manager: status against its end criterionPASSEDtest_foundation_lot_plan.py::test_kit_section_16_lots_are_the_roadmap_lots test_foundation_lot_plan.py::test_dependencies_are_known_acyclic_and_the_lot_order_is_a_valid_schedule test_kit_traceability.py (E-FL-LOTPLAN, E-TRACE)
ARCH-B17-03 Lot 2 IAM & Governance: status against its end criterionPASSEDtest_foundation_lot_plan.py::test_kit_section_16_lots_are_the_roadmap_lots test_foundation_lot_plan.py::test_dependencies_are_known_acyclic_and_the_lot_order_is_a_valid_schedule test_kit_traceability.py (E-FL-LOTPLAN, E-TRACE)
ARCH-B17-04 Lot 3 AI Runtime: status against its end criterionPASSEDtest_foundation_lot_plan.py::test_kit_section_16_lots_are_the_roadmap_lots test_foundation_lot_plan.py::test_dependencies_are_known_acyclic_and_the_lot_order_is_a_valid_schedule test_kit_traceability.py (E-FL-LOTPLAN, E-TRACE)
ARCH-B17-05 Lot 4 Data Protection: status against its end criterionPASSEDtest_foundation_lot_plan.py::test_kit_section_16_lots_are_the_roadmap_lots test_foundation_lot_plan.py::test_dependencies_are_known_acyclic_and_the_lot_order_is_a_valid_schedule test_kit_traceability.py (E-FL-LOTPLAN, E-TRACE)
ARCH-B17-06 Lot 5 Observability: status against its end criterionPASSEDtest_foundation_lot_plan.py::test_kit_section_16_lots_are_the_roadmap_lots test_foundation_lot_plan.py::test_dependencies_are_known_acyclic_and_the_lot_order_is_a_valid_schedule test_kit_traceability.py (E-FL-LOTPLAN, E-TRACE)
ARCH-B17-07 Lot 6 Audit & SOC: status against its end criterionPASSEDtest_foundation_lot_plan.py::test_kit_section_16_lots_are_the_roadmap_lots test_foundation_lot_plan.py::test_dependencies_are_known_acyclic_and_the_lot_order_is_a_valid_schedule test_kit_traceability.py (E-FL-LOTPLAN, E-TRACE)
ARCH-B17-08 Lot 7 Developer Platform: status against its end criterionPASSEDtest_foundation_lot_plan.py::test_kit_section_16_lots_are_the_roadmap_lots test_foundation_lot_plan.py::test_dependencies_are_known_acyclic_and_the_lot_order_is_a_valid_schedule test_kit_traceability.py (E-FL-LOTPLAN, E-TRACE)
ARCH-B17-09 Lot 8 Marketplace: status against its end criterionPASSEDtest_foundation_lot_plan.py::test_kit_section_16_lots_are_the_roadmap_lots test_foundation_lot_plan.py::test_dependencies_are_known_acyclic_and_the_lot_order_is_a_valid_schedule test_kit_traceability.py (E-FL-LOTPLAN, E-TRACE)
ARCH-B17-10 Lot 9 Enterprise Licensing: status against its end criterionPASSEDtest_foundation_lot_plan.py::test_kit_section_16_lots_are_the_roadmap_lots test_foundation_lot_plan.py::test_dependencies_are_known_acyclic_and_the_lot_order_is_a_valid_schedule test_kit_traceability.py (E-FL-LOTPLAN, E-TRACE)
ARCH-B17-11 Lot 10 Enterprise Readiness: status against its end criterionPASSEDtest_foundation_lot_plan.py::test_kit_section_16_lots_are_the_roadmap_lots test_foundation_lot_plan.py::test_dependencies_are_known_acyclic_and_the_lot_order_is_a_valid_schedule test_kit_traceability.py (E-FL-LOTPLAN, E-TRACE)
ARCH-B17-12 Security and audit developed in parallel with the runtimePASSEDtest_foundation_lot_plan.py::test_dependencies_are_known_acyclic_and_the_lot_order_is_a_valid_schedule (E-FL-LOTPLAN)

Part B, B17.1. Product monorepo​

ItemStatusProofRemaining or blocker
ARCH-B17.1-01 Target folder appsPASSEDtest_architecture_decisions.py::test_monorepo_map_paths_exist (E-ID-ARCH)
ARCH-B17.1-02 Target folder backendPASSEDtest_architecture_decisions.py::test_monorepo_map_paths_exist (E-ID-ARCH)
ARCH-B17.1-03 Target folder servicesPASSEDtest_architecture_decisions.py::test_monorepo_map_paths_exist (E-ID-ARCH)
ARCH-B17.1-04 Target folder operatorsPASSEDtest_architecture_decisions.py::test_monorepo_map_paths_exist (E-ID-ARCH)
ARCH-B17.1-05 Target folder sdkPASSEDtest_architecture_decisions.py::test_monorepo_map_paths_exist (E-ID-ARCH)
ARCH-B17.1-06 Target folder cliPASSEDtest_architecture_decisions.py::test_monorepo_map_paths_exist (E-ID-ARCH)
ARCH-B17.1-07 Target folder pluginsPASSEDtest_architecture_decisions.py::test_monorepo_map_paths_exist (E-ID-ARCH)
ARCH-B17.1-08 Target folder policiesPASSEDtest_architecture_decisions.py::test_monorepo_map_paths_exist (E-ID-ARCH)
ARCH-B17.1-09 Target folder deploymentPASSEDtest_architecture_decisions.py::test_monorepo_map_paths_exist (E-ID-ARCH)
ARCH-B17.1-10 Target folder databasePASSEDtest_architecture_decisions.py::test_monorepo_map_paths_exist (E-ID-ARCH)
ARCH-B17.1-11 Target folder docsPASSEDtest_architecture_decisions.py::test_monorepo_map_paths_exist (E-ID-ARCH)
ARCH-B17.1-12 Target folder testsPASSEDtest_architecture_decisions.py::test_monorepo_map_paths_exist (E-ID-ARCH)
ARCH-B17.1-13 Target folder releasePASSEDtest_architecture_decisions.py::test_monorepo_map_paths_exist (E-ID-ARCH)

Part B, B17.2. Mandatory acceptance tests before delivery​

ItemStatusProofRemaining or blocker
ARCH-B17.2-01 Fresh reproducible installPASSEDtest_release_bundle.py::test_bundle_is_reproducible (E-DO-AIRGAP, E-DO-INSTALL)
ARCH-B17.2-02 Air-gapPASSEDtest_release_bundle.py::test_airgapped_install_in_empty_network_namespace (E-DO-AIRGAP)
ARCH-B17.2-03 Configuration validated, versioned and auditableIN_PROGRESStest_platform_deploy_env.py::test_deploy_values_are_valid_settings (E-DO-INSTALL)Configuration versioning and audit proven on the Manager side (lot C01), to be cited.
ARCH-B17.2-04 Controlled observable start, stop and restartIN_PROGRESStest_availability_helm.py::test_ha_profile_replicas_pdb_spread_antiaffinity_probes_shutdown (E-HB-HA)Manager service operations proven by lot C01, to be cited.
ARCH-B17.2-05 Upgrade with documented restorePASSEDtest_backup_recovery.py::test_restore_incompatible_major_and_rollback_on_corruption (E-HB-BACKUP)
ARCH-B17.2-06 IAM (SSO, MFA, roles, sessions)PASSEDtest_iam_keycloak_real.py test_iam_role_matrix.py (E-CP-IAM-REAL)
ARCH-B17.2-07 OpenFGA/OPA permissions with proven refusalsPASSEDtest_iam_openfga_real.py test_iam_opa_bundles_real.py (E-CP-IAM-REAL, E-CP-AUTHZ)
ARCH-B17.2-08 Agent identity propagated on every actionPASSEDtest_identity_context_delegation.py (E-CP-CONTEXT)
ARCH-B17.2-09 Tenant isolationPASSEDtest_core_rls_forced.py test_soc_ai_sdr.py::test_soc_routes_refuse_other_tenant_ids (E-CP-RLS, E-G06-SOC)
ARCH-B17.2-10 MCP security impossible to bypassPASSEDtest_capabilities_gateways.py test_security_egress_wiring.py (E-CP-CAPS)
ARCH-B17.2-11 DLPPASSEDtest_soc_ai_sdr.py::test_secret_is_blocked_before_export test_evidence_config_redaction.py (E-G06-SOC, E-DO-REDACTION)
ARCH-B17.2-12 RAG securityPASSEDtest_rag_governance.py test_soc_ai_sdr.py::test_rag_poisoning_isolates_the_knowledge_base (E-CP-RAG-KIT, E-G06-SOC)
ARCH-B17.2-13 Complete verifiable auditPASSEDtest_core_audit.py test_audit_mutation_coverage.py (E-CP-AUDIT)
ARCH-B17.2-14 Opik/OTel traces, tokens, costs and latency correlatedPASSEDtest_tracing.py test_observability_signals.py (E-CP-OBS)
ARCH-B17.2-15 SOC detection and investigationPASSEDtest_soc_ai_sdr.py::test_ingestor_normalizes_and_correlator_links_user_agent_tenant test_soc_ai_sdr.py::test_soc_roles_access_audit_and_sealed_chain_of_custody (E-G06-SOC)
ARCH-B17.2-16 Effective Kill Switch with no unauthorised resumePASSEDtest_soc_ai_sdr.py::test_kill_switch_cancels_run_and_subagents_and_refuses_new_actions test_soc_ai_sdr.py::test_recovery_needs_four_eyes_then_reauthorization (E-G06-SOC)
ARCH-B17.2-17 Controlled logged recoveryPASSEDtest_soc_ai_sdr.py::test_emergency_lockdown_blocks_everything_but_soc_and_recovers test_backup_recovery.py::test_restore_needs_two_distinct_approvers_and_separate_privilege (E-G06-SOC, E-HB-BACKUP)
ARCH-B17.2-18 Scalability against client objectivesBLOCKEDtest_eo_scalability_helm.py::test_backend_api_is_stateless_and_scaled_horizontally test_perf_measurements.py::test_every_scenario_has_coherent_metrics (E-EO-SCALING, E-DO-PERF)Real load against client objectives needs a cluster [B-CLUSTER]
ARCH-B17.2-19 Backup and restore demonstratedPASSEDtest_recovery_postgres_real.py test_backup_dr_extended.py::test_periodic_restore_test_signed_report_and_alarm_on_corruption (E-HB-BACKUP)
ARCH-B17.2-20 Plugin marketplace install, permissions, update, rollbackPASSEDtest_marketplace.py (E-CP-MARKETPLACE)
ARCH-B17.2-21 SDK conformance in every languageIN_PROGRESStests (E-CONTRACTS, E-DO-SDK-SNIPPETS)Contracts and Python SDK proven here; TypeScript, Go and Java are proven by the E-SDK-TS, E-SDK-GO and E-SDK-JAVA sets of lot C06.
ARCH-B17.2-22 Licensing annual, triennial and offlinePASSEDtest_licensing.py::test_annual_and_triennial_licences_activate_online test_licensing.py::test_offline_issuance_and_file_activation_without_network (E-CP-LICENSING)
ARCH-B17.2-23 Documentation procedures executable and verifiedPASSEDtest_docs_kit.py::test_python_modules_quoted_in_the_docs_exist_and_answer_help test_docs_kit.py::test_routes_quoted_in_the_guides_exist_in_the_published_api (E-DO-DOCS)

Part B, B18. Differentiation, non negotiable requirements and distribution release​

ItemStatusProofRemaining or blocker
ARCH-B18-01 Assisted installPASSEDtest_services_install.py::test_provider_and_consumer_install_end_to_end (E-ID-LIFECYCLE)
ARCH-B18-02 Centralised versioned configurationIN_PROGRESSProof owned by the owning lot (C03 to C10); to cite once its set is green
ARCH-B18-03 Unified portalIN_PROGRESSProof owned by the owning lot (C03 to C10); to cite once its set is green
ARCH-B18-04 Standard SDKIN_PROGRESSProof owned by the owning lot (C03 to C10); to cite once its set is green
ARCH-B18-05 Controls provided and testedIN_PROGRESSProof owned by the owning lot (C03 to C10); to cite once its set is green
ARCH-B18-06 Signed pack marketplaceIN_PROGRESSProof owned by the owning lot (C03 to C10); to cite once its set is green
ARCH-B18-07 OpenFGA, OPA and user contextIN_PROGRESSProof owned by the owning lot (C03 to C10); to cite once its set is green
ARCH-B18-08 Execution Explorer and correlated auditIN_PROGRESSProof owned by the owning lot (C03 to C10); to cite once its set is green
ARCH-B18-09 SOC, playbooks, Kill SwitchIN_PROGRESSProof owned by the owning lot (C03 to C10); to cite once its set is green
ARCH-B18-10 Version and dependency managementPASSEDtest_lifecycle_upgrades.py::test_upgrade_compatibility_refusals (E-ID-LIFECYCLE)
ARCH-B18-11 Versioned documentationIN_PROGRESSProof owned by the owning lot (C03 to C10); to cite once its set is green
ARCH-B18-12 Diagnostics and support bundlePASSEDtest_lifecycle_bundle_acceptance.py::test_support_bundle_has_no_secret_and_no_personal_data (E-ID-LIFECYCLE)
ARCH-B18-13 Single component catalogPASSEDtest_architecture_decisions.py::test_governance_llm_observability_components_are_catalogued (E-ID-ARCH)
ARCH-B18-14 Central agent registryIN_PROGRESSProof owned by the owning lot (C03 to C10); to cite once its set is green
ARCH-B18-15 Centralised authorisationIN_PROGRESSProof owned by the owning lot (C03 to C10); to cite once its set is green
ARCH-B18-16 Independent auditIN_PROGRESSProof owned by the owning lot (C03 to C10); to cite once its set is green
ARCH-B18-17 Common documented tested SDKIN_PROGRESSProof owned by the owning lot (C03 to C10); to cite once its set is green
ARCH-B18-18 Frozen distribution releaseIN_PROGRESSProof owned by the owning lot (C03 to C10); to cite once its set is green

Part B, B19. The agent carries the user's identity​

ItemStatusProofRemaining or blocker
ARCH-B19-01 Field tenant_id carried by the agentPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B19-02 Field user_id carried by the agentPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B19-03 Field on_behalf_of carried by the agentPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B19-04 Field agent_id carried by the agentPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B19-05 Field agent_version carried by the agentPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B19-06 Field subagent_id carried by the agentPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B19-07 Field workload_identity carried by the agentPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B19-08 Field delegation_id carried by the agentPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B19-09 Field delegated_scopes carried by the agentPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B19-10 Field session_id carried by the agentPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B19-11 Field execution_id carried by the agentPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B19-12 Field trace_id carried by the agentPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B19-13 Field policy_revision carried by the agentPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B19-14 Field security_state carried by the agentPASSEDtest_identity_context_delegation.py::test_context_is_signed_verified_and_matches_the_contract test_identity_context_delegation.py::test_audit_events_carry_user_workload_delegation_and_causal_ids (E-IR-IDENTITY)
ARCH-B19-15 Effective rights = intersectionPASSEDtest_identity_context_delegation.py::test_pattern_algebra_never_widens (E-IR-IDENTITY)
ARCH-B19-16 No privileged technical account for the agentPASSEDtest_identity_context_delegation.py::test_opa_decision_is_taken_before_each_action_with_the_original_user (E-IR-IDENTITY)
ARCH-B19-17 Secure connector enforces the user's rightsPASSEDtest_connector_on_behalf_of.py::test_connector_enforces_user_right_on_technical_credential (E-IR-IDENTITY)
ARCH-B19-18 Scheduled workflows with a limited mandatePASSEDtest_identity_context_delegation.py::test_scheduled_run_needs_an_approved_mandate_bound_to_a_service_identity (E-IR-IDENTITY)
ARCH-B19-19 Central rule end to endPASSEDtest_identity_context_delegation.py::test_run_carries_original_user_and_subagent_never_gets_wider_rights (E-IR-IDENTITY)