Files
git.stella-ops.org/docs/features/checked/tools/fixture-harvester-tool.md

2.1 KiB

Fixture Harvester Tool (Deterministic Fixture Rewriter)

Module

Tools

Status

VERIFIED

Description

CLI tool for deterministic test fixture management. Rewrites Concelier OSV/GHSA/NVD fixtures with SHA-256-based deterministic GUIDs and fixed timestamps, ensuring reproducible test data across environments.

Implementation Details

  • Fixture Updater App: src/Tools/FixtureUpdater/FixtureUpdaterApp.cs (96 lines) -- CLI entry point using System.CommandLine. Parses --repo-root, --osv-fixtures, --ghsa-fixtures, --nvd-fixtures, --fixed-time options. Resolves repository root and fixture paths, constructs FixtureUpdaterOptions, dispatches to runner.
  • Fixture Updater Runner: src/Tools/FixtureUpdater/FixtureUpdaterRunner.cs (533 lines) -- core execution engine: processes OSV raw fixtures (JSON arrays of OsvVulnerabilityDto), generates deterministic snapshot fixtures for npm/PyPI ecosystems, processes GHSA raw fixtures (GhsaRecordDto), generates credit parity regression fixtures across GHSA/OSV/NVD sources. Uses FixtureDeterminism class for SHA-256-based deterministic GUID generation.
  • Program.cs: src/Tools/FixtureUpdater/Program.cs (3 lines) -- delegates to FixtureUpdaterApp.RunAsync(args).

E2E Test Plan

  • Run the fixture updater tool twice with the same inputs and verify outputs are bit-for-bit identical (determinism check)
  • Verify error reporting includes context about which fixture source caused the failure

Verification

  • Verified: 2026-02-10
  • Method: Tier 1 code review + Tier 2d test verification
  • Build: Passes (0 errors, 0 warnings)
  • Tests: 2 tests pass (determinism verification, error reporting with context)
  • Caveat: Original feature description overstated capabilities. The tool does NOT implement harvest/validate/regen sub-commands, YAML manifests with schema versioning, tiered fixtures (Synthetic/Spec Examples/Real Samples/Regression), or configurable refresh policies. The actual tool is a deterministic OSV/GHSA/NVD fixture rewriter using SHA-256 hashing and fixed timestamps. Feature title and description updated to reflect actual implementation.