154 lines
4.7 KiB
YAML
154 lines
4.7 KiB
YAML
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]
|
|
database_schema: situation
|
|
boundary_class: remote_capable
|
|
may_depend_on: [contracts.identity, contracts.authority, contracts.work, contracts.capability]
|
|
|
|
work:
|
|
id: mod.work
|
|
owns: [Goal, Task, Decision]
|
|
database_schema: work
|
|
boundary_class: remote_capable
|
|
may_depend_on: [contracts.identity, contracts.authority, platform.events]
|
|
|
|
epistemics:
|
|
id: mod.epistemics
|
|
owns: [Observation, Claim, Belief, Provenance]
|
|
database_schema: epistemics
|
|
boundary_class: remote_capable
|
|
may_depend_on: [contracts.identity, contracts.artifact, platform.events]
|
|
|
|
continuity:
|
|
id: mod.continuity
|
|
owns: [Commitment, ProspectiveItem]
|
|
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]
|
|
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]
|
|
|
|
platform:
|
|
allowed_packages:
|
|
- platform.ids
|
|
- platform.clock
|
|
- platform.outbox
|
|
- platform.inbox
|
|
- platform.telemetry
|
|
- platform.errors
|
|
rule: "platform owns mechanisms, never domain meaning"
|
|
|
|
runtime_topology_v1:
|
|
core_runtime:
|
|
modules: [identity, situation, work, epistemics, capability, artifact]
|
|
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
|
|
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
|