Skip to content

Commit f1d6a14

Browse files
committed
core.ttl: integrate v3.7.6 LOCKS ontology delta
Per SPEC.CK.LOCKS.v3.7.6.ontology-delta.ttl integration instructions \xc2\xa76: - Revised ckp:Project rdfs:comment + dc:description (drops pin prose; references the 40-character lock SHA per organ). - Marked ckp:ckLockState / toolLockState / dataLockState owl:deprecated (superseded by ckp:locks \xe2\x86\x92 ckp:OrganLock with ckp:organKey). - Added ckp:KernelMounting class. - Added ckp:OrganLock class. - Added ckp:locks ObjectProperty (KernelMounting \xe2\x86\x92 OrganLock, non-functional). - Added ckp:organKey, ckp:lockMode, ckp:lockSha, ckp:taskId properties. - Preserved ckp:LockState class + ckp:RW + ckp:RO instances (reused by lockMode).
1 parent 7253918 commit f1d6a14

1 file changed

Lines changed: 70 additions & 13 deletions

File tree

docs/public/ontology/v3.7/core.ttl

Lines changed: 70 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -462,8 +462,8 @@ ckp:hasOntology a owl:ObjectProperty , owl:FunctionalProperty ;
462462
ckp:Project a owl:Class ;
463463
rdfs:subClassOf cco:Organization ; # cco:Organization
464464
rdfs:label "Project"@en ;
465-
rdfs:comment "Organizes kernels into a coherent deployment unit: a pinned set of frozen versions, the edges between them, and project-scoped configuration. Formally grounded in cco:Organization."@en ;
466-
dc:description "Each Project instance is materialized by a .ckproject manifest. The manifest is the authoritative record of the project's frozen deployment — SHA1 commit pins for each of the 3 organs (ck, tool, data) per kernel. The instance lives in CK.Project's DATA organ at /ck-data/<project>/CK.Project/<version>/data/instances/.ckproject on the SeaweedFS filer; a convenience symlink at /ck-data/<project>/.ckproject and a working-tree symlink at <project-root>/.ckproject both point at the same authoritative instance. All metadata folders (instances, proof, ledger, index, llm, web, logs) live under each kernel's DATA organ root at /ck-data/<host>/<Kernel>/<version>/data/. CK.Operator reads the manifest to materialize kernels at their pinned versions."@en ;
465+
rdfs:comment "Organizes kernels into a coherent deployment unit: a locked set of frozen organ versions, the edges between them, and project-scoped configuration. Formally grounded in cco:Organization."@en ;
466+
dc:description "Each Project instance is materialized by a .ckproject manifest. The manifest is the authoritative record of the project's frozen deployment — for each kernel, three organ locks (ck, tool, data) declaring the mode (ro|rw) and the 40-character lock SHA (the git commit ID on the corresponding organ's bare repo). The instance lives in CK.Project's DATA organ at /ck-data/<project>/CK.Project/<version>/data/instances/.ckproject on the SeaweedFS filer; a convenience symlink at /ck-data/<project>/.ckproject and a working-tree symlink at <project-root>/.ckproject both point at the same authoritative instance. All metadata folders (instances, proof, ledger, index, llm, web, logs) live under each kernel's DATA organ root at /ck-data/<host>/<Kernel>/<version>/data/. CK.Operator reads the manifest to materialize kernels at the locked organ commit IDs."@en ;
467467
ckp:implementationStatus "PARTIAL"^^xsd:string .
468468

469469
#################################################################
@@ -685,7 +685,7 @@ ckp:authSecret a owl:DatatypeProperty ;
685685

686686
ckp:LockState a owl:Class ;
687687
rdfs:label "Lock State"@en ;
688-
rdfs:comment "Read/write access state for a kernel organ attached to a project. v3.7.6 addition. Persists declaratively in .ckproject under kernels[].locks.{ck,tool,data}; the ck CLI refuses mutating verbs (attach, pin, push) on locked organs. Materialised worktrees remain content-addressable and verifiable when locked; only the ck-mediated mutation surface is closed."@en ;
688+
rdfs:comment "Read/write access state for a kernel organ attached to a project. v3.7.6 addition. Persists declaratively in .ckproject under each KernelMounting's organs[]/locks block (per ckp:OrganLock); the ck CLI refuses mutating verbs (attach, lock-advance, push) on ro-locked organs. Materialised worktrees remain content-addressable and verifiable when locked; only the ck-mediated mutation surface is closed."@en ;
689689
owl:oneOf ( ckp:RW ckp:RO ) ;
690690
dc:description "v3.7.6 addition." .
691691

@@ -698,23 +698,80 @@ ckp:RO a ckp:LockState ;
698698
rdfs:comment "Read-only — mutating ck verbs are refused."@en .
699699

700700
ckp:ckLockState a owl:ObjectProperty ;
701-
rdfs:label "ck organ lock state"@en ;
701+
owl:deprecated true ;
702+
rdfs:label "ck organ lock state (DEPRECATED v3.7.6)"@en ;
702703
rdfs:range ckp:LockState ;
703-
rdfs:comment "Lock state of the CK organ for a kernel attached to a project. v3.7.6 addition. Default: ckp:RW."@en ;
704-
dc:description "v3.7.6 addition." .
704+
rdfs:comment "DEPRECATED v3.7.6: superseded by ckp:locks → ckp:OrganLock with ckp:organKey \"ck\". The new shape carries lockMode + lockSha + (rw-only) taskId per organ; this predicate carried only the mode. Readers accept until v3.7.7; writers emit the new shape from v3.7.6."@en .
705705

706706
ckp:toolLockState a owl:ObjectProperty ;
707-
rdfs:label "tool organ lock state"@en ;
707+
owl:deprecated true ;
708+
rdfs:label "tool organ lock state (DEPRECATED v3.7.6)"@en ;
708709
rdfs:range ckp:LockState ;
709-
rdfs:comment "Lock state of the TOOL organ for a kernel attached to a project. v3.7.6 addition. Default: ckp:RW."@en ;
710-
dc:description "v3.7.6 addition." .
710+
rdfs:comment "DEPRECATED v3.7.6: superseded by ckp:locks → ckp:OrganLock with ckp:organKey \"tool\". See ckp:ckLockState."@en .
711711

712712
ckp:dataLockState a owl:ObjectProperty ;
713-
rdfs:label "data organ lock state"@en ;
713+
owl:deprecated true ;
714+
rdfs:label "data organ lock state (DEPRECATED v3.7.6)"@en ;
714715
rdfs:range ckp:LockState ;
715-
rdfs:comment "Lock state of the DATA organ for a kernel attached to a project. v3.7.6 addition. Default: ckp:RW. ck project lock <hostname> without --include-data leaves dataLockState unchanged."@en ;
716-
dc:description "v3.7.6 addition." .
716+
rdfs:comment "DEPRECATED v3.7.6: superseded by ckp:locks → ckp:OrganLock with ckp:organKey \"data\". See ckp:ckLockState."@en .
717+
718+
719+
#################################################################
720+
# v3.7.6 LOCKS contract — KernelMounting + OrganLock + locks property
721+
# (per SPEC.CK.LOCKS.v3.7.6.md and SPEC.CK.LOCKS.v3.7.6.ontology-delta.ttl;
722+
# supersedes the per-organ LockState predicates above)
723+
#################################################################
724+
725+
ckp:KernelMounting a owl:Class ;
726+
rdfs:label "Kernel Mounting"@en ;
727+
rdfs:comment "A kernel attached to a project at a route. Carries three OrganLock instances (one per organ: ck, tool, data) describing how each organ is locked into the project's frozen deployment. v3.7.6 introduction; corresponds to a single entry under .ckproject spec.versions[].kernels[]."@en ;
728+
dc:description "v3.7.6 addition. Authoritatively specified by SPEC.CK.LOCKS.v3.7.6 §3."@en .
729+
730+
731+
ckp:OrganLock a owl:Class ;
732+
rdfs:label "Organ Lock"@en ;
733+
rdfs:comment "Per-organ lock declaration on a KernelMounting. Three required fields: lockMode (ro|rw), lockSha (40-char git commit ID), and — when lockMode is rw — taskId (the CK.Task identifier scoping the read-write branch). v3.7.6 introduction. Supersedes the simpler v3.7-internal LockState predicates (ckp:ckLockState etc.) which only carried the ro/rw mode without sha or task."@en ;
734+
dc:description "v3.7.6 addition. Authoritatively specified by SPEC.CK.LOCKS.v3.7.6 §2 and §3."@en .
735+
736+
737+
ckp:locks a owl:ObjectProperty ;
738+
rdfs:label "locks"@en ;
739+
rdfs:domain ckp:KernelMounting ;
740+
rdfs:range ckp:OrganLock ;
741+
rdfs:comment "Each KernelMounting carries exactly three OrganLock instances (one per organ: ck, tool, data). The owning organ is identified by the ckp:organKey field on the OrganLock. Non-functional ObjectProperty — multiple OrganLock instances per KernelMounting is the contract. v3.7.6 addition."@en ;
742+
dc:description "v3.7.6 addition. SHACL shape in SPEC.CK.LOCKS.v3.7.6.shacl.ttl §KernelMountingLocksShape. YAML serialization is list-of-dicts under `organs:` per ontology-delta §7."@en .
743+
744+
745+
ckp:organKey a owl:DatatypeProperty , owl:FunctionalProperty ;
746+
rdfs:label "organ key"@en ;
747+
rdfs:domain ckp:OrganLock ;
748+
rdfs:range xsd:string ;
749+
rdfs:comment "Which organ this lock applies to. One of {ck, tool, data}. v3.7.6 addition."@en .
750+
751+
752+
ckp:lockMode a owl:ObjectProperty , owl:FunctionalProperty ;
753+
rdfs:label "lock mode"@en ;
754+
rdfs:domain ckp:OrganLock ;
755+
rdfs:range ckp:LockState ;
756+
rdfs:comment "Read or write mode for this organ lock. Reuses the v3.7-shipped ckp:LockState enum (ckp:RW | ckp:RO). v3.7.6 promotes this from a per-organ predicate on the kernel-mounting (ckp:ckLockState etc.) to a field of OrganLock."@en .
757+
758+
759+
ckp:lockSha a owl:DatatypeProperty , owl:FunctionalProperty ;
760+
rdfs:label "lock SHA"@en ;
761+
rdfs:domain ckp:OrganLock ;
762+
rdfs:range xsd:string ;
763+
rdfs:comment "The 40-character lowercase hex git commit ID identifying the organ's frozen content. The literal output of `git rev-parse HEAD` against the organ's bare repo. SHACL constrains the pattern to ^[0-9a-f]{40}$. v3.7.6 addition."@en ;
764+
dc:description "Authoritative identity for the locked organ content. Display surfaces (CLI columns, branch names) may render the first 8 hex chars; comparison logic uses the full 40 always."@en .
765+
766+
767+
ckp:taskId a owl:DatatypeProperty , owl:FunctionalProperty ;
768+
rdfs:label "task ID"@en ;
769+
rdfs:domain ckp:OrganLock ;
770+
rdfs:range xsd:string ;
771+
rdfs:comment "Identifier of the CK.Task scoping the read-write branch on this organ. Required when lockMode is ckp:RW; absent when lockMode is ckp:RO. The branch name on the materialised worktree is derived as <project-slug>.task.<taskId>. v3.7.6 addition."@en ;
772+
dc:description "v3.7.6 addition. SHACL constraint MISSING_TASK_ON_RW: rw locks must declare this; ro locks must not."@en .
773+
717774

718775
#################################################################
719-
# End of ConceptKernel Base BFO Ontology v3.7
776+
# End of ConceptKernel Base BFO Ontology v3.7 (with v3.7.6 LOCKS additions)
720777
#################################################################

0 commit comments

Comments
 (0)