Skip to content

PersonalContextGraph — the ego-scoped CSKG (default person-graph contract)#21

Merged
mdheller merged 3 commits into
mainfrom
feat/personal-context-graph
Jul 5, 2026
Merged

PersonalContextGraph — the ego-scoped CSKG (default person-graph contract)#21
mdheller merged 3 commits into
mainfrom
feat/personal-context-graph

Conversation

@mdheller

@mdheller mdheller commented Jul 1, 2026

Copy link
Copy Markdown
Member

What

Step 3 of the Personal Knowledge Graph substrate plan: re-home the default graph structure for a person as a first-class workspace contract — the person-scoped view of the CSKG, not a parallel vocabulary.

Where a ContextGraph is anchored on a workroom, a PersonalContextGraph is anchored on the individual (selfRef).

Changes (contract-only, as this repo requires)

  • context-fabric/personal-context-graph.schema.json — the contract. Single-Self anchor; nodes are CSKG nodes (contacts carry their csKgNodeRef); edges are CSKGEdge {node1,relation,node2,provenance_refs,source_evidence_refs}; sourceRefs are WorkspaceSource ids (Layer-1 canonical objects) so every element is provenance-bound and retention-actionable; external-KG links cross the membrane only as a ProviderProjection (reference-only). Carries the seed node-type + relation vocabulary as canonical enums; governed by memoryScope, owned by memory-steward.
  • personal-context-graph.v0.1.example.json — the demo person-graph (Self + Mom/Jamie/Acme/band-practice/setlist) with a reference-only social projection that withholds the private relationship.
  • tools/validate_personal_context_graph.py — smoke validation (single-Self, person scope, workspace-source: provenance, vocabulary conformance, membrane include/withhold disjoint). Passes; existing validate_context_fabric.py still passes.
  • docs/personal-knowledge-graph.md — design + the WorkspaceSource → CSKG record mapping + the estate split.

Ownership split

  • prophet-workspace (here) — the contract + record→CSKG mapping.
  • memory-mesh — the runtime (reads WorkspaceSource, resolves csKgNodeRef, writes HellGraph via HELLGRAPH_URL).
  • prophet-platform — deployment (HellGraph as a durable managed service — see prophet-platform#675 — + TopoLVM edge flash + twin sync).
  • prophet-mesh — consumer (grounding); the working prototype (prophet-mesh#13) validated this design.

The graph is a Layer-2 derived store — rebuildable from Layer-1 canonical objects, edge-first, never a source of truth.

mdheller added 3 commits June 30, 2026 00:57
…son-graph contract)

Step 3 of the person-graph substrate plan: re-home the default person-graph as a
first-class workspace contract, conforming to the existing CSKG rather than a
parallel vocabulary.

PersonalContextGraph = the person-scoped view of the CSKG. Where a ContextGraph
is workroom-bound, this is anchored on the individual (selfRef, single-Self
invariant). Nodes are CSKG nodes (contacts carry csKgNodeRef); edges are CSKGEdge
{node1,relation,node2,provenance_refs,source_evidence_refs}. sourceRefs are
WorkspaceSource ids (Layer-1 canonical objects) so every element is
provenance-bound and retention-actionable. External-KG links cross the membrane
ONLY as a ProviderProjection (reference-only; included/withheld) — nothing
private egresses. Carries the seed node-type + relation vocabulary as canonical
enums; governed by memoryScope, owned by the memory-steward.

- personal-context-graph.schema.json + .v0.1.example.json
- tools/validate_personal_context_graph.py (smoke: single-Self, person scope,
  workspace-source provenance, vocabulary, membrane include/withhold) — passes
- docs/personal-knowledge-graph.md: design + record→CSKG mapping + the 3-repo
  split (contract=workspace / runtime=memory-mesh / deploy=platform / consume=mesh)

Contract-only, as this repo requires; runtime + deployment land in memory-mesh +
prophet-platform (PR #675 already made HellGraph a durable managed service).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant