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 = (module at birth, qualified name at birth[, generation]).code_text_node_idfunction — Code-text-region identity = (module, region key).decision_node_idfunction — Decision identity = its canonical statement (idempotent re-records).deliverable_type_node_idfunction — Deliverable-type identity = its slug, so re-minting the profile UPSERTS one nodeentity_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.point_node_idfunction — Point identity = (owner, point key) — never its text, kind, or position.point_set_node_idfunction — PointSet identity = (sibling graph key, Source id, unit key) — the source unit whosereference_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.DeliverableTypeNodeclass — A deliverable TYPE's profile as graph DATA (ruling a7262fe7 (1)) — the display-ruleEntityNodeclass — 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.PointNodeclass — A typed deliverable's SUBSTANCE atom (ruling a7262fe7): the smallest statementPointSetNodeclass — A Source unit's POINT STORE (ruling 96be1528 (P)): the node that OWNS the substanceReferenceNodeclass — 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,inbound_link_edgefunction — One dated observation that a linking page links a site URL (design 7f315830 (6), rulingjudged_edgefunction — One judgment of the JUDGED family (design ae698640 (5), generalizing eefda2dd (3)'s facetjudged_related_edgefunction — One judged related-post pair (design e09e262b). The pair is ORDERED -- relatedness islineage_edgefunction — One step of an artifact's LINEAGE (design ae698640 (1)): the ONNX export from the checkpoint,parse_foreign_reffunction — Split a<graph key>:<id>reference token; None for a plain local id / anything else.placed_edgefunction — The deliverable's PER-POINT OVERLAY on a point it renders (ruling 96be1528 (3)/(7)).record_part_of_edgefunction — A PART_OF landed by an Entity record (design ae698640 (3) / (4)): a concept under itsrelation_edgefunction — One authored relation with its per-pair data: a path-model relation (design ae698640 (5)) orseries_member_edgefunction — One series membership with its AUTHORED position (DEC 72d669c5 (4)).site_link_edgefunction — An in-body site link, RESOLVED (DEC 72d669c5 (1)): the post-replay resolve pass mintssupports_edgefunction — One support of a claim with its kind (design de808eae (1), amendment 98e99fe5 (2)).unit_part_of_edgefunction — A unit's membership in its work (design leg 4a4ef27e (2)), landed by theentityopverified_on_edgefunction — One verification with its evidence (design 8cbdc883 (7), amendment c450133a (2)).work_member_edgefunction — A metabolized source's place in its work (design 5de7fae9 (4), design leg 4a4ef27e (2)):work_provenance_edgefunction — An archive deliverable's provenance (design 5de7fae9 (3), design leg 4a4ef27e (2)): ONE
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.citation_partsfunction — The inverse ofcitation_value; a malformed value reads as no parts.citation_valuefunction — A citation's parts as the fact's value -- sorted keys, compact separators, blanks dropped;get_predicatefunction — Look up a predicate's value-space; exact entry first, then a prefix FAMILYinbound_count_valuefunction — A source's inbound-link totals as the fact's value (ruling a3c02fb1). Refuses a source outsideis_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_terminalfunction — Whethervalueis a TERMINAL side-state of an ordered enum (item 140981e9): off theis_typedfunction — Whether the predicate carries a value-space (exact entry OR prefix family).link_observation_valuefunction — A linking page's observation as the fact's value (ruling a3c02fb1 (1)) -- sorted keys, compactobservation_offunction — The inverse oflink_observation_value/inbound_count_value; a malformed value reads as none.ordering_supersedesfunction — For an ordered predicate, doesnew_valuesupersedeold_value?resources_linksfunction — The inverse ofresources_value; a malformed value reads as no links.resources_valuefunction — A source's links as the fact's value -- each link's fields sorted, the links in role thensoft_conflictfunction — Whether an UNTYPED slot's active values disagree (a worklist candidate).traffic_offunction — The inverse oftraffic_value; a malformed value reads as no measure.traffic_valuefunction — A traffic measure as the fact's value -- sorted keys, compact separators. Refuses a missingtransition_matchesfunction — Does a step match a stage's transition (ae698640 (2))? Its outputs include the transition'svalues_conflictfunction — Whether two values are a HARD contradiction under the value-space.version_keyfunction — A component version's ordering key for staleness: its runs of digits and letters in order,versions_offunction — The inverse ofversions_value; a malformed value reads as no versions.versions_valuefunction — An environment's versions as the fact's value -- sorted keys, compact separators, blanks
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
Metadata
Release files for cjm-dev-graph-schema 0.0.43
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.43.tar.gz | 89.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cjm_dev_graph_schema-0.0.43-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 159.4 kB
Release files / cjm_dev_graph_schema-0.0.43.tar.gz
| Download URL | cjm_dev_graph_schema-0.0.43.tar.gz |
|---|---|
| Size | 89.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd5da03bd9560290eca17161680c9dfa2ad9199d19c830dfbfd99bf9508931b7
|
|
BLAKE2b-256 checksum How to use checksums |
523e2ada6b46f159fed915435598c6eab26225ccc5d72b3a6fdb2702032136eb
|
| 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.43-py3-none-any.whl
| Download URL | cjm_dev_graph_schema-0.0.43-py3-none-any.whl |
|---|---|
| Size | 69.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0f201711daee46ac31273536e5d82f2c35aa9a74cd864e888ed88ced02372a9c
|
|
BLAKE2b-256 checksum How to use checksums |
bba466da9fd1ba311987f12a5da7a0c57d825918c7d4e4e404a37211efb0ce40
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|