381 lines
11 KiB
JSON
381 lines
11 KiB
JSON
{
|
|
"registry_version": 1,
|
|
"semantic_generation": 1,
|
|
"architecture_generation": 2,
|
|
"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"]
|
|
},
|
|
"world": {
|
|
"id": "mod.world",
|
|
"owns": ["WorldObject", "WorldObjectKindDefinition", "WorldAlias", "FacetDefinition", "RelationDefinition", "IdentityResolutionCandidate", "IdentityResolutionDecision", "WorldLineage"],
|
|
"database_schema": "world",
|
|
"boundary_class": "remote_capable",
|
|
"may_depend_on": ["contracts.identity", "platform.ids", "platform.events"],
|
|
"forbidden": ["adapters.models", "adapters.temporal", "claims", "beliefs", "observations"]
|
|
},
|
|
"configuration": {
|
|
"id": "mod.configuration",
|
|
"owns": ["SettingDefinition", "SettingAssignment", "ConfigurationRevision", "ConfigurationChangeProvenance"],
|
|
"database_schema": "configuration",
|
|
"boundary_class": "remote_capable",
|
|
"may_depend_on": ["contracts.identity", "contracts.authority", "platform.ids", "platform.events", "platform.secrets"],
|
|
"forbidden": ["secret_values", "arbitrary_key_value_without_definition"]
|
|
},
|
|
"self": {
|
|
"id": "mod.self",
|
|
"owns": ["CompetenceAssessment", "WeaknessPattern", "DependencyAssessment", "LearningLedgerEntry", "ImprovementNeed", "SelfVersionView", "SelfEvaluationInterpretation"],
|
|
"database_schema": "self",
|
|
"boundary_class": "remote_capable",
|
|
"may_depend_on": ["contracts.capability", "contracts.epistemics", "contracts.artifact", "platform.ids", "platform.events"],
|
|
"forbidden": ["adapters.models", "tasks", "authority_grants", "code_release_switching"]
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"runtime_topology_v2": {
|
|
"core_runtime": {
|
|
"modules": ["identity", "situation", "work", "epistemics", "capability", "artifact", "interaction", "world", "configuration", "self"]
|
|
},
|
|
"continuity_runtime": {"modules": ["continuity"]},
|
|
"commit_runtime": {"modules": ["authority", "commit"]},
|
|
"cognitive_workers": {"modules": [], "role": "replaceable reasoning/context workers; no canonical ownership"},
|
|
"supervisor_runtime": {"modules": [], "role": "release health, switch, rollback and recovery; not a semantic owner"}
|
|
},
|
|
"storage_topology_v2": {
|
|
"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", "world": "world_role", "configuration": "configuration_role", "self": "self_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",
|
|
"docs/DOMOVOY_CONSTITUTION.md",
|
|
"docs/DOMOVOY_GEN2_GAP_MAP.md",
|
|
"architecture/GEN2_TARGET_ARCHITECTURE.md",
|
|
"architecture/GEN2_CANONICAL_DATA_MODEL.md",
|
|
"development/GEN2_MIGRATION_MAP.md",
|
|
"development/GEN2_MASTER_PLAN.md",
|
|
"development/GEN2_EXECUTION_CONTRACT.md",
|
|
"development/GEN2_TASK_INDEX.md",
|
|
"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"
|
|
]
|
|
}
|
|
}
|