Skip to content

#Evidence cannot record who produced the payload or how it was obtained #491

Description

@jpower432

Is your feature request related to a problem? 🤖

On main at b47d028, #Evidence is {id, type, collected-at, payload?, source?, description?} (auditlog.cue:82-100). Nothing records who or what produced the payload, as distinct from who collected it, and nothing records how it was obtained. A verbatim cloud API response and a summary of a conversation are the same shape.

OSCAL requires this: observation.methods is a required field on Observation. Because Gemara has no source for it, go-gemara's converter infers this — gemaraconv/assessment_results.go:222-224 defaults methods to ["EXAMINE"] and switches to ["TEST"] on a step-count condition.

Describe the solution you'd like

Add to #Evidence:

method? An evidence collection method,
collector?: #Actor (gathered it; when absent, the artifact's metadata.author is the collector).

Both optional and non-breaking.

Describe alternatives you've considered

Keep inferring method in the converter - rejected because it infers an OSCAL-required field from a step count assuming that all EvaluationLogs were created by the SDK which may not be true.

Success Criteria

  • #Evidence carries method and collector.
  • gemaraconv can populate observation.methods from the artifact.
  • make breaking-check is clean against the v1.5.0 baseline.

Additional context

Breakdown item 1 from the comment proposing this split on #488. Overlaps #485. The author/reviewer split mirrors CycloneDX. Closes the "how" and "by whom" half of #417, which resolved to "#Evidence with Provenance as a type" but only landed the "where" half (source: #EvidenceMapping).

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions