documentation cleanse, sprints work and planning. remaining non EF DAL migration to EF

This commit is contained in:
master
2026-02-25 01:24:07 +02:00
parent b07d27772e
commit 4db038123b
9090 changed files with 4836 additions and 2909 deletions

View File

@@ -0,0 +1,8 @@
{
"feature": "immutable-advisory-feed-snapshots",
"runId": "run-001",
"capturedAtUtc": "2026-02-11T11:20:28.3462802Z",
"approved": true,
"reason": "Reproduced failures and traced them to fixture setup mismatch; production snapshot logic exists and passes once fixtures are version-aware.",
"revisedRootCause": "Use version-bound advisory fixtures (`SetVersionedAdvisory`) for snapshot content containing v/version fields."
}

View File

@@ -0,0 +1,13 @@
{
"feature": "immutable-advisory-feed-snapshots",
"runId": "run-001",
"capturedAtUtc": "2026-02-11T11:20:28.3462802Z",
"filesModified": [
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/PointInTimeAdvisoryResolverTests.cs",
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/PointInTimeQueryEndpointsTests.cs"
],
"testsAdded": [
],
"description": "Updated failing CompareAtTimes test scenarios to pin advisory expectations to snapshot version using SetVersionedAdvisory, aligning fixtures with immutable snapshot semantics."
}

View File

@@ -0,0 +1,19 @@
{
"feature": "immutable-advisory-feed-snapshots",
"runId": "run-001",
"capturedAtUtc": "2026-02-11T11:20:28.3462802Z",
"previousFailures": [
"PointInTimeAdvisoryResolverTests.CompareAtTimesAsync_DetectsModification",
"PointInTimeAdvisoryResolverTests.CompareAtTimesAsync_DetectsAddition",
"PointInTimeQueryEndpointsTests.CompareAdvisoryAtTimesAsync_DetectsChanges"
],
"retestCommand": "dotnet test src/Replay/__Tests/StellaOps.Replay.Core.Tests/StellaOps.Replay.Core.Tests.csproj --filter \"FullyQualifiedName~FeedSnapshots\" -v minimal",
"retestResults": [
{
"testsRun": 94,
"testsPassed": 94,
"testsFailed": 0
}
],
"verdict": "pass"
}

View File

@@ -0,0 +1,117 @@
{
"feature": "immutable-advisory-feed-snapshots",
"runId": "run-001",
"capturedAtUtc": "2026-02-11T11:16:36.7741557Z",
"filesChecked": [
"src/Replay/StellaOps.Replay.Core/InputManifestResolver.cs",
"src/Replay/StellaOps.Replay.Core/DeterminismVerifier.cs",
"src/Replay/StellaOps.Replay.Core/ReplayExecutor.cs",
"src/Replay/StellaOps.Replay.Core/PolicySimulationInputLock.cs",
"src/Replay/StellaOps.Replay.Core/ReplayJobQueue.cs",
"src/Replay/StellaOps.Replay.Anonymization/TraceAnonymizer.cs",
"src/Replay/StellaOps.Replay.WebService/VerdictReplayEndpoints.cs",
"src/Replay/StellaOps.Replay.Core/",
"src/Concelier/",
"src/Excititor/",
"src/__Tests/__Libraries/StellaOps.Testing.Determinism/"
],
"found": [
"src/Replay/__Libraries/StellaOps.Replay.Core/InputManifestResolver.cs",
"src/Replay/__Libraries/StellaOps.Replay.Core/DeterminismVerifier.cs",
"src/Replay/__Libraries/StellaOps.Replay.Core/ReplayExecutor.cs",
"src/Replay/__Libraries/StellaOps.Replay.Core/PolicySimulationInputLock.cs",
"src/Replay/__Libraries/StellaOps.Replay.Core/ReplayJobQueue.cs",
"src/Replay/__Libraries/StellaOps.Replay.Anonymization/TraceAnonymizer.cs",
"src/Replay/StellaOps.Replay.WebService/VerdictReplayEndpoints.cs",
"src/Replay/__Libraries/StellaOps.Replay.Core/",
"src/Concelier/",
"src/Excititor/",
"src/__Tests/__Libraries/StellaOps.Testing.Determinism/"
],
"missing": [
],
"missingOriginal": [
"src/Replay/StellaOps.Replay.Core/InputManifestResolver.cs",
"src/Replay/StellaOps.Replay.Core/DeterminismVerifier.cs",
"src/Replay/StellaOps.Replay.Core/ReplayExecutor.cs",
"src/Replay/StellaOps.Replay.Core/PolicySimulationInputLock.cs",
"src/Replay/StellaOps.Replay.Core/ReplayJobQueue.cs",
"src/Replay/StellaOps.Replay.Anonymization/TraceAnonymizer.cs",
"src/Replay/StellaOps.Replay.Core/"
],
"pathDriftResolved": [
{
"original": "src/Replay/StellaOps.Replay.Core/InputManifestResolver.cs",
"resolved": "src/Replay/__Libraries/StellaOps.Replay.Core/InputManifestResolver.cs"
},
{
"original": "src/Replay/StellaOps.Replay.Core/DeterminismVerifier.cs",
"resolved": "src/Replay/__Libraries/StellaOps.Replay.Core/DeterminismVerifier.cs"
},
{
"original": "src/Replay/StellaOps.Replay.Core/ReplayExecutor.cs",
"resolved": "src/Replay/__Libraries/StellaOps.Replay.Core/ReplayExecutor.cs"
},
{
"original": "src/Replay/StellaOps.Replay.Core/PolicySimulationInputLock.cs",
"resolved": "src/Replay/__Libraries/StellaOps.Replay.Core/PolicySimulationInputLock.cs"
},
{
"original": "src/Replay/StellaOps.Replay.Core/ReplayJobQueue.cs",
"resolved": "src/Replay/__Libraries/StellaOps.Replay.Core/ReplayJobQueue.cs"
},
{
"original": "src/Replay/StellaOps.Replay.Anonymization/TraceAnonymizer.cs",
"resolved": "src/Replay/__Libraries/StellaOps.Replay.Anonymization/TraceAnonymizer.cs"
},
{
"original": "src/Replay/StellaOps.Replay.Core/",
"resolved": "src/Replay/__Libraries/StellaOps.Replay.Core/"
}
],
"classDeclarations": [
{
"name": "InputManifestResolver",
"found": true,
"evidence": "src/Replay\\__Libraries\\StellaOps.Replay.Core\\InputManifestResolver.cs:16:public sealed class InputManifestResolver\nsrc/Replay\\__Libraries\\StellaOps.Replay.Core\\InputManifestResolver.cs:401:public sealed class InputManifestResolverOptions\nsrc/Replay\\__Tests\\StellaOps.Replay.Core.Tests\\Unit\\InputManifestResolverTests.cs:20:public sealed class InputManifestResolverTests : IDisposable"
},
{
"name": "DeterminismVerifier",
"found": true,
"evidence": "src/Replay\\__Libraries\\StellaOps.Replay.Core\\DeterminismVerifier.cs:19:public sealed class DeterminismVerifier\nsrc/Replay\\__Tests\\StellaOps.Replay.Core.Tests\\Unit\\DeterminismVerifierTests.cs:19:public sealed class DeterminismVerifierTests\nsrc/__Libraries\\StellaOps.Canonicalization\\Verification\\DeterminismVerifier.Differences.cs:5:public sealed partial class DeterminismVerifier\nsrc/__Libraries\\StellaOps.Canonicalization\\Verification\\DeterminismVerifier.cs:8:public sealed partial class DeterminismVerifier"
},
{
"name": "ReplayExecutor",
"found": true,
"evidence": "src/Replay\\__Libraries\\StellaOps.Replay.Core\\ReplayExecutor.cs:17:public sealed class ReplayExecutor\nsrc/Replay\\__Libraries\\StellaOps.Replay.Core\\ReplayExecutor.cs:253:public sealed record ReplayExecutorOptions\nsrc/__Libraries\\StellaOps.AuditPack\\Services\\ReplayExecutor.Policy.cs:6:public sealed partial class ReplayExecutor\nsrc/__Libraries\\StellaOps.AuditPack\\Services\\ReplayExecutor.JsonDiff.Helpers.cs:5:public sealed partial class ReplayExecutor\nsrc/__Libraries\\StellaOps.AuditPack\\Services\\ReplayExecutor.JsonDiff.cs:5:public sealed partial class ReplayExecutor\nsrc/__Libraries\\StellaOps.AuditPack\\Services\\ReplayExecutor.Hashing.cs:5:public sealed partial class ReplayExecutor\nsrc/__Libraries\\StellaOps.AuditPack\\Services\\ReplayExecutor.ExecuteInternal.cs:6:public sealed partial class ReplayExecutor\nsrc/__Libraries\\StellaOps.AuditPack\\Services\\ReplayExecutor.Execute.cs:5:public sealed partial class ReplayExecutor\nsrc/__Libraries\\StellaOps.AuditPack\\Services\\ReplayExecutor.DriftTracking.cs:5:public sealed partial class ReplayExecutor\nsrc/__Libraries\\StellaOps.AuditPack\\Services\\ReplayExecutor.Drift.cs:5:public sealed partial class ReplayExecutor\nsrc/__Libraries\\StellaOps.AuditPack\\Services\\ReplayExecutor.cs:8:public sealed partial class ReplayExecutor : IReplayExecutor\nsrc/__Libraries\\__Tests\\StellaOps.AuditPack.Tests\\ReplayExecutorTests.VerdictDrift.cs:7:public sealed partial class ReplayExecutorTests\nsrc/__Libraries\\__Tests\\StellaOps.AuditPack.Tests\\ReplayExecutorTests.InputDrift.cs:7:public sealed partial class ReplayExecutorTests\nsrc/__Libraries\\__Tests\\StellaOps.AuditPack.Tests\\ReplayExecutorTests.Helpers.cs:9:public sealed partial class ReplayExecutorTests\nsrc/__Libraries\\__Tests\\StellaOps.AuditPack.Tests\\ReplayExecutorTests.cs:6:public sealed partial class ReplayExecutorTests : IDisposable"
},
{
"name": "PolicySimulationInputLock",
"found": true,
"evidence": "src/Replay\\__Libraries\\StellaOps.Replay.Core\\PolicySimulationInputLock.cs:11:public sealed record PolicySimulationInputLock\nsrc/Replay\\__Libraries\\StellaOps.Replay.Core\\PolicySimulationInputLock.cs:141:public static class PolicySimulationInputLockValidator\nsrc/Replay\\__Tests\\StellaOps.Replay.Core.Tests\\PolicySimulationInputLockValidatorTests.cs:9:public class PolicySimulationInputLockValidatorTests\nsrc/__Libraries\\StellaOps.Replay.Core\\PolicySimulationInputLockValidator.cs:6:public static class PolicySimulationInputLockValidator\nsrc/__Libraries\\StellaOps.Replay.Core\\PolicySimulationInputLock.cs:11:public sealed record PolicySimulationInputLock"
},
{
"name": "ReplayJobQueue",
"found": true,
"evidence": "src/Replay\\__Libraries\\StellaOps.Replay.Core\\ReplayJobQueue.cs:16:public sealed class ReplayJobQueue : IDisposable\nsrc/Replay\\__Libraries\\StellaOps.Replay.Core\\ReplayJobQueue.cs:298:public sealed record ReplayJobQueueOptions"
},
{
"name": "TraceAnonymizer",
"found": true,
"evidence": "src/Replay\\__Tests\\StellaOps.Replay.Anonymization.Tests\\TraceAnonymizerTests.cs:16:public sealed class TraceAnonymizerTests\nsrc/Replay\\__Libraries\\StellaOps.Replay.Anonymization\\TraceAnonymizer.cs:17:public sealed partial class TraceAnonymizer : ITraceAnonymizer"
},
{
"name": "PointInTimeAdvisoryResolver",
"found": true,
"evidence": "src/Replay\\__Tests\\StellaOps.Replay.Core.Tests\\FeedSnapshots\\PointInTimeAdvisoryResolverTests.cs:16:public sealed class PointInTimeAdvisoryResolverTests\nsrc/Replay\\__Libraries\\StellaOps.Replay.Core\\FeedSnapshots\\PointInTimeAdvisoryResolver.cs:15:public sealed class PointInTimeAdvisoryResolver"
},
{
"name": "FeedSnapshotService",
"found": true,
"evidence": "src/Replay\\__Tests\\StellaOps.Replay.Core.Tests\\FeedSnapshots\\FeedSnapshotServiceTests.cs:15:public sealed class FeedSnapshotServiceTests\nsrc/Replay\\__Libraries\\StellaOps.Replay.Core\\FeedSnapshots\\FeedSnapshotService.cs:17:public sealed class FeedSnapshotService\nsrc/Replay\\__Libraries\\StellaOps.Replay.Core\\FeedSnapshots\\FeedSnapshotService.cs:307:public sealed record FeedSnapshotServiceOptions"
}
],
"verdict": "partial",
"summary": "Legacy Replay paths were stale; corresponding implementations exist under src/Replay/__Libraries."
}

View File

@@ -0,0 +1,37 @@
{
"feature": "immutable-advisory-feed-snapshots",
"runId": "run-001",
"capturedAtUtc": "2026-02-11T11:17:48Z",
"projects": [
"src/Replay/__Libraries/StellaOps.Replay.Core/StellaOps.Replay.Core.csproj",
"src/Replay/StellaOps.Replay.WebService/StellaOps.Replay.WebService.csproj"
],
"buildResult": "pass",
"testProject": "src/Replay/__Tests/StellaOps.Replay.Core.Tests/StellaOps.Replay.Core.Tests.csproj",
"testFilter": "FullyQualifiedName~FeedSnapshots",
"testResult": "fail",
"testsRun": 94,
"testsPassed": 91,
"testsFailed": 3,
"errors": [
"PointInTimeAdvisoryResolverTests.CompareAtTimesAsync_DetectsModification expected Modified but got Unchanged.",
"PointInTimeAdvisoryResolverTests.CompareAtTimesAsync_DetectsAddition expected AddedInTime2 but got Unchanged.",
"PointInTimeQueryEndpointsTests.CompareAdvisoryAtTimesAsync_DetectsChanges expected Modified but got Unchanged."
],
"codeReview": {
"mainClassImplemented": true,
"logicMatchesFeature": true,
"meaningfulTestsPresent": true,
"meaningfulAssertions": true,
"evidence": [
"src/Replay/__Libraries/StellaOps.Replay.Core/FeedSnapshots/FeedSnapshotService.cs",
"src/Replay/__Libraries/StellaOps.Replay.Core/FeedSnapshots/PointInTimeAdvisoryResolver.cs",
"src/Replay/StellaOps.Replay.WebService/PointInTimeQueryEndpoints.cs",
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/FeedSnapshotServiceTests.cs",
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/PointInTimeAdvisoryResolverTests.cs"
]
},
"notes": [
"Builds succeeded; failure isolated to snapshot-diff test fixture wiring."
]
}

View File

@@ -0,0 +1,28 @@
{
"feature": "immutable-advisory-feed-snapshots",
"runId": "run-001",
"type": "integration",
"capturedAtUtc": "2026-02-11T11:20:28.3556671Z",
"testProject": "src/Replay/__Tests/StellaOps.Replay.Core.Tests/StellaOps.Replay.Core.Tests.csproj",
"testFilter": "FullyQualifiedName~FeedSnapshots",
"interactionModel": "Behavioral integration tests exercising snapshot capture/query/verify and point-in-time compare flows via service and endpoint-facing contracts.",
"testsRun": 94,
"testsPassed": 94,
"testsFailed": 0,
"behaviorVerified": [
"Immutable snapshot capture creates content-addressed digests and de-duplicates identical content.",
"Provider/time lookup returns the most recent snapshot at or before the requested point in time.",
"Point-in-time advisory resolution and cross-provider aggregation return expected statuses (Found/NotFound/NoSnapshot).",
"Snapshot integrity verification recomputes digests and detects mismatches.",
"Advisory diffing detects Added and Modified transitions across snapshot versions."
],
"negativePathsVerified": [
"NoSnapshot status for provider/time with no captured snapshot.",
"NotFound status for CVE absent from snapshot content.",
"Integrity verification failure when digest is missing/non-existent."
],
"evidence": [
"docs/qa/feature-checks/runs/replay/immutable-advisory-feed-snapshots/run-001/retest-feedsnapshots.log"
],
"verdict": "pass"
}

View File

@@ -0,0 +1,12 @@
{
"feature": "immutable-advisory-feed-snapshots",
"runId": "run-001",
"capturedAtUtc": "2026-02-11T11:20:28.3400926Z",
"rootCause": "Feed snapshot diff tests used mutable global advisory fixtures (`SetAdvisory`) instead of snapshot-versioned fixtures. During compare-at-time checks both queries resolved the latest advisory value, producing false Unchanged outcomes.",
"category": "test_gap",
"affectedFiles": [
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/PointInTimeAdvisoryResolverTests.cs",
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/PointInTimeQueryEndpointsTests.cs"
],
"confidence": 0.98
}

View File

@@ -0,0 +1,55 @@
{
"type": "source",
"module": "replay",
"feature": "immutable-advisory-feed-snapshots",
"runId": "run-002",
"capturedAtUtc": "2026-02-11T11:17:21.8753727Z",
"filesChecked": [
"src/Replay/StellaOps.Replay.Core/InputManifestResolver.cs",
"src/Replay/StellaOps.Replay.Core/DeterminismVerifier.cs",
"src/Replay/StellaOps.Replay.Core/ReplayExecutor.cs",
"src/Replay/StellaOps.Replay.Core/PolicySimulationInputLock.cs",
"src/Replay/StellaOps.Replay.Core/ReplayJobQueue.cs",
"src/Replay/StellaOps.Replay.Anonymization/TraceAnonymizer.cs",
"src/Replay/StellaOps.Replay.WebService/VerdictReplayEndpoints.cs"
],
"found": [
"src\\Replay\\__Libraries\\StellaOps.Replay.Core\\InputManifestResolver.cs",
"src\\Replay\\__Libraries\\StellaOps.Replay.Core\\DeterminismVerifier.cs",
"src\\Replay\\__Libraries\\StellaOps.Replay.Core\\ReplayExecutor.cs",
"src\\Replay\\__Libraries\\StellaOps.Replay.Core\\PolicySimulationInputLock.cs",
"src\\Replay\\__Libraries\\StellaOps.Replay.Core\\ReplayJobQueue.cs",
"src\\Replay\\__Libraries\\StellaOps.Replay.Anonymization\\TraceAnonymizer.cs",
"src/Replay/StellaOps.Replay.WebService/VerdictReplayEndpoints.cs"
],
"missing": [
],
"relocated": [
{
"referenced": "src/Replay/StellaOps.Replay.Core/InputManifestResolver.cs",
"actual": "src\\Replay\\__Libraries\\StellaOps.Replay.Core\\InputManifestResolver.cs"
},
{
"referenced": "src/Replay/StellaOps.Replay.Core/DeterminismVerifier.cs",
"actual": "src\\Replay\\__Libraries\\StellaOps.Replay.Core\\DeterminismVerifier.cs"
},
{
"referenced": "src/Replay/StellaOps.Replay.Core/ReplayExecutor.cs",
"actual": "src\\Replay\\__Libraries\\StellaOps.Replay.Core\\ReplayExecutor.cs"
},
{
"referenced": "src/Replay/StellaOps.Replay.Core/PolicySimulationInputLock.cs",
"actual": "src\\Replay\\__Libraries\\StellaOps.Replay.Core\\PolicySimulationInputLock.cs"
},
{
"referenced": "src/Replay/StellaOps.Replay.Core/ReplayJobQueue.cs",
"actual": "src\\Replay\\__Libraries\\StellaOps.Replay.Core\\ReplayJobQueue.cs"
},
{
"referenced": "src/Replay/StellaOps.Replay.Anonymization/TraceAnonymizer.cs",
"actual": "src\\Replay\\__Libraries\\StellaOps.Replay.Anonymization\\TraceAnonymizer.cs"
}
],
"verdict": "partial"
}

View File

@@ -0,0 +1,35 @@
{
"type": "build",
"module": "replay",
"feature": "immutable-advisory-feed-snapshots",
"runId": "run-002",
"capturedAtUtc": "2026-02-11T11:19:34.5853358Z",
"buildProjects": [
"src/Replay/__Libraries/StellaOps.Replay.Core/StellaOps.Replay.Core.csproj",
"src/Replay/__Libraries/StellaOps.Replay.Anonymization/StellaOps.Replay.Anonymization.csproj",
"src/Replay/StellaOps.Replay.WebService/StellaOps.Replay.WebService.csproj"
],
"buildResult": "pass",
"testProjects": [
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/StellaOps.Replay.Core.Tests.csproj",
"src/Replay/__Tests/StellaOps.Replay.Anonymization.Tests/StellaOps.Replay.Anonymization.Tests.csproj",
"src/__Libraries/__Tests/StellaOps.AuditPack.Tests/StellaOps.AuditPack.Tests.csproj"
],
"testResult": "fail",
"evidence": [
"C:\\dev\\New folder\\git.stella-ops.org\\docs\\qa\\feature-checks\\runs\\replay\\immutable-advisory-feed-snapshots\\run-002\\evidence\\docker-info.txt",
"C:\\dev\\New folder\\git.stella-ops.org\\docs\\qa\\feature-checks\\runs\\replay\\immutable-advisory-feed-snapshots\\run-002\\evidence\\docker-ps.txt",
"C:\\dev\\New folder\\git.stella-ops.org\\docs\\qa\\feature-checks\\runs\\replay\\immutable-advisory-feed-snapshots\\run-002\\evidence\\dotnet-version.txt",
"C:\\dev\\New folder\\git.stella-ops.org\\docs\\qa\\feature-checks\\runs\\replay\\immutable-advisory-feed-snapshots\\run-002\\evidence\\preflight-commands.txt",
"C:\\dev\\New folder\\git.stella-ops.org\\docs\\qa\\feature-checks\\runs\\replay\\immutable-advisory-feed-snapshots\\run-002\\evidence\\tier1-build-StellaOps.Replay.Anonymization.txt",
"C:\\dev\\New folder\\git.stella-ops.org\\docs\\qa\\feature-checks\\runs\\replay\\immutable-advisory-feed-snapshots\\run-002\\evidence\\tier1-build-StellaOps.Replay.Core.txt",
"C:\\dev\\New folder\\git.stella-ops.org\\docs\\qa\\feature-checks\\runs\\replay\\immutable-advisory-feed-snapshots\\run-002\\evidence\\tier1-build-StellaOps.Replay.WebService.txt",
"C:\\dev\\New folder\\git.stella-ops.org\\docs\\qa\\feature-checks\\runs\\replay\\immutable-advisory-feed-snapshots\\run-002\\evidence\\tier1-test-StellaOps_AuditPack_Tests.txt",
"C:\\dev\\New folder\\git.stella-ops.org\\docs\\qa\\feature-checks\\runs\\replay\\immutable-advisory-feed-snapshots\\run-002\\evidence\\tier1-test-StellaOps_Replay_Anonymization_Tests.txt",
"C:\\dev\\New folder\\git.stella-ops.org\\docs\\qa\\feature-checks\\runs\\replay\\immutable-advisory-feed-snapshots\\run-002\\evidence\\tier1-test-StellaOps_Replay_Core_Tests.txt"
],
"errors": [
"Test failed: src/Replay/__Tests/StellaOps.Replay.Core.Tests/StellaOps.Replay.Core.Tests.csproj"
],
"verdict": "fail"
}

View File

@@ -0,0 +1,50 @@
{
"type": "source",
"module": "replay",
"feature": "immutable-advisory-feed-snapshots",
"runId": "run-003",
"capturedAtUtc": "2026-02-11T11:23:06.5162608Z",
"featureFile": "docs/features/checked/replay/immutable-advisory-feed-snapshots.md",
"filesChecked": [
"src/Replay/__Libraries/",
"src/Replay/__Libraries/StellaOps.Replay.Core/FeedSnapshots/FeedSnapshotService.cs",
"src/Replay/__Libraries/StellaOps.Replay.Core/FeedSnapshots/PointInTimeAdvisoryResolver.cs",
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/FeedSnapshotServiceTests.cs",
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/PointInTimeAdvisoryResolverTests.cs",
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/PointInTimeQueryEndpointsTests.cs",
"src/Replay/StellaOps.Replay.WebService/PointInTimeQueryEndpoints.cs"
],
"found": [
"src/Replay/__Libraries/",
"src/Replay/__Libraries/StellaOps.Replay.Core/FeedSnapshots/FeedSnapshotService.cs",
"src/Replay/__Libraries/StellaOps.Replay.Core/FeedSnapshots/PointInTimeAdvisoryResolver.cs",
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/FeedSnapshotServiceTests.cs",
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/PointInTimeAdvisoryResolverTests.cs",
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/PointInTimeQueryEndpointsTests.cs",
"src/Replay/StellaOps.Replay.WebService/PointInTimeQueryEndpoints.cs"
],
"missing": [
],
"relocated": [
],
"classDeclarations": [
{
"name": "FeedSnapshotService",
"found": true,
"evidence": "src/Replay\\__Libraries\\StellaOps.Replay.Core\\FeedSnapshots\\FeedSnapshotService.cs:17:public sealed class FeedSnapshotService\nsrc/Replay\\__Libraries\\StellaOps.Replay.Core\\FeedSnapshots\\FeedSnapshotService.cs:307:public sealed record FeedSnapshotServiceOptions\nsrc/Replay\\__Tests\\StellaOps.Replay.Core.Tests\\FeedSnapshots\\FeedSnapshotServiceTests.cs:15:public sealed class FeedSnapshotServiceTests"
},
{
"name": "PointInTimeAdvisoryResolver",
"found": true,
"evidence": "src/Replay\\__Tests\\StellaOps.Replay.Core.Tests\\FeedSnapshots\\PointInTimeAdvisoryResolverTests.cs:16:public sealed class PointInTimeAdvisoryResolverTests\nsrc/Replay\\__Libraries\\StellaOps.Replay.Core\\FeedSnapshots\\PointInTimeAdvisoryResolver.cs:15:public sealed class PointInTimeAdvisoryResolver"
},
{
"name": "PointInTimeQueryEndpoints",
"found": true,
"evidence": "src/Replay\\StellaOps.Replay.WebService\\PointInTimeQueryEndpoints.cs:15:public static class PointInTimeQueryEndpoints\nsrc/Replay\\__Tests\\StellaOps.Replay.Core.Tests\\FeedSnapshots\\PointInTimeQueryEndpointsTests.cs:18:public sealed class PointInTimeQueryEndpointsTests"
}
],
"verdict": "pass"
}

View File

@@ -0,0 +1,41 @@
{
"type": "build",
"module": "replay",
"feature": "immutable-advisory-feed-snapshots",
"runId": "run-003",
"capturedAtUtc": "2026-02-11T11:25:08.7508146Z",
"buildProjects": [
"src/Replay/__Libraries/StellaOps.Replay.Core/StellaOps.Replay.Core.csproj",
"src/Replay/StellaOps.Replay.WebService/StellaOps.Replay.WebService.csproj"
],
"buildResult": "pass",
"testProjects": [
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/StellaOps.Replay.Core.Tests.csproj"
],
"testResult": "pass",
"codeReview": {
"checklist": {
"behaviorMatchesFeature": true,
"testsCoverCoreBehavior": true,
"mainImplementationExists": true,
"testsAssertMeaningfulOutcomes": true
},
"files": [
"src/Replay/__Libraries/StellaOps.Replay.Core/FeedSnapshots/FeedSnapshotService.cs",
"src/Replay/__Libraries/StellaOps.Replay.Core/FeedSnapshots/PointInTimeAdvisoryResolver.cs",
"src/Replay/StellaOps.Replay.WebService/PointInTimeQueryEndpoints.cs",
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/FeedSnapshotServiceTests.cs",
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/PointInTimeAdvisoryResolverTests.cs",
"src/Replay/__Tests/StellaOps.Replay.Core.Tests/FeedSnapshots/PointInTimeQueryEndpointsTests.cs"
]
},
"evidence": [
"docs/qa/feature-checks/runs/replay/immutable-advisory-feed-snapshots/run-003/evidence/tier1-build-replay-core.txt",
"docs/qa/feature-checks/runs/replay/immutable-advisory-feed-snapshots/run-003/evidence/tier1-build-replay-webservice.txt",
"docs/qa/feature-checks/runs/replay/immutable-advisory-feed-snapshots/run-003/evidence/tier1-test-replay-core.txt"
],
"errors": [
],
"verdict": "pass"
}

View File

@@ -0,0 +1,34 @@
{
"type": "integration",
"module": "replay",
"feature": "immutable-advisory-feed-snapshots",
"runId": "run-003",
"capturedAtUtc": "2026-02-11T11:25:08.7508146Z",
"commands": [
{
"description": "Run replay core behavioral suite covering feed snapshot capture, retrieval, integrity, timeline, and point-in-time diff semantics",
"command": "dotnet test src/Replay/__Tests/StellaOps.Replay.Core.Tests/StellaOps.Replay.Core.Tests.csproj -c Release --nologo --no-build",
"expectedExitCode": 0,
"actualExitCode": 0,
"expectedOutput": "Replay feed snapshot behavioral tests pass with no failures.",
"artifacts": [
"docs/qa/feature-checks/runs/replay/immutable-advisory-feed-snapshots/run-003/evidence/tier2-feed-snapshot-behavior-tests.txt"
],
"result": "pass",
"commandCapturedAtUtc": "2026-02-11T11:25:08.7508146Z"
}
],
"testsRun": 94,
"testsPassed": 94,
"testsFailed": 0,
"behaviorVerified": [
"Immutable snapshot capture is content-addressed and integrity-verifiable via FeedSnapshotService paths and tests.",
"Point-in-time advisory resolution returns Found, NotFound, and NoSnapshot states for provider/time queries.",
"Snapshot diff comparisons detect modification and addition transitions across snapshot versions (positive and negative semantics).",
"Cross-provider advisory queries report consensus/mismatch and missing provider snapshots."
],
"evidence": [
"docs/qa/feature-checks/runs/replay/immutable-advisory-feed-snapshots/run-003/evidence/tier2-feed-snapshot-behavior-tests.txt"
],
"verdict": "pass"
}