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,7 @@
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
Date: Wed, 11 Feb 2026 06:53:39 GMT
Server: Kestrel
Transfer-Encoding: chunked
"Invalid fromHlc value 'invalid-hlc'. Expected format '{physicalTime13}-{nodeId}-{counter6}'."

View File

@@ -0,0 +1,5 @@
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Wed, 11 Feb 2026 06:53:40 GMT
Server: Kestrel

View File

@@ -0,0 +1,5 @@
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Wed, 11 Feb 2026 06:53:40 GMT
Server: Kestrel

View File

@@ -0,0 +1,5 @@
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Wed, 11 Feb 2026 06:53:40 GMT
Server: Kestrel

View File

@@ -0,0 +1,5 @@
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Wed, 11 Feb 2026 06:53:40 GMT
Server: Kestrel

View File

@@ -0,0 +1,10 @@
HTTP/1.1 200 OK
Content-Type: text/plain
Date: Wed, 11 Feb 2026 06:53:40 GMT
Server: Kestrel
Cache-Control: no-store, no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Pragma: no-cache
Transfer-Encoding: chunked
Healthy

View File

@@ -0,0 +1,93 @@

$ dotnet build src/Timeline/StellaOps.Timeline.WebService/StellaOps.Timeline.WebService.csproj -c Release --nologo
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Determinism.Abstractions -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Determinism.Abstractions\bin\Release\net10.0\StellaOps.Determinism.Abstractions.dll
StellaOps.Settings -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Settings\bin\Release\net10.0\StellaOps.Settings.dll
StellaOps.Cryptography -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography\bin\Release\net10.0\StellaOps.Cryptography.dll
StellaOps.Canonical.Json -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Canonical.Json\bin\Release\net10.0\StellaOps.Canonical.Json.dll
StellaOps.HybridLogicalClock -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.HybridLogicalClock\bin\Release\net10.0\StellaOps.HybridLogicalClock.dll
StellaOps.Router.Common -> C:\dev\New folder\git.stella-ops.org\src\Router\__Libraries\StellaOps.Router.Common\bin\Release\net10.0\StellaOps.Router.Common.dll
StellaOps.DependencyInjection -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.DependencyInjection\bin\Release\net10.0\StellaOps.DependencyInjection.dll
StellaOps.Auth.Abstractions -> C:\dev\New folder\git.stella-ops.org\src\Authority\StellaOps.Authority\StellaOps.Auth.Abstractions\bin\Release\net10.0\StellaOps.Auth.Abstractions.dll
StellaOps.Replay.Core -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Replay.Core\bin\Release\net10.0\StellaOps.Replay.Core.dll
StellaOps.Cryptography.PluginLoader -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography.PluginLoader\bin\Release\net10.0\StellaOps.Cryptography.PluginLoader.dll
StellaOps.Plugin -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Plugin\bin\Release\net10.0\StellaOps.Plugin.dll
StellaOps.AspNet.Extensions -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.AspNet.Extensions\bin\Release\net10.0\StellaOps.AspNet.Extensions.dll
StellaOps.Infrastructure.Postgres -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.Postgres\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.dll
StellaOps.Microservice -> C:\dev\New folder\git.stella-ops.org\src\Router\__Libraries\StellaOps.Microservice\bin\Release\net10.0\StellaOps.Microservice.dll
StellaOps.Cryptography.Plugin.SimRemote -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography.Plugin.SimRemote\bin\Release\net10.0\StellaOps.Cryptography.Plugin.SimRemote.dll
StellaOps.Cryptography.Plugin.OpenSslGost -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography.Plugin.OpenSslGost\bin\Release\net10.0\StellaOps.Cryptography.Plugin.OpenSslGost.dll
StellaOps.Eventing -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Eventing\bin\Release\net10.0\StellaOps.Eventing.dll
StellaOps.Cryptography.Plugin.PqSoft -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography.Plugin.PqSoft\bin\Release\net10.0\StellaOps.Cryptography.Plugin.PqSoft.dll
StellaOps.Cryptography.Plugin.SmSoft -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography.Plugin.SmSoft\bin\Release\net10.0\StellaOps.Cryptography.Plugin.SmSoft.dll
StellaOps.Cryptography.Plugin.SmRemote -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography.Plugin.SmRemote\bin\Release\net10.0\StellaOps.Cryptography.Plugin.SmRemote.dll
StellaOps.Cryptography.Plugin.WineCsp -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography.Plugin.WineCsp\bin\Release\net10.0\StellaOps.Cryptography.Plugin.WineCsp.dll
StellaOps.Cryptography.Plugin.Pkcs11Gost -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography.Plugin.Pkcs11Gost\bin\Release\net10.0\StellaOps.Cryptography.Plugin.Pkcs11Gost.dll
StellaOps.Timeline.Core -> C:\dev\New folder\git.stella-ops.org\src\Timeline\__Libraries\StellaOps.Timeline.Core\bin\Release\net10.0\StellaOps.Timeline.Core.dll
StellaOps.Cryptography.DependencyInjection -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography.DependencyInjection\bin\Release\net10.0\StellaOps.Cryptography.DependencyInjection.dll
StellaOps.Configuration -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Configuration\bin\Release\net10.0\StellaOps.Configuration.dll
StellaOps.Auth.ServerIntegration -> C:\dev\New folder\git.stella-ops.org\src\Authority\StellaOps.Authority\StellaOps.Auth.ServerIntegration\bin\Release\net10.0\StellaOps.Auth.ServerIntegration.dll
StellaOps.Timeline.WebService -> C:\dev\New folder\git.stella-ops.org\src\Timeline\StellaOps.Timeline.WebService\bin\Release\net10.0\StellaOps.Timeline.WebService.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:02.39
$ dotnet test src/Timeline/__Tests/StellaOps.Timeline.Core.Tests/StellaOps.Timeline.Core.Tests.csproj -c Release --nologo
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Aoc -> C:\dev\New folder\git.stella-ops.org\src\Aoc\__Libraries\StellaOps.Aoc\bin\Release\net10.0\StellaOps.Aoc.dll
StellaOps.Canonical.Json -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Canonical.Json\bin\Release\net10.0\StellaOps.Canonical.Json.dll
StellaOps.HybridLogicalClock -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.HybridLogicalClock\bin\Release\net10.0\StellaOps.HybridLogicalClock.dll
StellaOps.Feedser.Core -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.Core\bin\Release\net10.0\StellaOps.Feedser.Core.dll
StellaOps.Infrastructure.EfCore -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.EfCore\bin\Release\net10.0\StellaOps.Infrastructure.EfCore.dll
StellaOps.DependencyInjection -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.DependencyInjection\bin\Release\net10.0\StellaOps.DependencyInjection.dll
StellaOps.Infrastructure.Postgres -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.Postgres\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.dll
StellaOps.Cryptography -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography\bin\Release\net10.0\StellaOps.Cryptography.dll
StellaOps.Feedser.BinaryAnalysis -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.BinaryAnalysis\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.dll
StellaOps.Determinism.Abstractions -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Determinism.Abstractions\bin\Release\net10.0\StellaOps.Determinism.Abstractions.dll
StellaOps.Ingestion.Telemetry -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Ingestion.Telemetry\bin\Release\net10.0\StellaOps.Ingestion.Telemetry.dll
StellaOps.VersionComparison -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.VersionComparison\bin\Release\net10.0\StellaOps.VersionComparison.dll
StellaOps.Concelier.SourceIntel -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SourceIntel\bin\Release\net10.0\StellaOps.Concelier.SourceIntel.dll
StellaOps.Plugin -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Plugin\bin\Release\net10.0\StellaOps.Plugin.dll
StellaOps.Concelier.RawModels -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.RawModels\bin\Release\net10.0\StellaOps.Concelier.RawModels.dll
StellaOps.Replay.Core -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Replay.Core\bin\Release\net10.0\StellaOps.Replay.Core.dll
StellaOps.Scanner.ChangeTrace -> C:\dev\New folder\git.stella-ops.org\src\Scanner\__Libraries\StellaOps.Scanner.ChangeTrace\bin\Release\net10.0\StellaOps.Scanner.ChangeTrace.dll
StellaOps.Eventing -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Eventing\bin\Release\net10.0\StellaOps.Eventing.dll
StellaOps.Provenance.Attestation -> C:\dev\New folder\git.stella-ops.org\src\Provenance\StellaOps.Provenance.Attestation\bin\Release\net10.0\StellaOps.Provenance.Attestation.dll
StellaOps.Attestor.Envelope -> C:\dev\New folder\git.stella-ops.org\src\Attestor\StellaOps.Attestor.Envelope\bin\Release\net10.0\StellaOps.Attestor.Envelope.dll
StellaOps.Infrastructure.Postgres.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Infrastructure.Postgres.Testing\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.Testing.dll
StellaOps.Concelier.Models -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Models\bin\Release\net10.0\StellaOps.Concelier.Models.dll
StellaOps.Attestor.ProofChain -> C:\dev\New folder\git.stella-ops.org\src\Attestor\__Libraries\StellaOps.Attestor.ProofChain\bin\Release\net10.0\StellaOps.Attestor.ProofChain.dll
StellaOps.Messaging -> C:\dev\New folder\git.stella-ops.org\src\Router\__Libraries\StellaOps.Messaging\bin\Release\net10.0\StellaOps.Messaging.dll
StellaOps.Timeline.Core -> C:\dev\New folder\git.stella-ops.org\src\Timeline\__Libraries\StellaOps.Timeline.Core\bin\Release\net10.0\StellaOps.Timeline.Core.dll
StellaOps.Provenance -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provenance\bin\Release\net10.0\StellaOps.Provenance.dll
StellaOps.Provcache -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provcache\bin\Release\net10.0\StellaOps.Provcache.dll
StellaOps.Concelier.Normalization -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Normalization\bin\Release\net10.0\StellaOps.Concelier.Normalization.dll
StellaOps.Concelier.ProofService -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.ProofService\bin\Release\net10.0\StellaOps.Concelier.ProofService.dll
StellaOps.Concelier.Core -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Core\bin\Release\net10.0\StellaOps.Concelier.Core.dll
StellaOps.Concelier.Cache.Valkey -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Cache.Valkey\bin\Release\net10.0\StellaOps.Concelier.Cache.Valkey.dll
StellaOps.Concelier.Interest -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Interest\bin\Release\net10.0\StellaOps.Concelier.Interest.dll
StellaOps.Concelier.Merge -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Merge\bin\Release\net10.0\StellaOps.Concelier.Merge.dll
StellaOps.Concelier.SbomIntegration -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SbomIntegration\bin\Release\net10.0\StellaOps.Concelier.SbomIntegration.dll
StellaOps.Concelier.Persistence -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Persistence\bin\Release\net10.0\StellaOps.Concelier.Persistence.dll
StellaOps.Concelier.Connector.Common -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Connector.Common\bin\Release\net10.0\StellaOps.Concelier.Connector.Common.dll
StellaOps.Concelier.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Concelier.Testing\bin\Release\net10.0\StellaOps.Concelier.Testing.dll
StellaOps.Timeline.Core.Tests -> C:\dev\New folder\git.stella-ops.org\src\Timeline\__Tests\StellaOps.Timeline.Core.Tests\bin\Release\net10.0\StellaOps.Timeline.Core.Tests.dll
Run tests: 'C:\dev\New folder\git.stella-ops.org\src\Timeline\__Tests\StellaOps.Timeline.Core.Tests\bin\Release\net10.0\StellaOps.Timeline.Core.Tests.dll' [net10.0|x64]
Passed! - Failed: 0, Passed: 7, Skipped: 0, Total: 7, Duration: 246ms - StellaOps.Timeline.Core.Tests.dll (net10.0|x64)
Tests succeeded: 'C:\dev\New folder\git.stella-ops.org\src\Timeline\__Tests\StellaOps.Timeline.Core.Tests\bin\Release\net10.0\StellaOps.Timeline.Core.Tests.dll' [net10.0|x64]
$ dotnet test src/Timeline/__Tests/StellaOps.Timeline.WebService.Tests/StellaOps.Timeline.WebService.Tests.csproj -c Release --nologo --no-build
Run tests: 'C:\dev\New folder\git.stella-ops.org\src\Timeline\__Tests\StellaOps.Timeline.WebService.Tests\bin\Release\net10.0\StellaOps.Timeline.WebService.Tests.dll' [net10.0|x64]
Passed! - Failed: 0, Passed: 19, Skipped: 0, Total: 19, Duration: 1s 076ms - StellaOps.Timeline.WebService.Tests.dll (net10.0|x64)
Tests succeeded: 'C:\dev\New folder\git.stella-ops.org\src\Timeline\__Tests\StellaOps.Timeline.WebService.Tests\bin\Release\net10.0\StellaOps.Timeline.WebService.Tests.dll' [net10.0|x64]

View File

@@ -0,0 +1,17 @@
$ curl -k -s -D - "https://127.0.0.1:10240/api/v1/timeline/nonexistent-correlation-016?fromHlc=invalid-hlc&toHlc=1700000000000-node-000001"
HTTP/1.1 400 Bad Request
$ curl -k -s -D - "https://127.0.0.1:10240/api/v1/timeline/nonexistent-correlation-016"
HTTP/1.1 404 Not Found
$ curl -k -s -D - "https://127.0.0.1:10240/api/v1/timeline/nonexistent-correlation-016/critical-path"
HTTP/1.1 404 Not Found
$ curl -k -s -D - "https://127.0.0.1:10240/api/v1/timeline/export/nonexistent-export-016"
HTTP/1.1 404 Not Found
$ curl -k -s -D - "https://127.0.0.1:10240/api/v1/timeline/export/nonexistent-export-016/download"
HTTP/1.1 404 Not Found
$ curl -k -s -D - "https://127.0.0.1:10240/health"
HTTP/1.1 200 OK

View File

@@ -0,0 +1,60 @@
{
"type": "source",
"module": "timeline",
"feature": "timeline-indexer-service",
"runId": "run-016",
"capturedAtUtc": "2026-02-11T06:55:17Z",
"filesVerified": [
{
"path": "src/Timeline/__Libraries/StellaOps.Timeline.Core/TimelineQueryService.cs",
"exists": true
},
{
"path": "src/Timeline/__Libraries/StellaOps.Timeline.Core/ITimelineQueryService.cs",
"exists": true
},
{
"path": "src/Timeline/StellaOps.Timeline.WebService/Endpoints/TimelineEndpoints.cs",
"exists": true
},
{
"path": "src/Timeline/StellaOps.Timeline.WebService/Endpoints/ExportEndpoints.cs",
"exists": true
},
{
"path": "src/Timeline/__Libraries/StellaOps.Timeline.Core/Export/TimelineBundleBuilder.cs",
"exists": true
},
{
"path": "src/Timeline/__Tests/StellaOps.Timeline.Core.Tests/TimelineQueryServiceTests.cs",
"exists": true
},
{
"path": "src/Timeline/__Tests/StellaOps.Timeline.WebService.Tests/TimelineApiIntegrationTests.cs",
"exists": true
}
],
"declarationsVerified": [
{
"name": "TimelineQueryService",
"foundIn": "src/Timeline/__Libraries/StellaOps.Timeline.Core/TimelineQueryService.cs:13"
},
{
"name": "ITimelineQueryService",
"foundIn": "src/Timeline/__Libraries/StellaOps.Timeline.Core/ITimelineQueryService.cs:11"
},
{
"name": "MapTimelineEndpoints",
"foundIn": "src/Timeline/StellaOps.Timeline.WebService/Endpoints/TimelineEndpoints.cs:17"
},
{
"name": "MapExportEndpoints",
"foundIn": "src/Timeline/StellaOps.Timeline.WebService/Endpoints/ExportEndpoints.cs:18"
},
{
"name": "TimelineBundleBuilder",
"foundIn": "src/Timeline/__Libraries/StellaOps.Timeline.Core/Export/TimelineBundleBuilder.cs:19"
}
],
"verdict": "pass"
}

View File

@@ -0,0 +1,45 @@
{
"type": "build",
"module": "timeline",
"feature": "timeline-indexer-service",
"runId": "run-016",
"capturedAtUtc": "2026-02-11T06:55:17Z",
"build": {
"command": "dotnet build src/Timeline/StellaOps.Timeline.WebService/StellaOps.Timeline.WebService.csproj -c Release --nologo",
"result": "pass",
"warnings": 0,
"errors": 0
},
"tests": [
{
"command": "dotnet test src/Timeline/__Tests/StellaOps.Timeline.Core.Tests/StellaOps.Timeline.Core.Tests.csproj -c Release --nologo",
"testsRun": 7,
"testsPassed": 7,
"testsFailed": 0,
"result": "pass"
},
{
"command": "dotnet test src/Timeline/__Tests/StellaOps.Timeline.WebService.Tests/StellaOps.Timeline.WebService.Tests.csproj -c Release --nologo --no-build",
"testsRun": 19,
"testsPassed": 19,
"testsFailed": 0,
"result": "pass"
}
],
"codeReviewChecklist": {
"nonTrivialImplementationExists": true,
"logicMatchesFeatureDescription": true,
"unitAndIntegrationTestsCoverCoreBehavior": true,
"assertionsAreMeaningful": true
},
"evidence": {
"logFile": "docs/qa/feature-checks/runs/timeline/timeline-indexer-service/run-016/evidence/tier1-command-output.txt"
},
"suiteReplay": {
"command": "dotnet test src/Timeline/__Tests/StellaOps.Timeline.Core.Tests/StellaOps.Timeline.Core.Tests.csproj -c Release --nologo; dotnet test src/Timeline/__Tests/StellaOps.Timeline.WebService.Tests/StellaOps.Timeline.WebService.Tests.csproj -c Release --nologo --no-build",
"testsRun": 26,
"testsPassed": 26,
"testsFailed": 0
},
"verdict": "pass"
}

View File

@@ -0,0 +1,84 @@
{
"type": "api",
"module": "timeline",
"feature": "timeline-indexer-service",
"runId": "run-016",
"capturedAtUtc": "2026-02-11T06:55:17Z",
"baseUrl": "https://127.0.0.1:10240",
"transport": "curl -k",
"requests": [
{
"description": "Invalid fromHlc is rejected with explicit client error",
"method": "GET",
"path": "/api/v1/timeline/nonexistent-correlation-016?fromHlc=invalid-hlc&toHlc=1700000000000-node-000001",
"expectedStatus": 400,
"actualStatus": 400,
"assertion": "API boundary validates HLC format and does not return server error.",
"requestCapturedAtUtc": "2026-02-11T06:53:39Z",
"evidenceFile": "evidence/01-invalid-fromhlc.txt",
"result": "pass"
},
{
"description": "Timeline query for unknown correlation returns not found",
"method": "GET",
"path": "/api/v1/timeline/nonexistent-correlation-016",
"expectedStatus": 404,
"actualStatus": 404,
"assertion": "Indexer/query surface does not fabricate events for unknown correlation id.",
"requestCapturedAtUtc": "2026-02-11T06:53:39Z",
"evidenceFile": "evidence/02-get-nonexistent-timeline.txt",
"result": "pass"
},
{
"description": "Critical path query for unknown correlation returns not found",
"method": "GET",
"path": "/api/v1/timeline/nonexistent-correlation-016/critical-path",
"expectedStatus": 404,
"actualStatus": 404,
"assertion": "Critical-path endpoint preserves not-found semantics.",
"requestCapturedAtUtc": "2026-02-11T06:53:40Z",
"evidenceFile": "evidence/03-critical-path-nonexistent.txt",
"result": "pass"
},
{
"description": "Export status for unknown operation returns not found",
"method": "GET",
"path": "/api/v1/timeline/export/nonexistent-export-016",
"expectedStatus": 404,
"actualStatus": 404,
"assertion": "Export operation lookup is request-persistent and does not synthesize success payloads.",
"requestCapturedAtUtc": "2026-02-11T06:53:40Z",
"evidenceFile": "evidence/04-export-status-nonexistent.txt",
"result": "pass"
},
{
"description": "Export download for unknown operation returns not found",
"method": "GET",
"path": "/api/v1/timeline/export/nonexistent-export-016/download",
"expectedStatus": 404,
"actualStatus": 404,
"assertion": "Download endpoint enforces operation existence before serving bundle bytes.",
"requestCapturedAtUtc": "2026-02-11T06:53:40Z",
"evidenceFile": "evidence/05-export-download-nonexistent.txt",
"result": "pass"
},
{
"description": "Service health endpoint is reachable during timeline API replay",
"method": "GET",
"path": "/health",
"expectedStatus": 200,
"actualStatus": 200,
"assertion": "Positive API surface is reachable in the same run capture.",
"requestCapturedAtUtc": "2026-02-11T06:53:40Z",
"evidenceFile": "evidence/06-health.txt",
"result": "pass"
}
],
"suiteReplay": {
"command": "dotnet test src/Timeline/__Tests/StellaOps.Timeline.Core.Tests/StellaOps.Timeline.Core.Tests.csproj -c Release --nologo; dotnet test src/Timeline/__Tests/StellaOps.Timeline.WebService.Tests/StellaOps.Timeline.WebService.Tests.csproj -c Release --nologo --no-build",
"testsRun": 26,
"testsPassed": 26,
"testsFailed": 0
},
"verdict": "pass"
}