cjm-dev-graph-schema
Development/decision-provenance schema for context graphs: Decision, Fact-slot/Assertion, Evidence, Thread, Session, Procedure, and Entity node kinds with deterministic identity and overlay/reasoning edges — the dev-domain sibling to cjm-transcript-graph-schema for graphing a project's own evolution.
Modules
cjm_dev_graph_schema.__init__cjm_dev_graph_schema.aliases— Rename-stable subject resolution (the A+aliases identity machinery).cjm_dev_graph_schema.identity— Deterministic node-id helpers for the dev/decision-provenance domain.cjm_dev_graph_schema.nodes— Typed node dataclasses for the dev schema (coarse + fine tier).cjm_dev_graph_schema.predicates— Typed predicates + their value-space metadata (the dedup decidability layer).cjm_dev_graph_schema.vocab— The reserved node-kind and edge-relation vocabulary for the dev/decision-provenance domain.
API
cjm_dev_graph_schema.aliases
build_alias_indexfunction — Index every entity by its key, current name, and each alias.resolve_subject_idfunction — Resolve a subject name to its entity id via the alias index (no guessing).
cjm_dev_graph_schema.identity
assertion_node_idfunction — Assertion identity = (slot, canonical value, actor).cell_node_idfunction — Cell identity = (notebook module, stable cell key).check_node_idfunction — Check identity = (its work item, canonical text) — the same wording on twocode_module_node_idfunction — Code-module identity = (repo_key, module_path).code_symbol_node_idfunction — Code-symbol identity = (enclosing module, qualified name).code_text_node_idfunction — Code-text-region identity = (module, region key).decision_node_idfunction — Decision identity = its canonical statement (idempotent re-records).entity_node_idfunction — Entity identity = (sub-kind, stable key).factslot_node_idfunction — Fact-slot identity = (subject, predicate).message_node_idfunction — Message identity = its capture-source record uuid.note_node_idfunction — Note identity = its stable slug.reference_node_idfunction — Reference identity = (sibling graph key, foreign node id).section_node_idfunction — Section identity = (enclosing Note, heading anchor slug).series_node_idfunction — Series identity = its stable key.session_node_idfunction — Session identity = its stable key (so DECIDED_IN/PRODUCED_IN converge).topic_node_idfunction — Topic identity = its normalized name slug.
cjm_dev_graph_schema.nodes
AssertionNodeclass — One value claimed for a Fact-slot — identified by WHAT is claimed.CellNodeclass — One VERBATIM notebook cell — the lossless source substrate of a notebook module.CheckNodeclass — A definition-of-done check on a work item — a derivable gate, not prose.CodeModuleNodeclass — The code source-type's coarse node: one decomposed.pymodule.CodeSymbolNodeclass — A definition within a module: a function, class, or method.CodeTextNodeclass — A non-def top-level region of a plain-.pymodule — the verbatim substrate BETWEEN symbols.DecisionNodeclass — A decision/conclusion, with rationale recorded as edges, not prose.EntityNodeclass — A first-class subject: a repo/lib, stage, capability, person, or term.FactSlotNodeclass — A(subject, predicate)slot — the home for layered, supersede-able claims.MessageNodeclass — A discourse EVENT on a session spine (DEC 91c47b4a): one user-facing message.NoteNodeclass — The coarse-tier document node: one decomposed markdown/memory file.ReferenceNodeclass — A LOCAL stand-in for a node in a sibling graph — the cross-graph reference (0154f5e4).SectionNodeclass — One heading-delimited section of a Note's body — the navigable unit + anchor target.SeriesNodeclass — An ordered collection/progression a note belongs to (a Quarto series, …).SessionNodeclass — A working session — the home decisions/facts are PRODUCED_IN / DECIDED_IN.TopicNodeclass — A category/tag facet — a thematic-clustering subject shared across notes.foreign_content_hashfunction — The content a Reference OBSERVES: the foreign node's label + its properties, canonicallyforeign_display_titlefunction — Best-effort display handle for a foreign node: title/name/text-ish fields first,parse_foreign_reffunction — Split a<graph key>:<id>reference token; None for a plain local id / anything else.
cjm_dev_graph_schema.predicates
Predicateclass — A typed predicate's value-space (the contradiction decidability metadata).active_contradictionfunction — Whether a slot's ACTIVE (non-superseded) values form a hard contradiction.canonical_valuefunction — Canonicalize a value so equal claims collapse to one Assertion.get_predicatefunction — Look up a predicate's value-space; exact entry first, then a prefix FAMILYis_approvalfunction — Whether an assertion is approval-class (APPROVAL_CLASS— schema data, design 40622922).is_multivaluedfunction — Whether the predicate is a SET slot (distinct values coexist, never conflict).is_orderedfunction — Whether the predicate's values have a "later supersedes earlier" ordering.is_typedfunction — Whether the predicate carries a value-space (exact entry OR prefix family).ordering_supersedesfunction — For an ordered predicate, doesnew_valuesupersedeold_value?soft_conflictfunction — Whether an UNTYPED slot's active values disagree (a worklist candidate).values_conflictfunction — Whether two values are a HARD contradiction under the value-space.
cjm_dev_graph_schema.vocab
DevNodeKindsclass — Node labels of the dev/decision-provenance schema (the locked model).DevRelationsclass — Dev-domain edge relations (reserved up front).
Dependencies
Depends on: cjm-context-graph-layer, cjm-context-graph-primitives
Used by: cjm-context-graph-projection, cjm-markdown-decompose-core, cjm-notebook-decompose-core, cjm-python-decompose-core
Release files for cjm-dev-graph-schema 0.0.18
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_dev_graph_schema-0.0.18.tar.gz | 46.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cjm_dev_graph_schema-0.0.18-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 85.5 kB
Release files / cjm_dev_graph_schema-0.0.18.tar.gz
| Download URL | cjm_dev_graph_schema-0.0.18.tar.gz |
|---|---|
| Size | 46.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
52ffb11d9d9273bcb6269e0552f9028d105a256df5659b04a71662b2fc85de02
|
|
BLAKE2b-256 checksum How to use checksums |
b53120772f46f9831fd11a904300de95fc950799256d2d8f9b6b00187b3d6cf5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|
Release files / cjm_dev_graph_schema-0.0.18-py3-none-any.whl
| Download URL | cjm_dev_graph_schema-0.0.18-py3-none-any.whl |
|---|---|
| Size | 39.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4cb79172ce156a988c395c900d0ac60bc9363db37326171d8ae07b92c5759ad1
|
|
BLAKE2b-256 checksum How to use checksums |
ae20cd36dccbf7c5146b8f6b93e7988330f71aee5f0c88e91b59b45e39d1658b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|