Files
git.stella-ops.org/docs/features/unchecked/libraries/determinism-gate-testing-infrastructure.md

2.1 KiB

Determinism Gate Testing Infrastructure

Module

__Libraries

Status

IMPLEMENTED

Description

Dedicated determinism testing library and TestKit deterministic helpers for CI-gated canonical output verification.

Implementation Details

  • TestKit: src/__Libraries/StellaOps.TestKit/ -- comprehensive shared test kit with TestCategories, DeterministicRandom, DeterministicTime, CanonicalJsonAssert, SnapshotAssert, BlastRadiusTestRunner/Validator, ConnectorTestBase hierarchy (HttpFixture, LiveSchema, Resilience, Security), FixtureUpdater, EnvironmentProfile, SkewTestRunner, EvidenceChainAssert/Reporter, IntentAttribute/TestIntents, SchemaVersionMatrix, StabilityMetrics/TestRunner, OTelContractAssert, LogContractAssert, MetricsContractAssert, CacheIdempotencyTests, FlakyToDeterministicPattern, QueryDeterminismTests, StorageConcurrencyTests/IdempotencyTests, WebServiceTestBase
  • Testing.Determinism: src/__Libraries/StellaOps.Testing.Determinism/ -- determinism-specific test infrastructure (referenced but directory may be integrated into TestKit)
  • Determinism.Abstractions: src/__Libraries/StellaOps.Determinism.Abstractions/ -- IGuidProvider (SystemGuidProvider/SequentialGuidProvider), ResolverBoundaryAttribute, RequiresCanonicalizationAttribute, DeterministicOutputAttribute, DeterminismServiceCollectionExtensions (AddSystemTimeProvider, AddSystemGuidProvider, AddDeterminismDefaults)
  • Source: Feature matrix scan

E2E Test Plan

  • Verify CanonicalJsonAssert detects non-deterministic JSON serialization (e.g., unordered keys)
  • Verify SnapshotAssert compares golden snapshots and reports diffs
  • Test DeterministicRandom produces repeatable sequences with same seed
  • Test DeterministicTime provides controlled time progression
  • Verify SequentialGuidProvider returns predictable GUID sequence with counter in last 4 bytes
  • Test BlastRadiusTestRunner validates change scope within expected boundaries
  • Verify StorageIdempotencyTests confirm repeated writes produce identical results
  • Test FlakyToDeterministicPattern converts non-deterministic tests to deterministic equivalents