Skip to content

The domain graph ​

Implemented in cartograph-core and cartograph-graph. Summary in ARCHITECTURE.md.

The edge record ​

Never A → B; always the claim and how it was known:

FieldTypeNotes
source, targetNodeIdGraph-local handles until M10
kindEdgeKind8 kinds; HttpCall/OrmAccess/Queries are cross-stack
confidenceConfidenceValidated to [0,1]; priors uncalibrated until M08
provenanceProvenanceWhich analysis fired; decides derived-vs-inferred
evidenceEvidenceNon-empty; never source text/env values (RULE 015)
locationSourceLocationRepository-relative, 1-based; absolute paths rejected at construction
commitOption<CommitId>None = unknown until gix lands (M07)
created_atRFC 3339Fixed clock available for byte-stable fixtures

All fields except commit are required by the constructor — an unevidenced edge does not compile (ADR-0004).

Node kinds ​

Repository · Package · Directory · File · Module · Class · Function · Method · Variable · Route · Table · Column · ExternalService · EnvVar (name only, never a value).

Identity caveat ​

NodeId/EdgeId are allocated per graph from zero. Handles must not cross graphs. Content-addressed identity was an M10 deliverable and was deferred there: the incremental engine keys results by content and dependency identity and compares graphs semantically, so it never needed a stable handle. See ADR-0014, which records the deferral, names M13 (structural diff) as the milestone that requires it, and states the gate the work must pass.

Released under the Apache-2.0 licence.