Skip to content

feat: carry scan provenance through the dependency-model merge #55

Description

@ericfitz

Summary

dependency-model's merge step drops the provenance fields that layer 1 works to establish.
merge_envelopes (dependency-model/scripts/depgraphlib/merge.py) keeps only categories, so
scan.confidence (high | partial | low), seeded_by, and each envelope's target never
reach the synthesis contract.

The consequence is that report — the terminal artifact a human actually reads — can never tell
that the scan behind a category was low-confidence. A partial scan and a thorough one render
identically.

Schema and code currently agree, so this is not a defect against the published contract. It is a
design gap: for a plugin whose entire discipline is provenance and evidence, losing the confidence
signal at the join is the one place that discipline breaks.

Surfaced by the whole-branch review of #49 (finding I8), which explicitly recommended filing it
rather than widening that branch — it is a schema addition and therefore a scope call.

Acceptance Criteria

  • synthesis.schema.json carries per-category provenance (at minimum confidence; consider
    seeded_by and target), with contract_version bumped per the versioning policy
  • merge_envelopes propagates those fields rather than discarding them
  • Conflicting values across envelopes for one category have a stated precedence rule, the way
    failed status already does
  • report states a category's scan confidence when it is not high, and never presents a
    low-confidence result as settled
  • The worked example in references/contracts/examples/ demonstrates a non-high case

Notes

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions