workspace_ingestion — PKG runtime (WorkspaceSource → CSKG → managed HellGraph)#40
Merged
Merged
Conversation
…ate and CI Adds validate-prophet-mesh-scope-mirror to the main validate target so the prophet-mesh memory-scope mirror contract is gated on every validate run, and adds a CI workflow that triggers on changes to the contract or validator script.
…aged HellGraph Step 4 of the person-graph substrate plan: the runtime that realises the PersonalContextGraph contract (prophet-workspace) on the managed HellGraph (prophet-platform). memory-mesh owns the runtime. New service services/workspace_ingestion (conforms to the finance_saa pattern): - mapping.py: pure WorkspaceSource → CSKGNode/CSKGEdge. contact→Person (family vs social relation, worksAt Organization, social→reference-only projection), calendar→Event+participatedIn (self+attendees), mail→communicatedWith, office-artifact→Document+authored. Every element provenance-bound to its workspace-source id; people ingested first so mail/calendar edges dedup. - hellgraph_client.py: /cskg/normalize (refine relations) → /v1/ingest (persist as GraphNode/GraphEdge; workspace imports = confirmed_relation) → /v1/retract (retention). Graceful-degrade when HELLGRAPH_URL unset (house client pattern). - memory_mesh_client.py: writeback summary to memoryd after ingest. - main.py: POST /v1/ingest/workspace, POST /v1/retract (step 6 retention), /healthz. 7/7 tests pass (mapping invariants + service ingest/dry-run/retract with fakes); wired into Makefile validate-python. Runs without live HellGraph/memoryd.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Step 4 of the Personal Knowledge Graph substrate plan: the runtime that realises the
PersonalContextGraphcontract (prophet-workspace#21) on the managed HellGraph (prophet-platform#675). memory-mesh owns the runtime; prophet-mesh (#13) was the prototype.New service
services/workspace_ingestion(conforms to thefinance_saaservice pattern — FastAPI, httpx clients,unittest.IsolatedAsyncioTestCase):mapping.py— pureWorkspaceSource → CSKGNode/CSKGEdge. contact→Person (family-vs-social relation,worksAtOrganization, social→reference-only projection), calendar→Event+participatedIn, mail→communicatedWith, office-artifact→Document+authored. Every element provenance-bound to itsworkspace-source:id; people ingested first so mail/calendar edges dedup onto the same nodes.hellgraph_client.py—/cskg/normalize→/v1/ingest(persist as GraphNode/GraphEdge; workspace imports =confirmed_relation) →/v1/retract(retention). Graceful-degrade whenHELLGRAPH_URLunset (the house client pattern frommem0_client/MemoryMeshClient).main.py—POST /v1/ingest/workspace,POST /v1/retract(step 6 retention: WorkspaceSource deletion → supersede derived edges),GET /healthz.Verification
7/7tests pass — mapping invariants (single-Self, family-vs-social, no-dup mail/contact merge, reference-only social projection, provenance-bound) + service ingest/dry-run/retract with fakes. Wired intoMakefilevalidate-python. Runs without a live HellGraph/memoryd.Where it sits
Contract = prophet-workspace · Runtime = here · Substrate = prophet-platform · Consumer = prophet-mesh. Next: the SPA person-graph view (integration surface) calls a backend that fronts this service.