# $comment
This is an evidence type used in Stencila for graph edges.

It records why an edge exists, how confident the assertion is, and optional
provenance details about the observation, assertion, or imported metadata.

The evidence metadata fields have distinct roles:

- `codeLocation` is the exact location in source text where the evidence was
  found, such as a line and column in a code file, manifest, or document.
- `source` is the evidence carrier or authority when it is not sufficiently
  described by `codeLocation.source`, such as an imported graph, attestation,
  external service, execution record, or user assertion.
- `details` is for machine-readable detector-specific context that is not
  represented by core fields, such as parser rules, path expressions,
  dependency groups, package identifiers, or confidence inputs.
- `description` is an optional human-readable fallback for display when a
  useful explanation cannot be derived from the structured fields.

# properties.type.$comment
This is a special property analogous to JSON-LD's `@type` keyword.

# properties.id.$comment
This is a special property analogous to JSON-LD's `@id` keyword.

# properties.codeLocation.description
The exact location in source text where the evidence was found.

# properties.source.description
The evidence carrier or authority, when not sufficiently represented by the code location.

# properties.details.description
Additional machine-readable details about the evidence.

# properties.description.description
Optional human-readable explanation of the evidence.