Skip to content

Change impact analysis via artifact hashing #18

@avrabe

Description

@avrabe

Context

Eclipse SCORE needs change impact analysis (docs-as-code #314, process_description #535) to answer: "if I change this requirement, what downstream artifacts are affected?" They're waiting on upstream sphinx-needs to implement hash-based versioned links.

Problem

When an artifact changes (title, description, fields, links), all downstream artifacts that depend on it may need review. Currently there's no automated way to:

  1. Detect which artifacts changed between two baselines/commits
  2. Compute the transitive impact set via the link graph
  3. Flag downstream artifacts as "needs review"

Rivet already has rivet diff for structural comparison and petgraph for reachability — combining them solves this.

Proposed approach

  1. Content hashing: compute a stable hash of each artifact's content (title + description + fields + links)
  2. Stored hashes: optional rivet.lock or per-artifact hash field for baseline comparison
  3. Impact command: rivet impact --since <commit|tag> that:
    • Diffs current artifacts against the baseline
    • For each changed artifact, walks the link graph to find all transitively dependent artifacts
    • Reports the impact set grouped by depth (direct dependents, transitive)
  4. Dashboard integration: highlight impacted artifacts in the graph/matrix views

Rivet artifacts

  • REQ-024
  • FEAT-041

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions