You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make the whole estate ontological so agents (and humans) reason over a graph — search it, understand dependencies, answer cross-cutting questions — instead of reading every repo/config each time. Same thesis as the Model Plane ontology (#129), generalized to every estate resource.
Architecture — one core + five domains (all ontogenesis, rooted in upper-core, sourceos vocab namespaces)
"Which apps consume biometric/health-sensitive data and run on non-sovereign infra?" → Service —consumesData→ DataAsset(sensitivity) ⋈ Service —runsOn→ Infra(provider).
"Which models under a non-Apache license are served by a provider that can escalate off-device?" → mc:Model(license) ⋈ mc:servedBy→ mp:InferenceProvider(escalationPermitted) — reuses the feat(domains): model-plane OWL/SHACL domain module (T7-7/T7-8) #129 residency SHACL.
"Blast radius of retiring StorageBucket X" → traverse storedIn/dependsOn.
Cross-catalog SHACL integrity shapes (e.g. a biometric DataAsset consumed by a Service on non-on-device infra = violation) make these invariants, not just queries.
Phasing (each on the review→remediate→merge loop)
P1 (schema): core + five domain OWL + key SHACL integrity/cross-catalog shapes + good/bad fixtures + per-lane validator. (One PR per domain, or core+2 then +3.)
P2 (population): ingest instances — gh-inventory (~70 repos → service catalog), model store → model catalog, GCS/zot/GKE → asset+infra. Ingestion tranche, not schema.
P3 (query surface): SPARQL + the existing shapes/ontology-query ShapeQuery mechanism as the agent-facing "reason, don't read" API.
Notes
Generalizes catalog/registry.ttl (og:Module) which already catalogs ontology modules — same pattern, all resource types.
Register each module in catalog/registry.ttl; validate via shacl_gate.py + per-lane validators (same as agent-system / model-plane).
Vision
Make the whole estate ontological so agents (and humans) reason over a graph — search it, understand dependencies, answer cross-cutting questions — instead of reading every repo/config each time. Same thesis as the Model Plane ontology (#129), generalized to every estate resource.
Architecture — one core + five domains (all ontogenesis, rooted in
upper-core, sourceos vocab namespaces)Domains/estate-catalog/estate-catalog-core.ttl(cat:=https://spec.sourceos.dev/vocab/estate-catalog#)cat:CatalogEntry(⊑upper:Entity) — abstract root of every cataloged thing:catalogId(URN),title,owner,status{active|deprecated|retired},lifecycle,provenanceRef,evidenceRef.cat:Catalog— a named collection.cat:dependsOn,cat:runsOn,cat:consumesData,cat:producesData,cat:usesModel,cat:composedOf,cat:deployedTo,cat:exposes,cat:storedIn,cat:governedBy.Five domains (each ⊑
cat:CatalogEntry):dc:) —DataAsset(dataset|stream|table|index|corpus),Schema,DataProduct;sensitivityClass,residencyClass,retention,derivedFrom(lineage).mc:) —Model,ModelAdapter,ModelVersion. Extends the merged model-plane domain (feat(domains): model-plane OWL/SHACL domain module (T7-7/T7-8) #129):mc:Model↔ sourceos-specModelManifestby digest;mc:servedBy→mp:InferenceProvider; carrieslicense(MIT/Apache checkable),tier,task.ac:) —Asset(artifact|image|package|binary|document); content-addresseddigest,storageRef(zot/GCS/MinIO),signature,license. Ties to existingPackageManifest/ArtifactManifest/ReleaseManifest.sc:) —Application,Service,API,Endpoint;repo,environment,dependsOn,runsOn,consumesData,usesModel,exposes.inf:) —InfrastructureNode,Cluster,Environment{dev|staging|prod},Registry,Runner,Network,StorageBucket,ComputeResource;provider(GKE|GCS|sovereign),region,capacity;hosts,stores.Reasoning payoff (SPARQL/SHACL over the graph)
Service —consumesData→ DataAsset(sensitivity) ⋈ Service —runsOn→ Infra(provider).mc:Model(license) ⋈ mc:servedBy→ mp:InferenceProvider(escalationPermitted)— reuses the feat(domains): model-plane OWL/SHACL domain module (T7-7/T7-8) #129 residency SHACL.storedIn/dependsOn.Cross-catalog SHACL integrity shapes (e.g. a biometric
DataAssetconsumed by aServiceon non-on-device infra = violation) make these invariants, not just queries.Phasing (each on the review→remediate→merge loop)
shapes/ontology-queryShapeQuery mechanism as the agent-facing "reason, don't read" API.Notes
catalog/registry.ttl(og:Module) which already catalogs ontology modules — same pattern, all resource types.catalog/registry.ttl; validate viashacl_gate.py+ per-lane validators (same as agent-system / model-plane).