Skip to content

Commit d5fbf69

Browse files
committed
feat: noun-free graph engine (Catalog + ContextPack) 01M0SZF33A0WAYMDR6QFEZ2AFH #64
1 parent ef1ce4c commit d5fbf69

76 files changed

Lines changed: 735 additions & 1986 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude-plugin/marketplace.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
{
1111
"name": "okf-graph-eng",
1212
"source": "./",
13-
"description": "Graph engineering for OKF repos \u2014 impact analysis, agent/harness graphs, progressive disclosure, typed edges, TicketLink/worklog bridges. Works in Claude Code and Grok Build.",
14-
"version": "0.7.4",
13+
"description": "OKF graph engine \u2014 Catalog, ContextPack, impact, progressive-disclosure packs.",
14+
"version": "0.8.0",
1515
"author": {
1616
"name": "Rick Hightower"
1717
},

.claude-plugin/plugin.json

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "okf-graph-eng",
3-
"version": "0.7.4",
4-
"description": "Graph engineering for OKF repos \u2014 impact analysis, agent/harness graphs, progressive disclosure, typed edges, TicketLink/worklog bridges, and curation. Works in Claude Code and Grok Build.",
3+
"version": "0.8.0",
4+
"description": "OKF graph engine: validate, walk, pack, and impact-analyze Git-native knowledge graphs. Owns Catalog and ContextPack. Domain nouns live in PKC, SAC, DEKC, and AGER.",
55
"author": {
66
"name": "Rick Hightower",
77
"url": "https://github.com/RichardHightower"
@@ -13,10 +13,16 @@
1313
"okf",
1414
"graph-engineering",
1515
"knowledge-graph",
16-
"agent-graph",
17-
"harness",
16+
"context-pack",
17+
"catalog",
1818
"impact-analysis",
19+
"isolation",
20+
"agent-plugins",
1921
"claude-code",
20-
"grok-build"
22+
"grok-build",
23+
"codex",
24+
"deep-agents",
25+
"grok-bot",
26+
"cursor"
2127
]
2228
}

.codex-plugin/plugin.json

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "okf-graph-eng",
3-
"version": "0.7.4",
4-
"description": "Graph engineering for OKF repositories \u2014 impact analysis, progressive disclosure, typed edges, and fail-closed post-edit validate. Codex-compatible packaging for the same skills and hooks used by Claude Code and Grok Build.",
3+
"version": "0.8.0",
4+
"description": "OKF graph engine: validate, walk, pack, and impact-analyze Git-native knowledge graphs. Owns Catalog and ContextPack. Domain nouns live in PKC, SAC, DEKC, and AGER.",
55
"author": {
66
"name": "Rick Hightower",
77
"url": "https://github.com/RichardHightower"
@@ -12,9 +12,19 @@
1212
"keywords": [
1313
"okf",
1414
"graph-engineering",
15+
"knowledge-graph",
16+
"context-pack",
17+
"catalog",
18+
"impact-analysis",
19+
"isolation",
20+
"agent-plugins",
21+
"claude-code",
22+
"grok-build",
1523
"codex",
16-
"agent-skills",
17-
"impact-analysis"
24+
"deep-agents",
25+
"grok-bot",
26+
"cursor",
27+
"agent-skills"
1828
],
1929
"hooks": "./hooks/codex-hooks.json"
2030
}

.cursor-plugin/plugin.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "okf-graph-eng",
3-
"version": "0.7.4",
4-
"description": "Graph engineering for OKF repositories \u2014 impact analysis, agent/harness graphs, progressive disclosure, typed edges, TicketLink/worklog bridges, and write isolation bindings for multi-host agents.",
3+
"version": "0.8.0",
4+
"description": "OKF graph engine: validate, walk, pack, and impact-analyze Git-native knowledge graphs. Owns Catalog and ContextPack. Domain nouns live in PKC, SAC, DEKC, and AGER.",
55
"author": {
66
"name": "Rick Hightower"
77
},
@@ -12,8 +12,8 @@
1212
"okf",
1313
"graph-engineering",
1414
"knowledge-graph",
15-
"agent-graph",
16-
"harness",
15+
"context-pack",
16+
"catalog",
1717
"impact-analysis",
1818
"isolation",
1919
"agent-plugins",

.grok-plugin/marketplace.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
22
"name": "okf-plugin-marketplace",
33
"description": "Optional native Grok marketplace metadata. Grok Build already loads Claude plugins with zero config; this file pins identity for Grok marketplace listings.",
4-
"version": "0.7.4",
4+
"version": "0.8.0",
55
"plugins": [
66
{
77
"name": "okf-graph-eng",
88
"source": ".",
9-
"description": "OKF graph engineering \u2014 impact analysis, agent graphs, progressive disclosure. Claude-compatible.",
10-
"version": "0.7.4",
9+
"description": "OKF graph engine \u2014 Catalog, ContextPack, impact, progressive disclosure. Claude-compatible.",
10+
"version": "0.8.0",
1111
"compatibility": {
1212
"claude_plugin": true,
1313
"zero_config": true

.work/todo.jsonl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,3 +164,4 @@
164164
{"actor":"richardhightower","ev":"01KZD8M89ZAVFV527JXNTYDAYF","git":"73d7ab4","item":"01KZD823EHAFN2YF6WCG2T7XN8","op":"close","set":{"status":"done"},"ts":"2026-08-07T04:45:13Z"}
165165
{"actor":"richardhightower","ev":"01KZD8XTYRRANBKMW2718AZKAK","git":"5a7ae07","item":"01KZD823EHGFVX6NSM2ZT057SY","op":"close","set":{"status":"done"},"ts":"2026-08-07T04:50:27Z"}
166166
{"actor":"richardhightower","ev":"01KZD8XV3JT70VY6P2BPQC786H","git":"5a7ae07","item":"01KZD823EG6R5E1FXFX416RQ0G","op":"close","set":{"status":"done"},"ts":"2026-08-07T04:50:27Z"}
167+
{"actor":"unknown","ev":"01M0SZF33A774M689P869HD5G1","git":"ef1ce4c","item":"01M0SZF33A0WAYMDR6QFEZ2AFH","op":"create","set":{"acceptance_criteria":"Core schemas are BaseConcept+Catalog+ContextPack; README lists those nouns; TicketLink CLI is a stub; tests pass; PR opened.","body":"Make okf-plugin a noun-free graph engine. Domain types move to PKC/SAC/DEKC/AGER. Rewrite README around ContextPack read-path optimization.","estimate":"L","kind":"feature","level":"story","milestone":"v0.8.0","priority":"P1","status":"todo","title":"Split domain nouns out of okf-plugin (Catalog + ContextPack only)"},"ts":"2026-08-24T13:30:56Z"}

AGENTS.md

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,48 +13,66 @@ This repo is intentionally **one plugin, two hosts**. Do not introduce Grok-only
1313

1414
## Mission
1515

16-
Turn any OKF repository into a **graph engineering** workspace:
16+
Turn any OKF repository into a **graph engine** workspace:
1717

18-
- Knowledge concepts (datasets, runbooks, APIs, …)
19-
- Agent/harness concepts (`AgentNode`, `Workflow`, `SharedState`, `DecisionRecord`, `ToolCapability`, `TicketLink`)
20-
- Impact analysis, validation, progressive disclosure packs
18+
- Treat Markdown + YAML as a directed graph (absolute links + optional `links[].rel`)
19+
- **Validate** the bundle
20+
- Compute **impact** (blast radius) before structural edits
21+
- Emit **ContextPacks** — hop-capped, node-capped, outbound-only by default
22+
23+
This plugin does **not** own domain nouns. It owns the envelope (`BaseConcept`) and two infrastructure types:
24+
25+
| Noun | Role |
26+
|------|------|
27+
| `Catalog` | Directory index. Structural. Pack walks skip flooding through hub catalogs by using outbound-only BFS. |
28+
| `ContextPack` | Generated progressive-disclosure view of a ranked, hop-capped subgraph. |
29+
30+
Domain types live in sibling plugins. Unknown `type` values fall back to `BaseConcept` (`type` + `title` only). Validators merge sibling `schemas/okf-concepts/` directories.
31+
32+
| Plugin | Owns |
33+
|--------|------|
34+
| [PKC](https://github.com/SpillwaveSolutions/project-knowledge-capture) | Meeting, Experiment, Discovery, Assumption, Question, Feature, Requirement, Specification, Design, Release, CodeChange, Package, Risk, Acceptance, DecisionRecord, TicketLink, Epic, Story, Task, Subtask, Bug, Branch, Project, Playbook, Runbook, Reference |
35+
| [SAC](https://github.com/SpillwaveSolutions/system-architecture-capture) | System, Service, Component, and the rest of the architecture/runtime topology set |
36+
| [DEKC](https://github.com/SpillwaveSolutions/data-engineering-knowledge-capture) | Dataset, Table, View, Metric, lineage, lakes, marts, streams, jobs, semantic layer, glossary |
37+
| [AGER](https://github.com/SpillwaveSolutions/okf-agent-graph) | AgentNode, Workflow, Harness, SharedState, ToolCapability, loop/runtime/ops/eval types |
2138

2239
## Component map
2340

2441
- **Skills**`skills/*/SKILL.md` (core intelligence)
2542
- **Commands**`commands/*.md` (slash entry points)
2643
- **Agent**`agents/graph-engineer.md`
27-
- **Hooks**`hooks/hooks.json``scripts/okf-curate.sh`
44+
- **Hooks**`hooks/hooks.json``scripts/okf-hook-validate.sh` (fail-closed validate)
2845
- **CLI fallback**`scripts/okf-graph.py`
29-
- **Sample dual graph**`sample-okf/`
46+
- **Sample**`sample-okf/` (Catalog + Knowledge about this engine; not an AGER graph)
3047

3148
Plugin root variable in Claude/Grok plugin context: `${CLAUDE_PLUGIN_ROOT}`.
3249

3350
## Operating principles
3451

3552
1. Prefer **okf / okfcli** for graph ops; fallback to `scripts/okf-graph.py`.
36-
2. Always consider **impact** before changing high-degree or harness concepts.
37-
3. Emit **minimal context packs** (2-hop default) for long runs.
53+
2. Always consider **impact** before changing high-degree or schema-declared high-impact concepts (`x-impact` on the owning plugin’s schema). Isolated, this plugin has no high-impact types.
54+
3. Emit **minimal context packs** (2-hop default, max 20 nodes, outbound-only) for long runs.
3855
4. Use **absolute** in-bundle Markdown links.
3956
5. Complete YAML frontmatter on every concept (`type`, `title`, `description`, `timestamp`).
4057
6. Do not fabricate graph edges.
4158
7. High-trust first: prefer `verified: true`, non-stale, `status: active|accepted`.
42-
8. Working in an isolated worktree: verify your base commit with
59+
8. Do not author domain nouns here. Hand `AgentNode` / `Workflow` to AGER, `TicketLink` / `DecisionRecord` to PKC, architecture types to SAC, data-plane types to DEKC.
60+
9. Working in an isolated worktree: verify your base commit with
4361
`git log --oneline -3` before writing code. A worktree may be cut from the
4462
repo default branch rather than the branch you were told to build on, so the
4563
commits you depend on can be missing. `git reset --hard <intended-branch>`
4664
while the tree is clean, then build.
47-
9. Merge PRs with `gh pr merge --merge`, never `--squash`. Frozen documents are
48-
stamped with the commit they were written against and `worklog doc-verify`
49-
resolves their code citations at that commit; a squash keeps that commit off
50-
the default branch, so a fresh clone cannot resolve it.
65+
10. Merge PRs with `gh pr merge --merge`, never `--squash`. Frozen documents are
66+
stamped with the commit they were written against and `worklog doc-verify`
67+
resolves their code citations at that commit; a squash keeps that commit off
68+
the default branch, so a fresh clone cannot resolve it.
5169

5270
## Skill routing (natural language)
5371

5472
| User language | Skill |
5573
|---------------|--------|
5674
| scaffold / init OKF / graph eng setup | okf-init-graph |
57-
| document agent / workflow / metric / ADR | okf-author |
75+
| document Catalog / ContextPack / envelope | okf-author |
5876
| blast radius / what breaks / dependents | okf-impact |
5977
| context pack / multi-hop / neighborhood | okf-query |
6078
| curate / orphans / fix indexes / migrate | okf-maintain |
@@ -63,7 +81,7 @@ Plugin root variable in Claude/Grok plugin context: `${CLAUDE_PLUGIN_ROOT}`.
6381

6482
## Specialist agent
6583

66-
Invoke **graph-engineer** for multi-step dual-graph work (impact + pack + curation in one arc).
84+
Invoke **graph-engineer** for multi-step graph work (impact + pack + curation in one arc). Pack-first. Impact-before-structure. No domain-noun authorship.
6785

6886
## Validation loop
6987

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
# Changelog
22

3+
## 0.8.0 — 2026-08-24
4+
5+
### Changed
6+
7+
- **Noun split.** Core owns `Catalog` and `ContextPack` only. Domain schemas
8+
(`TicketLink`, `Feature`, `Epic`/`Story`/`Task`/`Subtask`/`Bug`/`Branch`/`Project`,
9+
`DecisionRecord`, …) moved to PKC. Agent/harness types were never supposed to
10+
live here; AGER owns them. DEKC keeps the data plane.
11+
- Impact criticality is loaded from sibling schema `x-impact` instead of a
12+
hardcoded `AgentNode` / `Dataset` list. Isolated CI sees every type as `low`.
13+
- `scripts/okf-ticket-link.py` is a stub. Emission lives in PKC
14+
(`scripts/pkc_ticket_link.py`).
15+
- `sample-okf/` retyped to Catalog + Knowledge (same 22 files / 83 edges).
16+
- README rewritten around OKF + how ContextPacks optimize reads
17+
(outbound-only, hop cap, node cap, trust-first ranking, read order).
18+
- Domain templates (`agent-node`, `workflow`, `ticket-link`, `decision-record`,
19+
`shared-state`) removed from `okf-author` / `okf-init-graph`.
20+
- Plugin description / keywords no longer claim agent-graph or TicketLink.
21+
22+
### Added
23+
24+
- Schema registry 2.0.0: `BaseConcept`, `Catalog`, `ContextPack`.
25+
326
## 0.7.4
427

528
- Three-host hooks: Codex + Cursor-native when Claude hooks exist.

0 commit comments

Comments
 (0)