Files
git.stella-ops.org/docs/features/checked/binaryindex/golden-set-for-patch-validation.md
2026-02-14 09:11:48 +02:00

1.9 KiB

Golden Set for Patch Validation (in BinaryIndex)

Module

BinaryIndex

Status

IMPLEMENTED

Description

Golden set analysis pipeline and API controller for curated binary patch validation test cases.

Implementation Details

  • Modules: src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Analysis/, src/BinaryIndex/StellaOps.BinaryIndex.WebService/Controllers/
  • Key Classes:
    • GoldenSetAnalysisPipeline (src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Analysis/GoldenSetAnalysisPipeline.cs) - runs validation analysis against golden set definitions
    • GoldenSetController (src/BinaryIndex/StellaOps.BinaryIndex.WebService/Controllers/GoldenSetController.cs) - REST API for golden set CRUD operations with filtering, pagination, and ordering
      • POST /api/v1/golden-sets - create golden set definitions
      • GET /api/v1/golden-sets - list with status/component/tag filters
      • GET /api/v1/golden-sets/{id} - get by ID
    • GoldenSetValidator (src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.GoldenSet/Validation/GoldenSetValidator.cs) - validates golden set definitions
  • Interfaces: IGoldenSetStore, IGoldenSetValidator
  • Models: GoldenSetDefinition, GoldenSetListQuery, GoldenSetListResponse, GoldenSetCreateRequest/Response
  • Enums: GoldenSetStatus (Draft, Active, etc.), GoldenSetOrderBy

E2E Test Plan

  • Create a golden set via POST /api/v1/golden-sets and verify it is stored with Draft status
  • List golden sets with component filter and verify only matching sets are returned
  • Get golden set by ID and verify all fields including metadata are returned
  • Run golden set analysis pipeline against a known binary pair and verify patch validation result
  • Verify golden set validation rejects definitions with invalid CVE references
  • Verify pagination and ordering work correctly with multiple golden sets