Skip to content

feat: evidence source provenance (EvidenceMapping) support - #840

Draft
marcusburghardt wants to merge 1 commit into
complytime:mainfrom
marcusburghardt:opsx/evidence-source
Draft

feat: evidence source provenance (EvidenceMapping) support#840
marcusburghardt wants to merge 1 commit into
complytime:mainfrom
marcusburghardt:opsx/evidence-source

Conversation

@marcusburghardt

Copy link
Copy Markdown
Member

Summary

Plumb the Gemara #EvidenceMapping (source field) through complyctl's
entire evidence pipeline, enabling providers to report where evidence
was collected from.

Context

The Gemara CUE schema (evaluationlog.cue line 73, auditlog.cue
lines 78-97) defines #Evidence with a source field of type
#EvidenceMapping that records evidence provenance -- which artifact,
which location within it, and a content digest. The go-gemara SDK already
exposes this as Evidence.Source. complyctl's proto API currently defers
this field with a comment referencing an unwritten "ADR 0023".

This PR starts with the OpenSpec change artifacts only (proposal,
specs, design, tasks). Implementation will follow after review.

OpenSpec Artifacts

  • Proposal: openspec/changes/evidence-source/proposal.md
  • Spec: openspec/changes/evidence-source/specs/evidence-source/spec.md
  • Design: openspec/changes/evidence-source/design.md
  • Tasks: openspec/changes/evidence-source/tasks.md

Scope

  • Add EvidenceMapping proto message + source field on Evidence
  • Add EvidenceSource Go type in pkg/provider/
  • Update proto mapping, evaluator, and Markdown formatter
  • Backward-compatible: providers that don't send source are unaffected

Related

Add OpenSpec change artifacts for plumbing the Gemara EvidenceMapping
(source field) through complyctl's evidence pipeline. This enables
providers to report evidence provenance -- which artifact, location,
and content digest each evidence entry was collected from.

Artifacts:
- proposal.md: motivation and scope
- specs/evidence-source/spec.md: behavioral requirements
- design.md: technical decisions and approach
- tasks.md: implementation checklist

Assisted-by: OpenCode (claude-opus-4-6)
Signed-off-by: Marcus Burghardt <maburgha@redhat.com>

**Non-Goals:**

- OSCAL output evidence support (separate concern, no upstream

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In OSCAL Assessment Results there is an relevant_evidence field under observations. If we are using the upstream conversion (we should be), I submitted an issue to add support gemaraproj/go-gemara#127

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants