helixevo 0.4.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/README.md +20 -4
- package/dashboard/app/api/ontology/route.ts +89 -0
- package/dashboard/app/coevolution/client.tsx +32 -2
- package/dashboard/app/coevolution/page.tsx +3 -2
- package/dashboard/app/commands/page.tsx +80 -3
- package/dashboard/app/guide/page.tsx +80 -7
- package/dashboard/app/ontology/client.tsx +295 -0
- package/dashboard/app/ontology/page.tsx +9 -0
- package/dashboard/app/page.tsx +22 -2
- package/dashboard/app/topology/client.tsx +4 -0
- package/dashboard/components/sidebar-nav.tsx +10 -5
- package/dashboard/lib/data.ts +953 -53
- package/dist/cli.js +1133 -41
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,32 @@ All notable changes to HelixEvo are documented here.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.6.0] - 2026-03-24
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- Derived ontology adoption bindings for pressure signals, pressure motifs, route rationale, transfer events, and topology review candidates
|
|
11
|
+
- Ontology adoption summaries showing active concepts, binding coverage, semantically influenced routes, and deprecation-sensitive concepts
|
|
12
|
+
- Workflow-shaped dashboard navigation that now groups the product into Operate, Structure, and Reference surfaces
|
|
13
|
+
- New Guide semantic-control section and operator playbooks for frontier refresh, concept promotion, semantic adoption inspection, and careful deprecation
|
|
14
|
+
- New Commands operator recipes for project onboarding, pressure response, ontology adoption, and topology review/apply loops
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- `helixevo ontology --status --verbose` now surfaces semantic adoption, active concept usage, unused extensions, and deprecation-risk visibility
|
|
18
|
+
- Overview, Co-Evolution, Ontology, and Topology now show where approved ontology concepts are actively shaping the live control loop
|
|
19
|
+
- The Ontology dashboard surface now reads as a semantic-control cockpit instead of only frontier control
|
|
20
|
+
- Strategy/master-plan docs are being refreshed so the roadmap shifts from governed ontology emergence toward governed ontology adoption and semantic control
|
|
21
|
+
|
|
22
|
+
## [0.5.0] - 2026-03-24
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
- New `helixevo ontology` command for ontology frontier status, refresh, review, and deprecation control
|
|
26
|
+
- New `~/.helix/ontology/` persistence model with kernel snapshot, frontier concepts, approved extensions, review decisions, and native ontology change events
|
|
27
|
+
- New `/ontology` dashboard route and `/api/ontology` operator control surface for governed semantic review
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
- Overview semantic-backbone summaries now expose hybrid native + derived ontology state instead of only compatibility-era framing
|
|
31
|
+
- Dashboard Guide, Commands, and README now document ontology frontier control alongside co-evolution and topology control
|
|
32
|
+
|
|
7
33
|
## [0.4.1] - 2026-03-24
|
|
8
34
|
|
|
9
35
|
### Changed
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# HelixEvo
|
|
2
2
|
|
|
3
|
-
Co-evolving skill and project brain for AI agents. HelixEvo captures failures, traces activations, models pressure, routes governed responses, promotes cross-project transfer, reviews structural topology changes, safely executes accepted topology transitions with rollback, and
|
|
3
|
+
Co-evolving skill and project brain for AI agents. HelixEvo captures failures, traces activations, models pressure, routes governed responses, promotes cross-project transfer, reviews structural topology changes, safely executes accepted topology transitions with rollback, and now lets approved ontology concepts become active semantic consumers inside the live control loop.
|
|
4
4
|
|
|
5
5
|
## How it works
|
|
6
6
|
|
|
@@ -89,6 +89,7 @@ helixevo dashboard
|
|
|
89
89
|
| `helixevo generalize` | Promote cross-project patterns ↑ |
|
|
90
90
|
| `helixevo specialize --project <name>` | Create project-specific skills ↓ |
|
|
91
91
|
| `helixevo graph` | View skill network in terminal |
|
|
92
|
+
| `helixevo ontology` | Refresh, review, adopt, and inspect ontology concepts plus semantic control coverage |
|
|
92
93
|
| `helixevo topology` | Prepare, apply, roll back, and inspect reviewed topology execution |
|
|
93
94
|
| `helixevo research` | Proactive web research for skill improvement |
|
|
94
95
|
| `helixevo dashboard [--port <n>]` | Open web dashboard, preferring localhost:3847 and falling forward if occupied |
|
|
@@ -109,6 +110,12 @@ helixevo graph --mermaid # Open in browser as Mermaid diagram
|
|
|
109
110
|
helixevo graph --obsidian ~/vault # Sync to Obsidian vault
|
|
110
111
|
helixevo graph --rebuild # Re-infer relationships (LLM call)
|
|
111
112
|
helixevo graph --optimize # Detect structural candidates + refresh topology review queue
|
|
113
|
+
helixevo ontology --status # Show ontology kernel / frontier / extension / adoption state
|
|
114
|
+
helixevo ontology --status --verbose
|
|
115
|
+
# Show top active concepts, unused extensions, and deprecation-sensitive concepts
|
|
116
|
+
helixevo ontology --refresh # Derive frontier concepts from recurring evidence
|
|
117
|
+
helixevo ontology --review <id> --decision promote
|
|
118
|
+
# Promote a reviewed frontier concept into approved extensions
|
|
112
119
|
helixevo topology --status # Show reviewed topology execution state
|
|
113
120
|
helixevo topology --prepare <id> # Prepare an accepted topology candidate
|
|
114
121
|
helixevo topology --apply <id> # Apply a safe prepared topology plan
|
|
@@ -144,7 +151,13 @@ All data is stored in `~/.helix/`:
|
|
|
144
151
|
├── topology-apply-plans.json # Prepared reviewed topology plans
|
|
145
152
|
├── topology-executions.jsonl # Prepared/applied/rolled-back execution ledger
|
|
146
153
|
├── topology-artifacts.jsonl # Evidence artifacts for reviewed structural execution
|
|
147
|
-
├── evolution-artifacts.jsonl # Evolution evidence artifacts
|
|
154
|
+
├── evolution-artifacts.jsonl # Evolution + ontology-review evidence artifacts
|
|
155
|
+
├── ontology/
|
|
156
|
+
│ ├── kernel.json # Materialized ontology kernel snapshot
|
|
157
|
+
│ ├── extensions.json # Approved ontology extensions
|
|
158
|
+
│ ├── frontier.json # Provisional frontier concepts awaiting review
|
|
159
|
+
│ ├── reviews.jsonl # Ontology review decisions
|
|
160
|
+
│ └── change-log.jsonl # Native ontology change events
|
|
148
161
|
├── frontier.json # Pareto frontier (top-k configurations)
|
|
149
162
|
├── evolution-history.json # All evolution runs + proposals
|
|
150
163
|
├── skill-tests.jsonl # Regression test cases
|
|
@@ -171,9 +184,10 @@ helixevo dashboard --port 3900
|
|
|
171
184
|
```
|
|
172
185
|
|
|
173
186
|
**Tabs:**
|
|
174
|
-
- **Overview** — Premium control cockpit with frontier signals, brain foundation, semantic backbone, pressure counts, topology review visibility, and prepared/applied structural state
|
|
187
|
+
- **Overview** — Premium control cockpit with frontier signals, brain foundation, semantic backbone, ontology adoption visibility, pressure counts, topology review visibility, and prepared/applied structural state
|
|
175
188
|
- **Skill Network** — Interactive graph, premium inspector, co-evolution routing signals, and topology review/execution handoff links
|
|
176
|
-
- **Co-Evolution** — Operator cockpit for routed pressure response, governance mode visibility, promotion queues, transfer evidence, and topology handoff
|
|
189
|
+
- **Co-Evolution** — Operator cockpit for routed pressure response, governance mode visibility, promotion queues, transfer evidence, semantic route influence, and topology handoff
|
|
190
|
+
- **Ontology** — Semantic control surface for kernel visibility, frontier concept review, approved ontology extensions, adoption coverage, deprecation risk, and native ontology change events
|
|
177
191
|
- **Topology** — Governance steering plus a persistent operator pipeline for review → prepare → apply → rollback across merge / split / promote / rewire / consolidate candidates
|
|
178
192
|
- **Projects** — Project intake studio, live project analysis, gap routing, per-project pressure hotspots, and promotion feeders
|
|
179
193
|
- **Evolution** — Timeline of evolution runs with judge scores, artifact provenance, and activation-aware context
|
|
@@ -212,6 +226,8 @@ Failures → Cluster → Propose → Replay → Multi-Judge → Regression → C
|
|
|
212
226
|
|
|
213
227
|
**Brain foundation:**
|
|
214
228
|
- **Ontology** defines the stable semantic kernel for skills, projects, tasks, capabilities, artifacts, and mutations.
|
|
229
|
+
- **Ontology frontier and extensions** let new semantic concepts emerge as provisional hypotheses, pass explicit review, become approved extensions, and then appear as active semantic consumers in pressure, routing, transfer, and structural interpretation without free-form drift.
|
|
230
|
+
- **Semantic adoption visibility** shows which approved concepts are unused, active, deprecation-sensitive, or currently influencing live route rationale.
|
|
215
231
|
- **Activation traces** record which skills and gaps were active during capture and project analysis.
|
|
216
232
|
- **Pressure signals** turn failures and project gaps into explicit adaptation demand.
|
|
217
233
|
- **Pressure interventions** record how HelixEvo responded across research, specialize, evolve, generalize, and manual-review lanes.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { NextResponse } from 'next/server'
|
|
2
|
+
import { spawn } from 'child_process'
|
|
3
|
+
import { existsSync } from 'fs'
|
|
4
|
+
import { join } from 'path'
|
|
5
|
+
import { loadOntologyControlSummary } from '@/lib/data'
|
|
6
|
+
|
|
7
|
+
export const dynamic = 'force-dynamic'
|
|
8
|
+
|
|
9
|
+
function resolveOntologyRunner(): { cmd: string; argsPrefix: string[] } {
|
|
10
|
+
const candidates = [
|
|
11
|
+
join(process.cwd(), '..', 'dist', 'cli.js'),
|
|
12
|
+
join(process.cwd(), 'dist', 'cli.js'),
|
|
13
|
+
]
|
|
14
|
+
|
|
15
|
+
for (const candidate of candidates) {
|
|
16
|
+
if (existsSync(candidate)) return { cmd: process.execPath, argsPrefix: [candidate] }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return { cmd: 'helixevo', argsPrefix: [] }
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function runOntologyCommand(args: string[]): Promise<{ success: boolean; output: string }> {
|
|
23
|
+
return new Promise((resolve) => {
|
|
24
|
+
const runner = resolveOntologyRunner()
|
|
25
|
+
const child = spawn(runner.cmd, [...runner.argsPrefix, 'ontology', ...args], {
|
|
26
|
+
env: { ...process.env },
|
|
27
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
let output = ''
|
|
31
|
+
child.stdout?.on('data', (chunk: Buffer) => {
|
|
32
|
+
output += chunk.toString()
|
|
33
|
+
})
|
|
34
|
+
child.stderr?.on('data', (chunk: Buffer) => {
|
|
35
|
+
output += chunk.toString()
|
|
36
|
+
})
|
|
37
|
+
child.on('close', (code) => {
|
|
38
|
+
resolve({ success: code === 0, output })
|
|
39
|
+
})
|
|
40
|
+
child.on('error', (err) => {
|
|
41
|
+
resolve({ success: false, output: `Error: ${err.message}` })
|
|
42
|
+
})
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export async function GET() {
|
|
47
|
+
return NextResponse.json(loadOntologyControlSummary())
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export async function POST(request: Request) {
|
|
51
|
+
const body = await request.json() as {
|
|
52
|
+
action?: 'refresh' | 'review' | 'deprecate'
|
|
53
|
+
conceptId?: string
|
|
54
|
+
decision?: 'promote' | 'reject' | 'defer'
|
|
55
|
+
rationale?: string
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (!body.action) {
|
|
59
|
+
return NextResponse.json({ success: false, error: 'action is required' }, { status: 400 })
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
let args: string[] = []
|
|
63
|
+
if (body.action === 'refresh') {
|
|
64
|
+
args = ['--refresh']
|
|
65
|
+
} else if (body.action === 'review') {
|
|
66
|
+
if (!body.conceptId || !body.decision) {
|
|
67
|
+
return NextResponse.json({ success: false, error: 'conceptId and decision are required for review' }, { status: 400 })
|
|
68
|
+
}
|
|
69
|
+
args = ['--review', body.conceptId, '--decision', body.decision]
|
|
70
|
+
if (body.rationale?.trim()) args.push('--rationale', body.rationale.trim())
|
|
71
|
+
} else if (body.action === 'deprecate') {
|
|
72
|
+
if (!body.conceptId) {
|
|
73
|
+
return NextResponse.json({ success: false, error: 'conceptId is required for deprecate' }, { status: 400 })
|
|
74
|
+
}
|
|
75
|
+
args = ['--deprecate', body.conceptId]
|
|
76
|
+
if (body.rationale?.trim()) args.push('--rationale', body.rationale.trim())
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const result = await runOntologyCommand(args)
|
|
80
|
+
if (!result.success) {
|
|
81
|
+
return NextResponse.json({ success: false, error: result.output || 'Ontology command failed' }, { status: 500 })
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return NextResponse.json({
|
|
85
|
+
success: true,
|
|
86
|
+
output: result.output,
|
|
87
|
+
dashboard: loadOntologyControlSummary(),
|
|
88
|
+
})
|
|
89
|
+
}
|
|
@@ -72,7 +72,10 @@ type Summary = {
|
|
|
72
72
|
governanceMode: Summary['governance']['activeMode']
|
|
73
73
|
triggeredBy: string
|
|
74
74
|
reasons: string[]
|
|
75
|
+
semanticInfluence?: 'none' | 'explanatory' | 'weighted'
|
|
76
|
+
semanticConceptIds?: string[]
|
|
75
77
|
}
|
|
78
|
+
semanticConceptIds?: string[]
|
|
76
79
|
}[]
|
|
77
80
|
promoteQueue: {
|
|
78
81
|
id: string
|
|
@@ -94,15 +97,33 @@ type Summary = {
|
|
|
94
97
|
governanceMode: Summary['governance']['activeMode']
|
|
95
98
|
triggeredBy: string
|
|
96
99
|
reasons: string[]
|
|
100
|
+
semanticInfluence?: 'none' | 'explanatory' | 'weighted'
|
|
101
|
+
semanticConceptIds?: string[]
|
|
97
102
|
}
|
|
103
|
+
semanticConceptIds?: string[]
|
|
98
104
|
}[]
|
|
99
105
|
recentAddressed: { id: string; kind: string; projectId?: string; capability?: string; description?: string; addressedAt?: string; responseSummary: string; interventionTypes: PressureInterventionType[] }[]
|
|
100
106
|
recentInterventions: { id: string; interventionType: PressureInterventionType; status: 'started' | 'completed' | 'failed' | 'dry-run'; impact: 'exploratory' | 'structural' | 'resolving' | 'none'; projectId?: string; capabilities?: string[]; reasonSummary: string; completedAt?: string; createdAt: string }[]
|
|
101
|
-
recentTransfers: { id: string; timestamp: string; transferType: 'specialist-to-generalist' | 'generalist-to-project' | 'cross-project' | 'domain-transfer'; targetSkillIds?: string[]; capabilityIds?: string[]; motifIds?: string[]; status?: 'candidate' | 'realized' | 'rejected'; summary?: string }[]
|
|
107
|
+
recentTransfers: { id: string; timestamp: string; transferType: 'specialist-to-generalist' | 'generalist-to-project' | 'cross-project' | 'domain-transfer'; targetSkillIds?: string[]; capabilityIds?: string[]; motifIds?: string[]; status?: 'candidate' | 'realized' | 'rejected'; summary?: string; semanticConceptIds?: string[] }[]
|
|
102
108
|
}
|
|
103
109
|
|
|
104
110
|
interface Props {
|
|
105
111
|
summary: Summary
|
|
112
|
+
ontology: {
|
|
113
|
+
ontologyLoop: {
|
|
114
|
+
frontier: number
|
|
115
|
+
reviewOpen: number
|
|
116
|
+
extensions: number
|
|
117
|
+
changeEvents: number
|
|
118
|
+
adoption: {
|
|
119
|
+
activeConcepts: number
|
|
120
|
+
unusedExtensions: number
|
|
121
|
+
totalBindings: number
|
|
122
|
+
routesInfluenced: number
|
|
123
|
+
conceptsAtDeprecationRisk: number
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
106
127
|
}
|
|
107
128
|
|
|
108
129
|
function consoleTone(state: RunState): 'neutral' | 'green' | 'red' | 'yellow' {
|
|
@@ -145,7 +166,7 @@ function formatMode(mode: Summary['governance']['activeMode']) {
|
|
|
145
166
|
return mode.split('-').join(' ')
|
|
146
167
|
}
|
|
147
168
|
|
|
148
|
-
export default function CoEvolutionClient({ summary }: Props) {
|
|
169
|
+
export default function CoEvolutionClient({ summary, ontology }: Props) {
|
|
149
170
|
const [runState, setRunState] = useState<RunState>('idle')
|
|
150
171
|
const [activeCommand, setActiveCommand] = useState<CommandName | null>(null)
|
|
151
172
|
const [output, setOutput] = useState('')
|
|
@@ -246,6 +267,8 @@ export default function CoEvolutionClient({ summary }: Props) {
|
|
|
246
267
|
{ label: `${summary.pressureLifecycle.open} open`, tone: summary.pressureLifecycle.open > 0 ? 'yellow' : 'green' },
|
|
247
268
|
{ label: `${summary.pressureMotifs.promotionReady} promotion-ready motifs`, tone: summary.pressureMotifs.promotionReady > 0 ? 'purple' : 'neutral' },
|
|
248
269
|
{ label: `${summary.topologyReviews.open} topology reviews`, tone: summary.topologyReviews.open > 0 ? 'yellow' : 'green' },
|
|
270
|
+
{ label: `${ontology.ontologyLoop.frontier} ontology frontier`, tone: ontology.ontologyLoop.reviewOpen > 0 ? 'blue' : 'neutral' },
|
|
271
|
+
{ label: `${ontology.ontologyLoop.adoption.activeConcepts} active concepts`, tone: ontology.ontologyLoop.adoption.activeConcepts > 0 ? 'green' : 'neutral' },
|
|
249
272
|
{ label: `${summary.recentTransfers.length} recent transfers`, tone: summary.recentTransfers.length > 0 ? 'green' : 'neutral' },
|
|
250
273
|
{ label: formatMode(summary.governance.activeMode), tone: toneForMode(summary.governance.activeMode) },
|
|
251
274
|
]}
|
|
@@ -264,6 +287,7 @@ export default function CoEvolutionClient({ summary }: Props) {
|
|
|
264
287
|
<button onClick={() => handleRun('research')} disabled={runState === 'running'} className="badge badge-blue" style={{ border: 'none', cursor: 'pointer' }}>Run research</button>
|
|
265
288
|
<button onClick={() => handleRun('evolve')} disabled={runState === 'running'} className="badge badge-green" style={{ border: 'none', cursor: 'pointer' }}>Run evolve</button>
|
|
266
289
|
<button onClick={() => handleRun('generalize')} disabled={runState === 'running'} className="badge badge-purple" style={{ border: 'none', cursor: 'pointer' }}>Run generalize</button>
|
|
290
|
+
<Link href="/ontology" className="badge badge-gray">Open ontology</Link>
|
|
267
291
|
<Link href="/topology" className="badge badge-gray">Open topology</Link>
|
|
268
292
|
</div>
|
|
269
293
|
</div>
|
|
@@ -275,6 +299,7 @@ export default function CoEvolutionClient({ summary }: Props) {
|
|
|
275
299
|
<MetricCard label="Promotion-ready motifs" value={summary.pressureMotifs.promotionReady} sublabel={`${summary.pressureMotifs.total} recurring motifs tracked`} tone="purple" icon="⇄" />
|
|
276
300
|
<MetricCard label="Topology reviews" value={summary.topologyReviews.open} sublabel={`${summary.topologyReviews.accepted} accepted • ${summary.topologyReviews.deferred} deferred`} tone={summary.topologyReviews.open > 0 ? 'yellow' : 'green'} icon="◇" />
|
|
277
301
|
<MetricCard label="Prepared topology" value={summary.topologyExecution.prepared} sublabel={`${summary.topologyExecution.applied} applied • ${summary.topologyExecution.rolledBack} rolled back`} tone={summary.topologyExecution.prepared > 0 ? 'blue' : summary.topologyExecution.applied > 0 ? 'green' : 'neutral'} icon="↑" />
|
|
302
|
+
<MetricCard label="Active semantics" value={ontology.ontologyLoop.adoption.activeConcepts} sublabel={`${ontology.ontologyLoop.adoption.totalBindings} bindings • ${ontology.ontologyLoop.adoption.routesInfluenced} influenced routes`} tone={ontology.ontologyLoop.adoption.activeConcepts > 0 ? 'green' : 'neutral'} icon="◎" />
|
|
278
303
|
<MetricCard label="Recorded interventions" value={summary.pressureInterventions.total} sublabel={`${summary.pressureInterventions.completed} completed • ${summary.pressureInterventions.dryRun} dry-run`} tone="blue" icon="↺" />
|
|
279
304
|
<MetricCard label="Realized transfers" value={summary.recentTransfers.filter((event) => event.status === 'realized').length} sublabel={`${summary.pressureMotifs.addressed} motifs now addressed`} tone="green" icon="↑" />
|
|
280
305
|
</div>
|
|
@@ -366,6 +391,8 @@ export default function CoEvolutionClient({ summary }: Props) {
|
|
|
366
391
|
<span className={`badge badge-${toneForLifecycle(motif.lifecycle)}`}>{motif.lifecycle}</span>
|
|
367
392
|
<span className="badge badge-purple">recommend {motif.suggestedRoute.route}</span>
|
|
368
393
|
<span className="badge badge-gray">confidence {(motif.suggestedRoute.confidence * 100).toFixed(0)}%</span>
|
|
394
|
+
{motif.suggestedRoute.semanticInfluence && motif.suggestedRoute.semanticInfluence !== 'none' ? <span className="badge badge-green">semantic {motif.suggestedRoute.semanticInfluence}</span> : null}
|
|
395
|
+
{(motif.semanticConceptIds ?? []).slice(0, 2).map((conceptId) => <span key={`${motif.id}-${conceptId}`} className="badge badge-gray">{conceptId}</span>)}
|
|
369
396
|
{motif.projectIds.slice(0, 3).map((projectId) => <span key={`${motif.id}-${projectId}`} className="badge badge-gray">{projectId}</span>)}
|
|
370
397
|
</div>
|
|
371
398
|
<div style={{ display: 'grid', gap: 4, marginTop: 10 }}>
|
|
@@ -467,6 +494,7 @@ export default function CoEvolutionClient({ summary }: Props) {
|
|
|
467
494
|
<div className="summary-row-meta">{event.transferType} • {formatDate(event.timestamp)}</div>
|
|
468
495
|
<div style={{ display: 'flex', gap: 6, flexWrap: 'wrap', marginTop: 8 }}>
|
|
469
496
|
<span className={`badge badge-${event.status === 'realized' ? 'green' : event.status === 'candidate' ? 'purple' : 'gray'}`}>{event.status ?? 'candidate'}</span>
|
|
497
|
+
{(event.semanticConceptIds ?? []).slice(0, 2).map((conceptId) => <span key={`${event.id}-${conceptId}`} className="badge badge-green">{conceptId}</span>)}
|
|
470
498
|
{(event.targetSkillIds ?? []).slice(0, 2).map((skill) => <span key={`${event.id}-${skill}`} className="badge badge-gray">{skill}</span>)}
|
|
471
499
|
{(event.capabilityIds ?? []).slice(0, 2).map((capability) => <span key={`${event.id}-${capability}`} className="badge badge-gray">{capability}</span>)}
|
|
472
500
|
</div>
|
|
@@ -500,6 +528,8 @@ export default function CoEvolutionClient({ summary }: Props) {
|
|
|
500
528
|
{signal.projectId ? <span className="badge badge-gray">{signal.projectId}</span> : null}
|
|
501
529
|
{signal.routeRecommendation ? <span className={`badge badge-${toneForRoute(signal.routeRecommendation.route)}`}>recommend {signal.routeRecommendation.route}</span> : null}
|
|
502
530
|
{signal.routeRecommendation ? <span className="badge badge-gray">{signal.routeRecommendation.scope}</span> : null}
|
|
531
|
+
{signal.routeRecommendation?.semanticInfluence && signal.routeRecommendation.semanticInfluence !== 'none' ? <span className="badge badge-green">semantic {signal.routeRecommendation.semanticInfluence}</span> : null}
|
|
532
|
+
{(signal.semanticConceptIds ?? []).slice(0, 2).map((conceptId) => <span key={`${signal.id}-${conceptId}`} className="badge badge-gray">{conceptId}</span>)}
|
|
503
533
|
{signal.interventionTypes.map((type) => <span key={`${signal.id}-${type}`} className="badge badge-gray">{type}</span>)}
|
|
504
534
|
</div>
|
|
505
535
|
{signal.routeRecommendation?.reasons?.length ? (
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { loadCoEvolutionSummary } from '@/lib/data'
|
|
1
|
+
import { loadCoEvolutionSummary, loadOntologySummary } from '@/lib/data'
|
|
2
2
|
import CoEvolutionClient from './client'
|
|
3
3
|
|
|
4
4
|
export const dynamic = 'force-dynamic'
|
|
5
5
|
|
|
6
6
|
export default function CoEvolutionPage() {
|
|
7
7
|
const summary = loadCoEvolutionSummary()
|
|
8
|
-
|
|
8
|
+
const ontology = loadOntologySummary()
|
|
9
|
+
return <CoEvolutionClient summary={summary} ontology={ontology} />
|
|
9
10
|
}
|
|
@@ -131,6 +131,30 @@ const COMMANDS: CommandInfo[] = [
|
|
|
131
131
|
needsLLM: true,
|
|
132
132
|
runnable: { command: 'graph-rebuild', label: 'Rebuild Graph', icon: 'M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1', color: 'var(--purple)' },
|
|
133
133
|
},
|
|
134
|
+
{
|
|
135
|
+
name: 'ontology',
|
|
136
|
+
description: 'Govern the ontology frontier explicitly and inspect semantic adoption. Refresh provisional concepts from recurring evidence, review them with promote/reject/defer decisions, and see which approved concepts are actively shaping pressure, routing, transfer, and topology interpretation.',
|
|
137
|
+
usage: 'helixevo ontology [options]',
|
|
138
|
+
examples: [
|
|
139
|
+
{ cmd: 'helixevo ontology --status', desc: 'Show kernel, frontier, extension, adoption, and change-log counts' },
|
|
140
|
+
{ cmd: 'helixevo ontology --status --verbose', desc: 'Show top active concepts, unused extensions, and deprecation-sensitive concepts' },
|
|
141
|
+
{ cmd: 'helixevo ontology --refresh', desc: 'Derive frontier concepts from recurring capability, pressure, and topology evidence' },
|
|
142
|
+
{ cmd: 'helixevo ontology --review ontology_capability_ui --decision promote', desc: 'Promote a frontier concept into approved ontology extensions' },
|
|
143
|
+
{ cmd: 'helixevo ontology --deprecate ontology_capability_ui', desc: 'Deprecate an approved ontology extension with consumer-risk visibility' },
|
|
144
|
+
],
|
|
145
|
+
options: [
|
|
146
|
+
{ flag: '--status', desc: 'Show ontology kernel, frontier, extension, adoption, and review state' },
|
|
147
|
+
{ flag: '--refresh', desc: 'Refresh frontier concepts from recurring evidence' },
|
|
148
|
+
{ flag: '--review <conceptId>', desc: 'Review a frontier concept' },
|
|
149
|
+
{ flag: '--decision <promote|reject|defer>', desc: 'Decision for --review' },
|
|
150
|
+
{ flag: '--rationale <text>', desc: 'Optional review or deprecate rationale' },
|
|
151
|
+
{ flag: '--deprecate <conceptId>', desc: 'Deprecate an approved ontology extension' },
|
|
152
|
+
{ flag: '--verbose', desc: 'Show detailed frontier concepts, active semantic consumers, and ontology changes' },
|
|
153
|
+
],
|
|
154
|
+
category: 'network',
|
|
155
|
+
needsLLM: false,
|
|
156
|
+
note: 'Milestone 9 keeps ontology growth governed while also showing semantic adoption: concepts begin in the frontier, become approved extensions through review, and then become visible as live consumers inside the control loop.',
|
|
157
|
+
},
|
|
134
158
|
{
|
|
135
159
|
name: 'topology',
|
|
136
160
|
description: 'Move reviewed topology candidates through an explicit structural execution pipeline. Prepare accepted candidates, apply only the safe subset, inspect snapshots and artifacts, and roll back applied structural overrides when needed.',
|
|
@@ -292,6 +316,33 @@ const WORKFLOW = [
|
|
|
292
316
|
{ label: 'health', desc: 'Assess quality', tone: 'blue' as const },
|
|
293
317
|
]
|
|
294
318
|
|
|
319
|
+
const WORKFLOW_RECIPES = [
|
|
320
|
+
{
|
|
321
|
+
title: 'New project onboarding',
|
|
322
|
+
tone: 'blue' as const,
|
|
323
|
+
summary: 'Stand up project context, detect capability gaps, and create the first routed pressure picture.',
|
|
324
|
+
steps: ['helixevo project-setup <path>', 'helixevo research --project <path>', 'helixevo specialize --project <name>'],
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
title: 'Pressure-response loop',
|
|
328
|
+
tone: 'purple' as const,
|
|
329
|
+
summary: 'Capture real demand, let governance route the response, then apply the right lane.',
|
|
330
|
+
steps: ['helixevo watch --project <name>', 'helixevo evolve', 'helixevo generalize'],
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
title: 'Ontology adoption loop',
|
|
334
|
+
tone: 'green' as const,
|
|
335
|
+
summary: 'Move from recurring evidence to approved concepts and inspect live semantic adoption.',
|
|
336
|
+
steps: ['helixevo ontology --refresh', 'helixevo ontology --review <conceptId> --decision promote', 'helixevo ontology --status --verbose'],
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
title: 'Topology review / apply loop',
|
|
340
|
+
tone: 'yellow' as const,
|
|
341
|
+
summary: 'Refresh structural review candidates, prepare accepted safe plans, apply them, and keep rollback available.',
|
|
342
|
+
steps: ['helixevo graph --optimize', 'helixevo topology --prepare <candidateId>', 'helixevo topology --apply <planId>'],
|
|
343
|
+
},
|
|
344
|
+
]
|
|
345
|
+
|
|
295
346
|
const CATEGORIES: Array<{
|
|
296
347
|
id: CommandInfo['category']
|
|
297
348
|
label: string
|
|
@@ -300,7 +351,7 @@ const CATEGORIES: Array<{
|
|
|
300
351
|
}> = [
|
|
301
352
|
{ id: 'core', label: 'Core workflow', tone: 'purple', description: 'The commands that initialize HelixEvo and keep it learning continuously.' },
|
|
302
353
|
{ id: 'evolution', label: 'Evolution', tone: 'green', description: 'Mutation, promotion, and specialization controls for active skill improvement.' },
|
|
303
|
-
{ id: 'network', label: '
|
|
354
|
+
{ id: 'network', label: 'Structure, ontology & research', tone: 'blue', description: 'Graph maintenance, semantic control, structural review, and discovery across the skill ecosystem.' },
|
|
304
355
|
{ id: 'analysis', label: 'Analysis & reports', tone: 'yellow', description: 'Operational reads on system quality, trends, reports, and health.' },
|
|
305
356
|
{ id: 'system', label: 'System', tone: 'neutral', description: 'Supporting commands for capture, dashboard access, and environment-level actions.' },
|
|
306
357
|
]
|
|
@@ -338,8 +389,8 @@ export default function CommandsPage() {
|
|
|
338
389
|
actions={
|
|
339
390
|
<div className="hero-note-card">
|
|
340
391
|
<div className="hero-note-label">Recommended operating loop</div>
|
|
341
|
-
<div className="hero-note-title">
|
|
342
|
-
<div className="hero-note-copy">Use the Commands page as the practical bridge between HelixEvo’s CLI and the premium dashboard cockpit.</div>
|
|
392
|
+
<div className="hero-note-title">Project Setup → Watch → Co-Evolution → Ontology → Topology</div>
|
|
393
|
+
<div className="hero-note-copy">Use the Commands page as the practical bridge between HelixEvo’s CLI, semantic control loop, and the premium dashboard cockpit.</div>
|
|
343
394
|
</div>
|
|
344
395
|
}
|
|
345
396
|
/>
|
|
@@ -379,6 +430,32 @@ export default function CommandsPage() {
|
|
|
379
430
|
</div>
|
|
380
431
|
</SectionFrame>
|
|
381
432
|
|
|
433
|
+
<SectionFrame
|
|
434
|
+
eyebrow="Operator recipes"
|
|
435
|
+
title="Fast command loops for the live product"
|
|
436
|
+
description="These compact sequences make the M9 dashboard and CLI feel like one coordinated operating surface instead of separate references."
|
|
437
|
+
tone="blue"
|
|
438
|
+
>
|
|
439
|
+
<div className="grid-2" style={{ gap: 14 }}>
|
|
440
|
+
{WORKFLOW_RECIPES.map((recipe) => (
|
|
441
|
+
<div key={recipe.title} className="card" style={{ padding: '18px 18px 16px' }}>
|
|
442
|
+
<div style={{ display: 'flex', alignItems: 'center', gap: 8, flexWrap: 'wrap', marginBottom: 8 }}>
|
|
443
|
+
<span className={`hero-chip hero-chip-${recipe.tone}`}>{recipe.title}</span>
|
|
444
|
+
</div>
|
|
445
|
+
<div style={{ fontSize: 12.5, color: 'var(--text-dim)', lineHeight: 1.65, marginBottom: 12 }}>{recipe.summary}</div>
|
|
446
|
+
<div style={{ display: 'grid', gap: 8 }}>
|
|
447
|
+
{recipe.steps.map((step, index) => (
|
|
448
|
+
<div key={step} style={{ padding: '10px 12px', borderRadius: 14, background: 'rgba(255,255,255,0.72)', border: '1px solid var(--border)' }}>
|
|
449
|
+
<div style={{ fontSize: 10.5, fontWeight: 700, color: 'var(--text-muted)', textTransform: 'uppercase', letterSpacing: 0.9, marginBottom: 4 }}>Step {index + 1}</div>
|
|
450
|
+
<code style={{ fontFamily: 'var(--font-mono)', fontSize: 11.5, color: 'var(--text)' }}>$ {step}</code>
|
|
451
|
+
</div>
|
|
452
|
+
))}
|
|
453
|
+
</div>
|
|
454
|
+
</div>
|
|
455
|
+
))}
|
|
456
|
+
</div>
|
|
457
|
+
</SectionFrame>
|
|
458
|
+
|
|
382
459
|
{CATEGORIES.map(category => {
|
|
383
460
|
const commands = COMMANDS.filter(command => command.category === category.id)
|
|
384
461
|
if (commands.length === 0) return null
|
|
@@ -11,6 +11,7 @@ const TOC = [
|
|
|
11
11
|
{ id: 'architecture', label: 'Architecture', icon: '◎' },
|
|
12
12
|
{ id: 'brainstack', label: 'Brain Stack', icon: '◈' },
|
|
13
13
|
{ id: 'loop', label: 'Adaptation Loop', icon: '↺' },
|
|
14
|
+
{ id: 'semanticcontrol', label: 'Semantic Control', icon: '◉' },
|
|
14
15
|
{ id: 'surfaces', label: 'Surface Map', icon: '▦' },
|
|
15
16
|
{ id: 'watch', label: 'Always-On Learning', icon: '⚡' },
|
|
16
17
|
{ id: 'evolution', label: 'Evolution Pipeline', icon: '⟳' },
|
|
@@ -246,6 +247,7 @@ export default function GuidePage() {
|
|
|
246
247
|
<div style={{ display: 'flex', gap: 6, flexWrap: 'wrap' }}>
|
|
247
248
|
<a href="#quickstart" className="hero-chip hero-chip-blue" style={{ textDecoration: 'none' }}>Quick Start</a>
|
|
248
249
|
<a href="#brainstack" className="hero-chip hero-chip-green" style={{ textDecoration: 'none' }}>Brain Stack</a>
|
|
250
|
+
<a href="#semanticcontrol" className="hero-chip hero-chip-blue" style={{ textDecoration: 'none' }}>Semantic Control</a>
|
|
249
251
|
<a href="#surfaces" className="hero-chip hero-chip-purple" style={{ textDecoration: 'none' }}>Surface Map</a>
|
|
250
252
|
</div>
|
|
251
253
|
</div>
|
|
@@ -277,6 +279,7 @@ export default function GuidePage() {
|
|
|
277
279
|
<span className="hero-chip hero-chip-blue">v{VERSION}</span>
|
|
278
280
|
<span className="hero-chip hero-chip-purple">{TOC.length} sections</span>
|
|
279
281
|
<span className="hero-chip hero-chip-green">operator path + theory path</span>
|
|
282
|
+
<span className="hero-chip hero-chip-blue">semantic control reference</span>
|
|
280
283
|
<span className="hero-chip hero-chip-yellow">governed plasticity reference</span>
|
|
281
284
|
</div>
|
|
282
285
|
|
|
@@ -296,6 +299,7 @@ export default function GuidePage() {
|
|
|
296
299
|
<div style={{ display: 'flex', gap: 8, flexWrap: 'wrap' }}>
|
|
297
300
|
<a href="#quickstart" className="hero-chip hero-chip-blue" style={{ textDecoration: 'none' }}>Quick Start</a>
|
|
298
301
|
<a href="#brainstack" className="hero-chip hero-chip-purple" style={{ textDecoration: 'none' }}>Brain Stack</a>
|
|
302
|
+
<a href="#semanticcontrol" className="hero-chip hero-chip-blue" style={{ textDecoration: 'none' }}>Semantic Control</a>
|
|
299
303
|
<a href="#surfaces" className="hero-chip hero-chip-green" style={{ textDecoration: 'none' }}>Surface Map</a>
|
|
300
304
|
<a href="#maturity" className="hero-chip hero-chip-yellow" style={{ textDecoration: 'none' }}>Safety</a>
|
|
301
305
|
</div>
|
|
@@ -467,6 +471,11 @@ helixevo topology --status`}</Code>
|
|
|
467
471
|
desc: 'Inspect the network and, with --optimize, refresh topology review candidates for structural issues and opportunities.',
|
|
468
472
|
flags: ['--mermaid', '--obsidian <vault>', '--rebuild', '--optimize', '--verbose'],
|
|
469
473
|
},
|
|
474
|
+
{
|
|
475
|
+
cmd: 'helixevo ontology',
|
|
476
|
+
desc: 'Govern the ontology frontier explicitly and inspect semantic adoption. Refresh concept hypotheses from recurring evidence, review them with promote/reject/defer decisions, and see which approved concepts are actively shaping pressure, routing, transfer, and topology interpretation.',
|
|
477
|
+
flags: ['--status', '--refresh', '--review <conceptId>', '--decision <promote|reject|defer>', '--rationale <text>', '--deprecate <conceptId>', '--verbose'],
|
|
478
|
+
},
|
|
470
479
|
{
|
|
471
480
|
cmd: 'helixevo topology',
|
|
472
481
|
desc: 'Move accepted topology review through prepare, apply, and rollback. This is the explicit control surface for reviewed structural execution.',
|
|
@@ -531,7 +540,7 @@ helixevo topology --status`}</Code>
|
|
|
531
540
|
<h3 className="guide-h3">Brain foundation</h3>
|
|
532
541
|
<div className="grid-2" style={{ gap: 12, marginBottom: 20 }}>
|
|
533
542
|
{[
|
|
534
|
-
['Ontology', 'var(--blue)', 'Stable semantic kernel
|
|
543
|
+
['Ontology', 'var(--blue)', 'Stable semantic kernel plus approved extensions that can now become active semantic consumers in pressure, routing, transfer, and topology interpretation.'],
|
|
535
544
|
['Activation traces', 'var(--green)', 'Observation memory showing which skills and gaps were active when capture or project analysis occurred.'],
|
|
536
545
|
['Pressure signals', 'var(--yellow)', 'Explicit adaptation demand derived from failures and project gaps.'],
|
|
537
546
|
['Interventions', 'var(--purple)', 'The response ledger across research, specialize, evolve, generalize, and manual-review lanes.'],
|
|
@@ -565,8 +574,8 @@ helixevo topology --status`}</Code>
|
|
|
565
574
|
{
|
|
566
575
|
title: '1. Semantic layer',
|
|
567
576
|
color: 'var(--blue)',
|
|
568
|
-
desc: 'Ontology and invariants define what kinds of things HelixEvo can talk about and persist truthfully.',
|
|
569
|
-
where: 'Visible in: ontology-aware graph summaries,
|
|
577
|
+
desc: 'Ontology and invariants define what kinds of things HelixEvo can talk about and persist truthfully, and approved extensions can now feed back into live interpretation rather than remaining passive review outcomes.',
|
|
578
|
+
where: 'Visible in: ontology-aware graph summaries, semantic adoption counts, route rationale, and brain foundation summaries.'
|
|
570
579
|
},
|
|
571
580
|
{
|
|
572
581
|
title: '2. Observation layer',
|
|
@@ -661,13 +670,69 @@ helixevo topology --status`}</Code>
|
|
|
661
670
|
</Callout>
|
|
662
671
|
</Section>
|
|
663
672
|
|
|
673
|
+
|
|
674
|
+
{/* ─── Semantic Control ─── */}
|
|
675
|
+
<Section id="semanticcontrol" title="Ontology Adoption + Semantic Control" subtitle="Milestone 8 made ontology reviewable; Milestone 9 made approved concepts behaviorally meaningful inside the live control loop.">
|
|
676
|
+
<p className="guide-text">
|
|
677
|
+
The key post-M9 change is that approved ontology extensions are no longer just semantic ledger entries. They can now bind into
|
|
678
|
+
recurring pressure, motifs, route rationale, transfer interpretation, and topology review context while still remaining subordinate
|
|
679
|
+
to governance and evidence.
|
|
680
|
+
</p>
|
|
681
|
+
<p className="guide-text">
|
|
682
|
+
A concise way to think about the ontology lifecycle now is: <strong>frontier hypothesis → review decision → approved extension → active semantic consumer → optional deprecation</strong>.
|
|
683
|
+
Promotion is what turns reviewed semantics into live semantic control. Deprecation is what safely withdraws that influence when the concept is no longer trustworthy or useful.
|
|
684
|
+
</p>
|
|
685
|
+
<div className="grid-2" style={{ gap: 12, marginBottom: 18 }}>
|
|
686
|
+
{[
|
|
687
|
+
['Emergence', 'var(--blue)', 'Recurring evidence creates frontier concepts, but frontier creation alone does not yet imply live semantic adoption.'],
|
|
688
|
+
['Adoption', 'var(--green)', 'Promoted concepts begin appearing as active semantic consumers across signals, motifs, and route rationale.'],
|
|
689
|
+
['Bounded influence', 'var(--yellow)', 'Ontology can sharpen explanation and confidence inside the existing governance envelope; it does not bypass safety or invent arbitrary routes.'],
|
|
690
|
+
['Withdrawal', 'var(--purple)', 'Deprecation remains explicit and operator-visible, with consumer warnings before semantic influence is retired.'],
|
|
691
|
+
].map(([title, color, desc]) => (
|
|
692
|
+
<div key={String(title)} className="guide-dimension-card" style={{ borderLeftColor: String(color) }}>
|
|
693
|
+
<div style={{ fontSize: 12, fontWeight: 700, color: String(color), letterSpacing: 0.2 }}>{title}</div>
|
|
694
|
+
<div style={{ fontSize: 12, color: 'var(--text-dim)', marginTop: 6, lineHeight: 1.6 }}>{desc}</div>
|
|
695
|
+
</div>
|
|
696
|
+
))}
|
|
697
|
+
</div>
|
|
698
|
+
<h3 className="guide-h3">Operator playbooks</h3>
|
|
699
|
+
<div className="grid-3" style={{ gap: 12, marginBottom: 18 }}>
|
|
700
|
+
<div className="card" style={{ padding: '16px 16px 14px' }}>
|
|
701
|
+
<div style={{ fontSize: 12, fontWeight: 700, color: 'var(--blue)', marginBottom: 8 }}>Recurring pressure → adoption</div>
|
|
702
|
+
<Code title="Terminal">{`helixevo ontology --refresh
|
|
703
|
+
helixevo ontology --review <conceptId> --decision promote
|
|
704
|
+
helixevo ontology --status --verbose`}</Code>
|
|
705
|
+
<div style={{ fontSize: 12, color: 'var(--text-dim)', lineHeight: 1.6 }}>Use this when recurring pressure or motif evidence looks stable enough to deserve an approved semantic family.</div>
|
|
706
|
+
</div>
|
|
707
|
+
<div className="card" style={{ padding: '16px 16px 14px' }}>
|
|
708
|
+
<div style={{ fontSize: 12, fontWeight: 700, color: 'var(--green)', marginBottom: 8 }}>Check live semantic consumers</div>
|
|
709
|
+
<div style={{ fontSize: 12, color: 'var(--text-dim)', lineHeight: 1.6, marginBottom: 10 }}>Compare these surfaces together:</div>
|
|
710
|
+
<ul className="guide-list" style={{ marginBottom: 0 }}>
|
|
711
|
+
<li><strong>/ontology</strong> for adoption counts, unused extensions, and deprecation-sensitive concepts</li>
|
|
712
|
+
<li><strong>/coevolution</strong> for semantically influenced routes and backlog rationale</li>
|
|
713
|
+
<li><strong>/topology</strong> when structural review candidates start clustering around the same semantic family</li>
|
|
714
|
+
</ul>
|
|
715
|
+
</div>
|
|
716
|
+
<div className="card" style={{ padding: '16px 16px 14px' }}>
|
|
717
|
+
<div style={{ fontSize: 12, fontWeight: 700, color: 'var(--yellow)', marginBottom: 8 }}>Deprecate carefully</div>
|
|
718
|
+
<Code title="Terminal">{`helixevo ontology --status --verbose
|
|
719
|
+
helixevo ontology --deprecate <conceptId>`}</Code>
|
|
720
|
+
<div style={{ fontSize: 12, color: 'var(--text-dim)', lineHeight: 1.6 }}>Always inspect active semantic consumers first. A deprecation warning means the concept is still shaping the live control loop and should be retired intentionally.</div>
|
|
721
|
+
</div>
|
|
722
|
+
</div>
|
|
723
|
+
<Callout type="info">
|
|
724
|
+
The safest mental model is: <strong>M8 governs semantic emergence, M9 governs semantic adoption</strong>. Together they create a semantic loop where concepts can emerge, be reviewed, influence live cognition, and then be retired without silent drift.
|
|
725
|
+
</Callout>
|
|
726
|
+
</Section>
|
|
727
|
+
|
|
664
728
|
{/* ─── Surface Map ─── */}
|
|
665
729
|
<Section id="surfaces" title="Dashboard Surface Map" subtitle="Each tab is a different control or observability surface for the same brain.">
|
|
666
730
|
<div className="grid-2" style={{ gap: 12 }}>
|
|
667
731
|
{[
|
|
668
732
|
['Overview', 'var(--blue)', 'Top-level cockpit for frontier state, brain foundation, pressure totals, topology review counts, and prepared/applied structural state.'],
|
|
669
|
-
['Co-Evolution', 'var(--purple)', 'The response cockpit. Use it to inspect routed pressure, governance mode, promotion queue,
|
|
733
|
+
['Co-Evolution', 'var(--purple)', 'The response cockpit. Use it to inspect routed pressure, governance mode, promotion queue, transfer evidence, and where approved ontology concepts are influencing live route rationale.'],
|
|
670
734
|
['Skill Network', 'var(--green)', 'Graph-level understanding: relationships, co-evolution signals, inspector context, and structural handoff links.'],
|
|
735
|
+
['Ontology', 'var(--blue)', 'Semantic control surface for kernel visibility, frontier review, approved extensions, semantic adoption coverage, consumer summaries, and ontology change events.'],
|
|
671
736
|
['Topology', 'var(--yellow)', 'Governed plasticity surface for review decisions, accepted-ready queue, prepared plans, apply, rollback, and execution history.'],
|
|
672
737
|
['Projects', 'var(--blue)', 'Project intake and project-aware pressure surface. Best for capability gaps, activation traces, and promotion feeders.'],
|
|
673
738
|
['Research', 'var(--purple)', 'Discovery-oriented view grounded in current pressure and routed recommendations rather than disconnected idea generation.'],
|
|
@@ -681,8 +746,8 @@ helixevo topology --status`}</Code>
|
|
|
681
746
|
))}
|
|
682
747
|
</div>
|
|
683
748
|
<Callout type="tip">
|
|
684
|
-
If you are debugging current state, the best sequence is usually: <strong>Overview → Co-Evolution → Topology → Skill Network → Projects / Research</strong>.
|
|
685
|
-
That path mirrors the stack from summary → routed demand → structural review/execution → graph context → project or discovery detail.
|
|
749
|
+
If you are debugging current state, the best sequence is usually: <strong>Overview → Co-Evolution → Ontology → Topology → Skill Network → Projects / Research</strong>.
|
|
750
|
+
That path mirrors the stack from summary → routed demand → semantic interpretation → structural review/execution → graph context → project or discovery detail.
|
|
686
751
|
</Callout>
|
|
687
752
|
</Section>
|
|
688
753
|
|
|
@@ -1080,6 +1145,12 @@ generation: 3
|
|
|
1080
1145
|
├── skill-graph.json # Cached network (nodes + edges + ontology version)
|
|
1081
1146
|
├── canary-registry.json # Active canary deployments
|
|
1082
1147
|
├── knowledge-buffer.json # Research discoveries + drafts
|
|
1148
|
+
├── ontology/
|
|
1149
|
+
│ ├── kernel.json # Materialized ontology kernel snapshot
|
|
1150
|
+
│ ├── extensions.json # Approved ontology extensions
|
|
1151
|
+
│ ├── frontier.json # Provisional frontier concepts awaiting review
|
|
1152
|
+
│ ├── reviews.jsonl # Ontology review decisions
|
|
1153
|
+
│ └── change-log.jsonl # Native ontology change events
|
|
1083
1154
|
├── general/ # Skills (SKILL.md files)
|
|
1084
1155
|
│ ├── my-skill/SKILL.md
|
|
1085
1156
|
│ └── ...
|
|
@@ -1091,6 +1162,7 @@ generation: 3
|
|
|
1091
1162
|
{[
|
|
1092
1163
|
['Observation memory', 'var(--blue)', 'failures.jsonl + activation-traces.jsonl capture what happened, where it happened, and which skills were active.'],
|
|
1093
1164
|
['Pressure & response memory', 'var(--yellow)', 'pressure-signals.jsonl + pressure-interventions.jsonl + transfer-events.jsonl describe demand, routing, and reusable promotion evidence.'],
|
|
1165
|
+
['Ontology frontier memory', 'var(--blue)', 'ontology/kernel.json + ontology/frontier.json + ontology/extensions.json + ontology/reviews.jsonl + ontology/change-log.jsonl preserve semantic kernel state, provisional concepts, approved extensions, and review/change lineage while semantic adoption is derived from active runtime/control objects rather than a parallel ontology-usage ledger.'],
|
|
1094
1166
|
['Governance & review memory', 'var(--purple)', 'governance-state.json + topology-review-candidates.json + topology-review-decisions.jsonl preserve why structural decisions are being made.'],
|
|
1095
1167
|
['Topology execution memory', 'var(--green)', 'topology-overrides.json + topology-snapshots.json + topology-apply-plans.json + topology-executions.jsonl + topology-artifacts.jsonl preserve reviewed structural execution and rollback.'],
|
|
1096
1168
|
['Evaluation & frontier memory', 'var(--blue)', 'evolution-history.json + evolution-artifacts.jsonl + skill-tests.jsonl + canary-registry.json + frontier.json preserve proof, guardrails, and best configurations.'],
|
|
@@ -1171,7 +1243,8 @@ generation: 3
|
|
|
1171
1243
|
<ul className="guide-list" style={{ marginTop: 8 }}>
|
|
1172
1244
|
<li>full-spectrum autonomous destructive self-restructuring</li>
|
|
1173
1245
|
<li>broad automatic merge / split / prune application</li>
|
|
1174
|
-
<li>
|
|
1246
|
+
<li>broad automatic semantic remapping across historical data</li>
|
|
1247
|
+
<li>full kernel mutation or free-form ontology drift</li>
|
|
1175
1248
|
<li>complete autonomous structural governance without operator oversight</li>
|
|
1176
1249
|
</ul>
|
|
1177
1250
|
</div>
|