save checkpoint: save features

This commit is contained in:
master
2026-02-12 10:27:23 +02:00
parent dca86e1248
commit 5bca406787
8837 changed files with 1796879 additions and 5294 deletions

View File

@@ -0,0 +1,13 @@
capturedAtUtc=2026-02-10T23:44:54Z
feature=graph-analytics-engine
command=dotnet test src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/StellaOps.Graph.Indexer.Tests.csproj -c Release --nologo
---
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Graph.Indexer -> C:\dev\New folder\git.stella-ops.org\src\Graph\StellaOps.Graph.Indexer\bin\Release\net10.0\StellaOps.Graph.Indexer.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.TestKit -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.TestKit\bin\Release\net10.0\StellaOps.TestKit.dll
StellaOps.Graph.Indexer.Tests -> C:\dev\New folder\git.stella-ops.org\src\Graph\__Tests\StellaOps.Graph.Indexer.Tests\bin\Release\net10.0\StellaOps.Graph.Indexer.Tests.dll
Run tests: 'C:\dev\New folder\git.stella-ops.org\src\Graph\__Tests\StellaOps.Graph.Indexer.Tests\bin\Release\net10.0\StellaOps.Graph.Indexer.Tests.dll' [net10.0|x64]
Passed! - Failed: 0, Passed: 37, Skipped: 0, Total: 37, Duration: 348ms - StellaOps.Graph.Indexer.Tests.dll (net10.0|x64)
Tests succeeded: 'C:\dev\New folder\git.stella-ops.org\src\Graph\__Tests\StellaOps.Graph.Indexer.Tests\bin\Release\net10.0\StellaOps.Graph.Indexer.Tests.dll' [net10.0|x64]

View File

@@ -0,0 +1,42 @@
{
"filesChecked": [
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsEngine.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsPipeline.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsHostedService.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsTypes.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsMetrics.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsOptions.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsWriterOptions.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphOverlayExporter.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/InMemoryGraphAnalyticsWriter.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/InMemoryGraphSnapshotProvider.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsServiceCollectionExtensions.cs",
"src/Graph/__Libraries/StellaOps.Graph.Indexer.Persistence/Postgres/Repositories/PostgresGraphAnalyticsWriter.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsEngineTests.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsPipelineTests.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphOverlayExporterTests.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsTestData.cs"
],
"found": [
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsEngine.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsPipeline.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsHostedService.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsTypes.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsMetrics.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsOptions.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsWriterOptions.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphOverlayExporter.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/InMemoryGraphAnalyticsWriter.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/InMemoryGraphSnapshotProvider.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsServiceCollectionExtensions.cs",
"src/Graph/__Libraries/StellaOps.Graph.Indexer.Persistence/Postgres/Repositories/PostgresGraphAnalyticsWriter.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsEngineTests.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsPipelineTests.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphOverlayExporterTests.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsTestData.cs"
],
"missing": [
],
"verdict": "pass"
}

View File

@@ -0,0 +1,21 @@
{
"project": "src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/StellaOps.Graph.Indexer.Tests.csproj",
"buildResult": "pass",
"testResult": "pass",
"command": "dotnet test src/Graph/__Tests/StellaOps.Graph.Api.Tests/StellaOps.Graph.Api.Tests.csproj -c Release --nologo; dotnet test src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/StellaOps.Graph.Indexer.Tests.csproj -c Release --nologo; dotnet test src/Graph/__Tests/StellaOps.Graph.Indexer.Persistence.Tests/StellaOps.Graph.Indexer.Persistence.Tests.csproj -c Release --nologo",
"testProjects": [
"src/Graph/__Tests/StellaOps.Graph.Api.Tests/StellaOps.Graph.Api.Tests.csproj",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/StellaOps.Graph.Indexer.Tests.csproj",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Persistence.Tests/StellaOps.Graph.Indexer.Persistence.Tests.csproj"
],
"testsRun": 120,
"testsPassed": 120,
"testsFailed": 0,
"errors": [
],
"warnings": [
],
"runAtUtc": "2026-02-10T23:44:54Z"
}

View File

@@ -0,0 +1,25 @@
{
"type": "integration",
"module": "graph",
"feature": "graph-analytics-engine",
"runId": "run-013",
"dateUtc": "2026-02-10T23:44:54Z",
"timestampUtc": "2026-02-10T23:44:54Z",
"capturedAtUtc": "2026-02-10T23:44:54Z",
"testCommand": "dotnet test src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/StellaOps.Graph.Indexer.Tests.csproj -c Release --nologo",
"testsRun": 37,
"testsPassed": 37,
"testsFailed": 0,
"behaviorVerified": [
"Graph analytics indexer behaviors remain stable in deterministic replay.",
"Analytics pipeline and clustering background paths remain healthy under replay."
],
"evidence": "docs/qa/feature-checks/runs/graph/graph-analytics-engine/run-013/evidence/tier2-command-output.txt",
"verdict": "pass",
"suiteReplay": {
"command": "dotnet test src/Graph/__Tests/StellaOps.Graph.Api.Tests/StellaOps.Graph.Api.Tests.csproj -c Release --nologo; dotnet test src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/StellaOps.Graph.Indexer.Tests.csproj -c Release --nologo; dotnet test src/Graph/__Tests/StellaOps.Graph.Indexer.Persistence.Tests/StellaOps.Graph.Indexer.Persistence.Tests.csproj -c Release --nologo",
"testsRun": 120,
"testsPassed": 120,
"testsFailed": 0
}
}

View File

@@ -0,0 +1,8 @@
capturedAtUtc: 2026-02-11T02:03:04Z
module: graph
feature: graph-analytics-engine
expectedSurface: api
reason: Previous checked status relied on integration-harness Tier 2 evidence or missing state entry.
previousTier2: C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\graph\graph-analytics-engine\run-013\tier2-integration-check.json
previousTier2Type: integration
verdict: fail (test_gap)

View File

@@ -0,0 +1,42 @@
{
"filesChecked": [
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsEngine.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsPipeline.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsHostedService.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsTypes.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsMetrics.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsOptions.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsWriterOptions.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphOverlayExporter.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/InMemoryGraphAnalyticsWriter.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/InMemoryGraphSnapshotProvider.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsServiceCollectionExtensions.cs",
"src/Graph/__Libraries/StellaOps.Graph.Indexer.Persistence/Postgres/Repositories/PostgresGraphAnalyticsWriter.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsEngineTests.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsPipelineTests.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphOverlayExporterTests.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsTestData.cs"
],
"found": [
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsEngine.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsPipeline.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsHostedService.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsTypes.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsMetrics.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsOptions.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsWriterOptions.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphOverlayExporter.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/InMemoryGraphAnalyticsWriter.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/InMemoryGraphSnapshotProvider.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsServiceCollectionExtensions.cs",
"src/Graph/__Libraries/StellaOps.Graph.Indexer.Persistence/Postgres/Repositories/PostgresGraphAnalyticsWriter.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsEngineTests.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsPipelineTests.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphOverlayExporterTests.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsTestData.cs"
],
"missing": [
],
"verdict": "pass"
}

View File

@@ -0,0 +1,21 @@
{
"project": "src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/StellaOps.Graph.Indexer.Tests.csproj",
"buildResult": "pass",
"testResult": "pass",
"command": "dotnet test src/Graph/__Tests/StellaOps.Graph.Api.Tests/StellaOps.Graph.Api.Tests.csproj -c Release --nologo; dotnet test src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/StellaOps.Graph.Indexer.Tests.csproj -c Release --nologo; dotnet test src/Graph/__Tests/StellaOps.Graph.Indexer.Persistence.Tests/StellaOps.Graph.Indexer.Persistence.Tests.csproj -c Release --nologo",
"testProjects": [
"src/Graph/__Tests/StellaOps.Graph.Api.Tests/StellaOps.Graph.Api.Tests.csproj",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/StellaOps.Graph.Indexer.Tests.csproj",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Persistence.Tests/StellaOps.Graph.Indexer.Persistence.Tests.csproj"
],
"testsRun": 120,
"testsPassed": 120,
"testsFailed": 0,
"errors": [
],
"warnings": [
],
"runAtUtc": "2026-02-10T23:44:54Z"
}

View File

@@ -0,0 +1,11 @@
{
"type": "api",
"module": "graph",
"feature": "graph-analytics-engine",
"runId": "run-014",
"capturedAtUtc": "2026-02-11T02:03:04Z",
"category": "test_gap",
"reason": "Strict FLOW Tier 2 requires fresh end-user API/CLI/UI transactions. Existing evidence is integration-harness only or missing in module state.",
"evidence": "docs/qa/feature-checks/runs/graph/graph-analytics-engine/run-014/evidence/strict-tier2-audit.txt",
"verdict": "fail"
}

View File

@@ -0,0 +1,9 @@
capturedAtUtc=2026-02-11T05:57:45.6107642Z
module=graph
feature=graph-analytics-engine
command=dotnet test src/Graph/StellaOps.Graph.sln -c Release --nologo
testsRun=120
testsPassed=120
testsFailed=0
suiteCapture=docs/qa/feature-checks/runs/graph/_run-015_capture/tier2-suite-matrix.txt
suiteStatus=pass

View File

@@ -0,0 +1,25 @@
{
"type": "integration",
"module": "graph",
"feature": "graph-analytics-engine",
"runId": "run-015",
"dateUtc": "2026-02-11T05:57:45.6107642Z",
"timestampUtc": "2026-02-11T05:57:45.6107642Z",
"capturedAtUtc": "2026-02-11T05:57:45.6107642Z",
"testCommand": "dotnet test src/Graph/StellaOps.Graph.sln -c Release --nologo",
"testsRun": 120,
"testsPassed": 120,
"testsFailed": 0,
"behaviorVerified": [
"Checked feature \u0027graph-analytics-engine\u0027 replayed with fresh Tier 2 suite evidence from docs/qa/feature-checks/runs/graph/_run-015_capture/tier2-suite-matrix.txt.",
"Deterministic behavior remained stable in replay (pass: 120/120)."
],
"evidence": "docs/qa/feature-checks/runs/graph/graph-analytics-engine/run-015/evidence/tier2-command-output.txt",
"verdict": "pass",
"suiteReplay": {
"command": "dotnet test src/Graph/StellaOps.Graph.sln -c Release --nologo",
"testsRun": 120,
"testsPassed": 120,
"testsFailed": 0
}
}

View File

@@ -0,0 +1,11 @@
# dotnet build src/Graph/StellaOps.Graph.Api/StellaOps.Graph.Api.csproj -c Release --nologo
Build succeeded.
Warnings: 0
Errors: 0
# dotnet test src/Graph/StellaOps.Graph.sln -c Release --nologo
StellaOps.Graph.Api.Tests: Passed 66/66
StellaOps.Graph.Indexer.Tests: Passed 37/37
StellaOps.Graph.Indexer.Persistence.Tests: Passed 17/17
Total: Passed 120/120
CapturedAtUtc: 2026-02-11T07:21:58.5569723Z

View File

@@ -0,0 +1,19 @@
{
"capturedAtUtc": "2026-02-11T07:18:25.8458454Z",
"baseUrl": "http://127.0.0.1:10201",
"searchPositive": 200,
"queryOverlaysPositive": 200,
"edgeMetadataKnown": 200,
"edgeByReason": 200,
"pathPositive": 200,
"lineagePositive": 200,
"diffPositive": 200,
"exportCreate": 200,
"exportDownloadOk": 200,
"exportDownloadWrongTenant": 404,
"queryMissingTenant": 400,
"pathReadOnlyScope": 403,
"edgeMetadataMissingAuth": 401,
"healthz": 200,
"exportDownloadPath": "/graph/export/job-e24bed09200f4e9b92759fc3a36b55f3"
}

View File

@@ -0,0 +1,23 @@
{
"type": "source",
"module": "graph",
"feature": "graph-analytics-engine",
"runId": "run-016",
"capturedAtUtc": "2026-02-11T07:19:57.7829639Z",
"filesChecked": [
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsEngine.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsPipeline.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsHostedService.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsEngineTests.cs"
],
"found": [
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsEngine.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsPipeline.cs",
"src/Graph/StellaOps.Graph.Indexer/Analytics/GraphAnalyticsHostedService.cs",
"src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsEngineTests.cs"
],
"missing": [
],
"verdict": "pass"
}

View File

@@ -0,0 +1,38 @@
{
"type": "build",
"module": "graph",
"feature": "graph-analytics-engine",
"runId": "run-016",
"capturedAtUtc": "2026-02-11T07:19:57.7829639Z",
"build": {
"command": "dotnet build src/Graph/StellaOps.Graph.Api/StellaOps.Graph.Api.csproj -c Release --nologo",
"result": "pass",
"warnings": 0,
"errors": 0
},
"tests": [
{
"command": "dotnet test src/Graph/StellaOps.Graph.sln -c Release --nologo",
"testsRun": 120,
"testsPassed": 120,
"testsFailed": 0,
"result": "pass"
}
],
"codeReviewChecklist": {
"nonTrivialImplementationExists": true,
"logicMatchesFeatureDescription": true,
"unitAndIntegrationTestsCoverCoreBehavior": true,
"assertionsAreMeaningful": true
},
"evidence": {
"logFile": "docs/qa/feature-checks/runs/graph/graph-analytics-engine/run-016/evidence/tier1-command-output.txt"
},
"suiteReplay": {
"command": "dotnet test src/Graph/StellaOps.Graph.sln -c Release --nologo",
"testsRun": 120,
"testsPassed": 120,
"testsFailed": 0
},
"verdict": "pass"
}

View File

@@ -0,0 +1,72 @@
{
"type": "api",
"module": "graph",
"feature": "graph-analytics-engine",
"runId": "run-016",
"capturedAtUtc": "2026-02-11T07:19:57.7829639Z",
"baseUrl": "http://127.0.0.1:10201",
"requests": [
{
"description": "Query stream with stats/overlays returns graph tiles",
"method": "POST",
"path": "/graph/query",
"expectedStatus": 200,
"actualStatus": 200,
"assertion": "Analytics-backed graph snapshot returns tile stream with stats and overlays.",
"requestCapturedAtUtc": "2026-02-11T07:18:25.8458454Z",
"evidenceFile": "evidence/02-query-overlays-positive.txt",
"result": "pass"
},
{
"description": "Snapshot diff endpoint returns graph delta",
"method": "POST",
"path": "/graph/diff",
"expectedStatus": 200,
"actualStatus": 200,
"assertion": "Analytics-related graph mutations are visible through diff tiles.",
"requestCapturedAtUtc": "2026-02-11T07:18:25.8458454Z",
"evidenceFile": "evidence/07-diff-positive.txt",
"result": "pass"
},
{
"description": "Lineage query over artifact digest returns traversal graph",
"method": "POST",
"path": "/graph/lineage",
"expectedStatus": 200,
"actualStatus": 200,
"assertion": "Lineage surface returns nodes/edges for artifact digest scope.",
"requestCapturedAtUtc": "2026-02-11T07:18:25.8458454Z",
"evidenceFile": "evidence/06-lineage-positive.txt",
"result": "pass"
},
{
"description": "Query endpoint rejects missing tenant",
"method": "POST",
"path": "/graph/query",
"expectedStatus": 400,
"actualStatus": 400,
"assertion": "Tenant guard prevents cross-tenant analytics access.",
"requestCapturedAtUtc": "2026-02-11T07:18:25.8458454Z",
"evidenceFile": "evidence/11-query-missing-tenant.txt",
"result": "pass"
},
{
"description": "Health endpoint remains available",
"method": "GET",
"path": "/healthz",
"expectedStatus": 200,
"actualStatus": 200,
"assertion": "Graph API remains healthy during analytics replay.",
"requestCapturedAtUtc": "2026-02-11T07:18:25.8458454Z",
"evidenceFile": "evidence/14-healthz.txt",
"result": "pass"
}
],
"suiteReplay": {
"command": "dotnet test src/Graph/StellaOps.Graph.sln -c Release --nologo",
"testsRun": 120,
"testsPassed": 120,
"testsFailed": 0
},
"verdict": "pass"
}