Files
git.stella-ops.org/docs/features/unchecked/scanner/material-changes-orchestrator.md

2.0 KiB

Material Changes Orchestrator (Unified Cross-Module Diff Report)

Module

Scanner

Status

IMPLEMENTED

Description

Unified orchestration service that chains Scanner SmartDiff, BinaryIndex fingerprint diffs, and Unknowns tracking into a single "material changes" report with compact card-style output (what changed, why it matters, next action). Enables one-stop review of all changes across layers.

Implementation Details

  • Orchestrator:
    • src/Scanner/__Libraries/StellaOps.Scanner.MaterialChanges/IMaterialChangesOrchestrator.cs - IMaterialChangesOrchestrator interface defining the material changes workflow
    • src/Scanner/__Libraries/StellaOps.Scanner.MaterialChanges/MaterialChangesOrchestrator.cs - MaterialChangesOrchestrator chains SmartDiff, BinaryIndex fingerprint diffs, and Unknowns tracking into a unified report
  • Report Model:
    • src/Scanner/__Libraries/StellaOps.Scanner.MaterialChanges/MaterialChangesReport.cs - MaterialChangesReport model with compact card-style output (what changed, why it matters, next action)
  • Card Generation:
    • src/Scanner/__Libraries/StellaOps.Scanner.MaterialChanges/CardGenerators.cs - CardGenerators produces compact card-style summaries for each type of material change
  • DI Registration: src/Scanner/__Libraries/StellaOps.Scanner.MaterialChanges/MaterialChangesServiceExtensions.cs

E2E Test Plan

  • Trigger a rescan of a container image with known changes and verify the material changes orchestrator produces a unified report
  • Verify the report includes SmartDiff results (component additions, removals, version changes)
  • Verify the report includes BinaryIndex fingerprint diff results when binary changes are detected
  • Verify the report includes Unknowns tracking deltas (newly unknown vs newly resolved)
  • Verify card-style output includes "what changed", "why it matters", and "next action" for each change
  • Verify the report correctly aggregates changes across all container layers