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

1.8 KiB

Fixture Harvester Tool

Module

Tools

Status

IMPLEMENTED

Description

CLI tool (harvest/validate/regen commands) for deterministic test fixture management. Supports tiered fixtures (Synthetic, Spec Examples, Real Samples, Regression), SHA-256 hash pinning, YAML manifests with schema versioning, and configurable refresh policies.

Implementation Details

  • Fixture Updater App: src/Tools/FixtureUpdater/StellaOps.Tools.FixtureUpdater/FixtureUpdaterApp.cs -- CLI entry point that parses commands (harvest, validate, regen) and dispatches to the runner; manages fixture tier selection and output directory configuration.
  • Fixture Updater Runner: src/Tools/FixtureUpdater/StellaOps.Tools.FixtureUpdater/FixtureUpdaterRunner.cs -- core execution engine that walks fixture manifests, computes SHA-256 hashes, compares against pinned baselines, and regenerates stale fixtures according to refresh policies.

E2E Test Plan

  • Run the harvest command against a known fixture source directory and verify it produces a YAML manifest with SHA-256 hashes for each harvested artifact
  • Run the validate command against an existing manifest and verify it reports all fixtures as valid when hashes match, and flags mismatches when a fixture file is modified
  • Run the regen command for a single fixture tier (e.g., Synthetic) and verify only fixtures in that tier are regenerated while other tiers remain untouched
  • Modify a fixture file's content, run validate, and verify the tool reports the specific file and expected vs. actual hash
  • Verify the YAML manifest includes schema version metadata and that the tool rejects manifests with an unsupported schema version
  • Run the tool with a configurable refresh policy (e.g., "refresh if older than 7 days") and verify it only regenerates fixtures that exceed the staleness threshold