cjm-context-graph-layer
Domain-neutral graph-aware layer for context graphs: deterministic node identity, spine and overlay grammar, spine-edit operations with effective-view projection, supersession resolution, idempotent emission/extension, and provenance-by-declaration.
Modules
cjm_context_graph_layer.declare— Provenance-by-declaration: host logic stays readable Python in the workflow core and DECLARES its provenance contributions as a Derivation event node (+ DERIVED_FROM input edges, PRODUCED output edges). This recovers audit completeness without the substrate executing host logic (pass-2 Thread 4's false-dichotomy resolution). The substrate stays untouched: declarations read composition/job ids from the outside.cjm_context_graph_layer.edits— The spine-edit operation vocabulary (prune / replace_text / boundary_shift) + supersession resolution + the effective-view projection. These are generic operations on any NEXT-chained text spine; correction workflows carry them in overlay-node payloads, and the projection interprets them at read time (migrates correction-core C11/C16 onto the layer).cjm_context_graph_layer.grammar— The domain-neutral context-graph grammar: spine relations (NEXT / PART_OF / STARTS_WITH, recurring fractally at every layer), overlay relations (SUPERSEDES / DERIVED_FROM / PRODUCED), root kinds, and the standardized attribution fields.cjm_context_graph_layer.identity— Deterministic node/edge identity: UUIDv5 over canonical identity tuples (stage-5 ratified rule: a node's id derives from what makes it THE same node across re-derivation, never from its correctable content).cjm_context_graph_layer.journal— Journal replay for workflow graphs — the genesis baseline + the pluggable verb registry.cjm_context_graph_layer.ops— Queue-touching layer operations: the shared graph_task helper (task channel), idempotent emission (emit-if-absent + verify-if-present), and extend_graph — the one primitive every graph-extending workflow commits through. Deterministic ids (see identity) make idempotency a presence check instead of a search.cjm_context_graph_layer.rebuild
API
cjm_context_graph_layer.declare
Derivationclass — One host-logic transformation event, declared for the audit trail.derivation_to_graphfunction — Materialize a declaration as one event node + DERIVED_FROM / PRODUCED edges.
cjm_context_graph_layer.edits
SpineEditclass — One spine-edit decision, as carried in an overlay node's payload.SpineEditErrorclass — A spine edit could not be validated or applied (loud, never silent).SpineUnitclass — Minimal projection unit: one spine position with its effective text.project_effective_spinefunction — Project the effective view: layer-0 + active edits, resolved at read time.resolve_activefunction — Resolve the active set under append-only supersession.
cjm_context_graph_layer.grammar
OverlayRelationsclass — Overlay/derivation relations — the trust grammar shared by everySpineRelationsclass — Structural spine relations, reused fractally at every layerattributionfunction — Standardized attribution fields for derived/asserted nodes.grouped_spine_edgesfunction — Spine edges for a fine layer grouped under coarse parents.make_edgefunction — Build an edge wire dict with a deterministic id by default.spine_edgesfunction — The uniform spine pattern at any layer: PART_OF child->parent for each
cjm_context_graph_layer.identity
canonical_partfunction — Render one identity-tuple part canonically.derive_edge_idfunction — Derive a deterministic edge id from (source, target, relation).derive_node_idfunction — Derive a deterministic node id from a kind + identity tuple.
cjm_context_graph_layer.journal
apply_wiresfunction — The generic replay handler for wire-carrying ops (the single wires-replay authority).composed_replay_handlersfunction — Union every installed core's replay registry (DEC 426658f1 — the d066826a fix).genesis_exportfunction — One-time whole-db GENESIS BASELINE: journal every node + edge as genesis ops.journal_extendfunction — Idempotent extend + journal the DELTA — the pipeline-write append-through.replay_journalfunction — Re-apply every journaled op in append order — the db-from-journal rebuild.sidecar_journal_pathfunction — The db's sidecar journal path (DEC ccbab9f5 point 3: placement is per-workflow,wires_handlersfunction — Convenience registry: every named verb replays viaapply_wires.
cjm_context_graph_layer.ops
ExtendResultclass — Outcome of one idempotent extend_graph commit.GraphIntegrityErrorclass — An emitted node collided with an existing node of different identity content.extend_graphfunction — Idempotently extend the graph: emit-if-absent + verify-if-present.graph_taskfunction — Invoke a graph-storage adapter method through the queue's task channel.node_identity_mismatchfunction — Verify-if-present check: label + sources content-hash set must match.partition_by_presencefunction — Split wire dicts into absent (to add) and present (to verify).
cjm_context_graph_layer.rebuild
mainfunction — Thecjm-workflow-rebuildconsole entrypoint — one command, fresh db from journal.rebuild_dbfunction — Rebuilddb_pathfrom the journal — substrate standup + composed replay.
Dependencies
Depends on: cjm-context-graph-primitives, cjm-substrate
Used by: cjm-context-graph-projection, cjm-dev-graph-schema, cjm-markdown-decompose-core, cjm-notebook-decompose-core, cjm-transcript-correction-core, cjm-transcript-correction-tui, cjm-transcript-decomp-core, cjm-transcript-graph-schema, cjm-transcription-core
Release files for cjm-context-graph-layer 0.0.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cjm_context_graph_layer-0.0.13.tar.gz | 37.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cjm_context_graph_layer-0.0.13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.1 kB
Release files / cjm_context_graph_layer-0.0.13.tar.gz
| Download URL | cjm_context_graph_layer-0.0.13.tar.gz |
|---|---|
| Size | 37.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b630204bc3d5558895a392113d3dcb2adcefb1547078441b294a9d1fc451e097
|
|
BLAKE2b-256 checksum How to use checksums |
d72d353a9d11c161e8521574affa6d98d56835a5aee7738c3dc5903386b00d6b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|
Release files / cjm_context_graph_layer-0.0.13-py3-none-any.whl
| Download URL | cjm_context_graph_layer-0.0.13-py3-none-any.whl |
|---|---|
| Size | 32.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c816fbd1e9011b97a93ace5b8a2a0c6e17e21d8518f62fd5722cc7497f287849
|
|
BLAKE2b-256 checksum How to use checksums |
ddfee958defdaa926d22da33976eac15eb1329d5ae1d9de5f073c87164f21e0a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|