{ "registry_version": 1, "semantic_generation": 1, "architecture_generation": 1, "modules": { "identity": { "id": "mod.identity", "owns": [ "Identity", "Actor", "PrincipalBinding" ], "database_schema": "identity", "boundary_class": "remote_capable", "may_depend_on": [ "platform.ids", "platform.events" ], "forbidden": [ "adapters.models", "adapters.temporal" ] }, "authority": { "id": "mod.authority", "owns": [ "Scope", "AuthorityGrant", "AuthorityValidation" ], "database_schema": "authority", "boundary_class": "remote_capable", "may_depend_on": [ "contracts.identity", "platform.ids", "platform.events" ] }, "situation": { "id": "mod.situation", "owns": [ "Situation", "FocusBinding", "ProjectRegistry", "ActiveProjectFocus" ], "database_schema": "situation", "boundary_class": "remote_capable", "may_depend_on": [ "contracts.identity", "contracts.authority", "contracts.work", "contracts.capability" ] }, "work": { "id": "mod.work", "owns": [ "Goal", "HelpPath", "GoalLifecycle", "Task", "Decision", "PlanCandidate", "WorkPlan", "PlanStep", "CapabilityRequirement", "DelegationCandidate", "Delegation", "AgentRun", "AgentCheckpoint", "AgentResult", "DelegationVerification" ], "database_schema": "work", "boundary_class": "remote_capable", "may_depend_on": [ "contracts.identity", "contracts.authority", "contracts.epistemics", "contracts.capability", "platform.ids", "platform.events" ] }, "epistemics": { "id": "mod.epistemics", "owns": [ "Observation", "Claim", "Belief", "Provenance", "SystemExpectation", "ExperienceRecord", "ReflectionCandidate" ], "database_schema": "epistemics", "boundary_class": "remote_capable", "may_depend_on": [ "contracts.identity", "contracts.artifact", "platform.events" ] }, "continuity": { "id": "mod.continuity", "owns": [ "Commitment", "ProspectiveItem", "AttentionItem", "HumanResponse" ], "database_schema": "continuity", "boundary_class": "remote_capable", "may_depend_on": [ "contracts.work", "contracts.identity", "contracts.authority", "platform.events" ] }, "capability": { "id": "mod.capability", "owns": [ "Capability", "CapabilityBinding", "CapabilityHealth", "CapabilityImplementation", "CapabilityResolution", "CapabilitySelection", "CapabilityGap", "AcquisitionStrategyCandidate", "CapabilityUsageObservation", "SkillProfile", "SkillEvidence", "FastPathDecision" ], "database_schema": "capability", "boundary_class": "remote_capable", "may_depend_on": [ "contracts.identity", "contracts.authority", "contracts.artifact" ] }, "commit": { "id": "mod.commit", "owns": [ "ActionProposalRecord", "AuthorizedAction", "ActionAttemptRecord" ], "database_schema": "commit", "boundary_class": "remote_capable", "may_depend_on": [ "contracts.authority", "contracts.capability", "contracts.work", "contracts.continuity", "platform.events" ], "privileged": true }, "artifact": { "id": "mod.artifact", "owns": [ "ArtifactMetadata", "ArtifactLineage" ], "database_schema": "artifact", "boundary_class": "remote_capable", "may_depend_on": [ "contracts.identity" ] }, "interaction": { "id": "mod.interaction", "owns": ["Conversation", "HumanUtterance", "UtteranceInterpretation", "OriginalHumanIntent", "InteractionRelation", "ProjectReference"], "database_schema": "interaction", "boundary_class": "remote_capable", "may_depend_on": ["contracts.identity", "contracts.situation", "contracts.epistemics", "contracts.cognitive", "platform.ids", "platform.events"] } }, "platform": { "allowed_packages": [ "platform.ids", "platform.clock", "platform.outbox", "platform.inbox", "platform.telemetry", "platform.errors", "platform.secrets" ], "rule": "platform owns mechanisms, never domain meaning" }, "runtime_topology_v1": { "core_runtime": { "modules": [ "identity", "situation", "work", "epistemics", "capability", "artifact", "interaction" ] }, "continuity_runtime": { "modules": [ "continuity" ] }, "commit_runtime": { "modules": [ "authority", "commit" ], "isolation_reason": [ "secrets", "external_mutation_authority", "failure_isolation" ] }, "cognitive_workers": { "modules": [], "role": "replaceable cognition/context compilation workers; no canonical ownership" } }, "storage_topology_v1": { "postgres_cluster": "assistant_primary", "schemas": { "identity": "identity_role", "authority": "authority_role", "situation": "situation_role", "work": "work_role", "epistemics": "epistemics_role", "continuity": "continuity_role", "capability": "capability_role", "commit": "commit_role", "artifact": "artifact_role", "interaction": "interaction_role" }, "cross_owner_fk": "forbidden_by_default", "cross_owner_write": "forbidden", "cross_owner_application_join": "forbidden" }, "invariants": [ { "id": "INV-AUTH-001", "property": "No external mutation without current valid authority and target/revision checks", "class": "HARD", "enforcement": [ "commit_runtime", "property_tests", "secret_acl" ] }, { "id": "INV-OWN-001", "property": "Only semantic owner writes canonical state", "class": "HARD", "enforcement": [ "db_acl", "architecture_linter" ] }, { "id": "INV-CONT-001", "property": "Future obligations survive workflow engine loss", "class": "HARD", "enforcement": [ "canonical_prospective_store", "recovery_test" ] }, { "id": "INV-TOPO-001", "property": "Major bounded contracts preserve semantics across inproc and remote topology", "class": "HARD", "enforcement": [ "topology_equivalence_tests" ] }, { "id": "INV-EPI-001", "property": "Model output cannot directly become canonical fact/action", "class": "HARD", "enforcement": [ "package_boundaries", "commit_apis", "semantic_validation_tests" ] }, { "id": "INV-PROJ-001", "property": "Projection eventually converges from canonical state", "class": "CONVERGENCE", "enforcement": [ "projection_rebuild_tests", "lag_metrics" ] } ], "protected_paths": [ "architecture/ARCHITECTURE_CONSTITUTION.md", "architecture/architecture-registry.yaml", "architecture/adrs/**", "ci/architecture/**", ".gitea/workflows/ci.yml", "cmd/devctl/**", "dev/ACTIVE_TASK.json", "security/**" ], "default_feature_task_authority": { "may_write": [ "declared module paths", "module-owned tests" ], "may_not_change": [ "canonical_ownership", "public_cross_module_contracts", "protected_paths", "third_party_dependencies", "database_owner_roles", "privileged_capabilities" ] } }