1.8 KiB
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
harvestcommand against a known fixture source directory and verify it produces a YAML manifest with SHA-256 hashes for each harvested artifact - Run the
validatecommand 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
regencommand 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