Skip to content

Commit 201b206

Browse files
committed
Browser: update to v3.6 ontology, fix header nav, add edges+consensus modules
- Header: Spec link -> Docs (pointing to /v3.6/introduction), TTL -> v3.6 - Prefixes: update from v3.5 to v3.6 namespace URIs - Add edges.ttl and consensus.ttl to loaded modules (9 total) - Add Edges and Consensus to module colors, labels, order, descriptions - Update featured entities for v3.6 (AgentKernel, PersonaTemplate, etc.) - Update module descriptions to remove alpha-6 references - Fix tests for 9 modules instead of 7
1 parent 77385da commit 201b206

4 files changed

Lines changed: 37 additions & 27 deletions

File tree

docs/public/browse/config.js

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,19 @@ const CKP_ONTOLOGY_URLS = [
1616
`${BASE}base-instances.ttl`,
1717
`${BASE}proof.ttl`,
1818
`${BASE}rbac.ttl`,
19+
`${BASE}edges.ttl`,
20+
`${BASE}consensus.ttl`,
1921
];
2022

2123
const CKP_PREFIXES = {
22-
'ckp': 'https://conceptkernel.org/ontology/v3.5/',
23-
'ckpp': 'https://conceptkernel.org/ontology/v3.5/process/',
24-
'ckpr': 'https://conceptkernel.org/ontology/v3.5/relation/',
25-
'ckpw': 'https://conceptkernel.org/ontology/v3.5/workflow/',
26-
'ckpi': 'https://conceptkernel.org/ontology/v3.5/improvement/',
24+
'ckp': 'https://conceptkernel.org/ontology/v3.6/',
25+
'ckpp': 'https://conceptkernel.org/ontology/v3.6/process/',
26+
'ckpr': 'https://conceptkernel.org/ontology/v3.6/relation/',
27+
'ckpw': 'https://conceptkernel.org/ontology/v3.6/workflow/',
28+
'ckpi': 'https://conceptkernel.org/ontology/v3.6/improvement/',
2729
'bfo': 'http://purl.obolibrary.org/obo/BFO_',
2830
'iao': 'http://purl.obolibrary.org/obo/IAO_',
29-
'cco': 'http://www.ontologydesignpatterns.org/ont/cco/',
31+
'cco': 'http://www.ontologyrepository.com/CommonCoreOntologies/',
3032
'vf': 'https://w3id.org/valueflows#',
3133
};
3234

@@ -57,6 +59,8 @@ const MODULE_COLORS = {
5759
'base-instances': '#16a34a', // green
5860
'proof': '#dc2626', // red
5961
'rbac': '#475569', // slate
62+
'edges': '#ec4899', // pink
63+
'consensus': '#f59e0b', // gold
6064
};
6165

6266
/**
@@ -70,6 +74,8 @@ const MODULE_LABELS = {
7074
'base-instances': 'Instances',
7175
'proof': 'Proof',
7276
'rbac': 'RBAC',
77+
'edges': 'Edges',
78+
'consensus': 'Consensus',
7379
};
7480

7581
/**
@@ -84,36 +90,40 @@ const MODULE_ORDER = [
8490
'base-instances',
8591
'proof',
8692
'rbac',
93+
'edges',
94+
'consensus',
8795
];
8896

8997
/**
9098
* Rich module descriptions for the welcome panel and sidebar headers.
9199
*/
92100
const MODULE_DESCRIPTIONS = {
93-
'core': 'Core BFO continuants: Kernel, Edge, Instance, Action, Project. The fundamental building blocks of CKP architecture, dual-grounded in BFO 2020 and mid-level ontologies (IAO, CCO, PROV-O).',
94-
'kernel-metadata': 'Storage, deployment, and serving qualities. Alpha-6 adds StorageMedium, DeploymentMethod, and ServingDisposition for the four kernel types.',
95-
'processes': 'BFO occurrents: Invocation, EdgeCommunication, Consensus, and Broadcast processes. Temporal parts and process boundaries for lifecycle tracking.',
96-
'relations': 'Object properties and SWRL inference rules: connected_by, depends_on, can_reach, upstream_of, downstream_of, sibling_of. Property chains for transitive closure.',
97-
'base-instances': 'Instance shapes with PROV-O integration: InstanceManifest, SealedInstance, LedgerEntry. Write-once immutability and append-only audit logs.',
98-
'proof': 'Proof verification: ProofRecord, ProofCheck, ProofOutcome. SHA-256 hashing, SHACL/SCHEMA/PROVENANCE checks, SPIFFE/SVID trust binding.',
99-
'rbac': 'Role-Based Access Control: Agent, UserAgent, ProcessAgent, Role, Permission, Quorum. Governance modes (STRICT, RELAXED, AUTONOMOUS).',
101+
'core': 'Core BFO continuants: Kernel (4 types + AgentKernel), Edge, Instance, Action, Project. Dual-grounded in BFO 2020 and mid-level ontologies (IAO, CCO, PROV-O).',
102+
'kernel-metadata': 'Storage, deployment, and serving qualities. StorageMedium, DeploymentMethod, ServingDisposition, PersonaTemplate, and ModelConfiguration.',
103+
'processes': 'BFO occurrents: Invocation, EdgeCommunication, Consensus, Broadcast, TaskExecution, Spawning, and Session processes.',
104+
'relations': 'Object properties and SWRL inference rules: connected_by, depends_on, can_reach, extends_with, loops_with, spawned_by. Property chains for transitive closure.',
105+
'base-instances': 'Instance shapes with PROV-O integration: InstanceManifest, SealedInstance, LedgerEntry, TaskInstance, ConversationInstance.',
106+
'proof': 'Proof verification with 20 CheckType individuals. ProofRecord, ProofCheck, ProofOutcome. SHA-256 hashing, SPIFFE/SVID trust binding.',
107+
'rbac': 'Role-Based Access Control: Agent, UserAgent, ProcessAgent, Role, Permission, Quorum, TeamCoordinator. GovernanceLevel (STRICT, RELAXED, AUTONOMOUS).',
108+
'edges': 'Edge predicate ontology: COMPOSES, TRIGGERS, PRODUCES, EXTENDS, LOOPS_WITH. Composition semantics, instance ownership, and activation models.',
109+
'consensus': 'CK.Consensus formal ontology: ConsensusProposal lifecycle, ConsensusVote, ValidationLayer (ontological, constraint, topology, compliance).',
100110
};
101111

102112
/**
103113
* Featured entities for the welcome panel — key concepts to highlight.
104114
*/
105115
const FEATURED_ENTITIES = [
106116
{ label: 'Kernel', type: 'Class', module: 'core', description: 'Persistent computational entity. Dual-grounded: BFO MaterialEntity + CCO Agent.' },
117+
{ label: 'AgentKernel', type: 'Class', module: 'core', description: 'LLM-capable kernel with streaming, personas, and multi-turn sessions.' },
107118
{ label: 'HotKernel', type: 'Class', module: 'core', description: 'Always-on service kernel with NATS listener and /action/* API.' },
108-
{ label: 'ColdKernel', type: 'Class', module: 'core', description: 'On-demand kernel triggered by filesystem events.' },
109-
{ label: 'InlineKernel', type: 'Class', module: 'core', description: 'Podless browser-side JS kernel — NATS WSS, JWT auth.' },
110-
{ label: 'StaticKernel', type: 'Class', module: 'core', description: 'No process — gateway serves storage/web/ directly.' },
111119
{ label: 'Edge', type: 'Class', module: 'core', description: 'Inter-kernel connection with predicate, NATS subject, and consensus flag.' },
112120
{ label: 'Instance', type: 'Class', module: 'core', description: 'BFO GenDepCont grounded in IAO DataItem. Versioned data artifacts.' },
113121
{ label: 'Action', type: 'Class', module: 'core', description: 'BFO Process grounded in IAO PlanSpecification. Named kernel operations.' },
114-
{ label: 'Project', type: 'Class', module: 'core', description: 'Federated namespace root grounded in CCO Organization.' },
122+
{ label: 'PersonaTemplate', type: 'Class', module: 'core', description: 'Reusable system prompt template for EXTENDS persona mounting.' },
123+
{ label: 'EdgePredicate', type: 'Class', module: 'edges', description: 'Five predicates: COMPOSES, TRIGGERS, PRODUCES, EXTENDS, LOOPS_WITH.' },
124+
{ label: 'ConsensusProposal', type: 'Class', module: 'consensus', description: 'Formal proposal for CK loop evolution with 4 validation layers.' },
115125
{ label: 'InvocationProcess', type: 'Class', module: 'processes', description: 'Complete lifecycle of a kernel action invocation.' },
116-
{ label: 'ProofRecord', type: 'Class', module: 'proof', description: 'SHA-256 manifest verification with SPIFFE identity binding.' },
126+
{ label: 'ProofRecord', type: 'Class', module: 'proof', description: 'SHA-256 manifest verification with 20 check types.' },
117127
{ label: 'Agent', type: 'Class', module: 'rbac', description: 'Autonomous entity with roles, permissions, and governance authority.' },
118128
];
119129

docs/public/browse/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@
2727
<span class="ckp-header-title">Ontology Browser</span>
2828
</div>
2929
<nav class="ckp-header-right">
30-
<a href="https://conceptkernel.org/v3.5-alpha6/" class="ckp-header-link" target="_blank" rel="noopener">Spec</a>
31-
<a href="https://conceptkernel.org/ontology/v3.5-alpha6/" class="ckp-header-link" target="_blank" rel="noopener">TTL Files</a>
32-
<a href="https://github.com/nicholascockman/conceptkernel" class="ckp-header-link" target="_blank" rel="noopener">GitHub</a>
30+
<a href="https://conceptkernel.org/v3.6/introduction" class="ckp-header-link" target="_blank" rel="noopener">Docs</a>
31+
<a href="https://conceptkernel.org/ontology/v3.6/" class="ckp-header-link" target="_blank" rel="noopener">TTL Files</a>
32+
<a href="https://github.com/ConceptKernel" class="ckp-header-link" target="_blank" rel="noopener">GitHub</a>
3333
</nav>
3434
</header>
3535

tests/browser-public.spec.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { test, expect } from '@playwright/test';
99
const SITE = 'https://conceptkernel.org';
1010
const BROWSE_URL = `${SITE}/browse/index.html`;
1111

12-
const MODULE_LABELS = ['Core', 'Metadata', 'Processes', 'Relations', 'Instances', 'Proof', 'RBAC'];
12+
const MODULE_LABELS = ['Core', 'Metadata', 'Processes', 'Relations', 'Instances', 'Proof', 'RBAC', 'Edges', 'Consensus'];
1313

1414
// Helper: wait for ontologies to finish loading
1515
async function waitForLoad(page) {
@@ -114,10 +114,10 @@ test.describe('Welcome Panel', () => {
114114
await expect(loops.nth(2)).toContainText('ABox');
115115
});
116116

117-
test('module cards are rendered for all 7 modules', async ({ page }) => {
117+
test('module cards are rendered for all modules', async ({ page }) => {
118118
await waitForLoad(page);
119119
const cards = page.locator('.welcome-module-card');
120-
await expect(cards).toHaveCount(7);
120+
await expect(cards).toHaveCount(MODULE_LABELS.length);
121121
});
122122

123123
test('each module card shows a non-zero entity count', async ({ page }) => {
@@ -172,7 +172,7 @@ test.describe('Module Pills', () => {
172172
test('all pills start in active state', async ({ page }) => {
173173
await waitForLoad(page);
174174
const pills = page.locator('.module-pill.active');
175-
await expect(pills).toHaveCount(7);
175+
await expect(pills).toHaveCount(MODULE_LABELS.length);
176176
});
177177

178178
test('clicking a pill toggles it to inactive and hides its module', async ({ page }) => {
@@ -227,7 +227,7 @@ test.describe('Sidebar Navigation', () => {
227227
test('7 ontology items are rendered in the tree', async ({ page }) => {
228228
await waitForLoad(page);
229229
const items = page.locator('#ontologyTree .ontology-item');
230-
await expect(items).toHaveCount(7);
230+
await expect(items).toHaveCount(MODULE_LABELS.length);
231231
});
232232

233233
test('modules are in correct order: Core first, RBAC last', async ({ page }) => {

tests/browser.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { test, expect } from '@playwright/test';
1515
const BROWSE_URL = '/browse/index.html';
1616

1717
// Module labels that should appear as pills in the sidebar
18-
const MODULE_LABELS = ['Core', 'Metadata', 'Processes', 'Relations', 'Instances', 'Proof', 'RBAC'];
18+
const MODULE_LABELS = ['Core', 'Metadata', 'Processes', 'Relations', 'Instances', 'Proof', 'RBAC', 'Edges', 'Consensus'];
1919

2020
test.describe('Ontology Browser', () => {
2121

0 commit comments

Comments
 (0)