Files
2026-02-16 07:33:20 +02:00

188 lines
8.2 KiB
JSON

{
"module": "reachgraph",
"featureCount": 9,
"lastUpdatedUtc": "2026-02-13T12:00:00Z",
"summary": {
"passed": 9,
"failed": 0,
"blocked": 0,
"skipped": 0,
"done": 9,
"queued": 0
},
"buildNote": "All 9 features verified. Two test projects: StellaOps.ReachGraph.WebService.Tests (26 passed) and StellaOps.Reachability.Core.Tests (224 passed). Total 250 tests, 0 failures. One transient FsCheck property test failure observed but not reproducible on retry.",
"features": {
"8-state-reachability-lattice": {
"status": "done",
"tier": 2,
"testProject": "src/__Libraries/__Tests/StellaOps.Reachability.Core.Tests/StellaOps.Reachability.Core.Tests.csproj",
"testsRun": 224,
"testsPassed": 224,
"testsFailed": 0,
"notes": [
"Full 8-state lattice model implemented: LatticeState enum, ReachabilityLattice state machine with FrozenDictionary transitions, ConfidenceCalculator with weighted scoring, confidence ranges per state."
],
"retryCount": 0,
"sourceVerified": true,
"buildVerified": true,
"e2eVerified": true,
"skipReason": null,
"lastRunId": null,
"lastUpdatedUtc": "2026-02-13T12:00:00Z",
"featureFile": "docs/features/checked/reachgraph/8-state-reachability-lattice.md"
},
"cve-to-symbol-mapping-service": {
"status": "done",
"tier": 2,
"testProject": "src/__Libraries/__Tests/StellaOps.Reachability.Core.Tests/StellaOps.Reachability.Core.Tests.csproj",
"testsRun": 224,
"testsPassed": 224,
"testsFailed": 0,
"notes": [
"Full CVE-symbol mapping service with CveMappingController at v1/cve-mappings. All 7 endpoints implemented: GET by CVE, GET by package, GET by symbol, POST upsert, POST analyze-patch, POST enrich, GET stats. Rate limiting and response caching in place."
],
"retryCount": 0,
"sourceVerified": true,
"buildVerified": true,
"e2eVerified": true,
"skipReason": null,
"lastRunId": null,
"lastUpdatedUtc": "2026-02-13T12:00:00Z",
"featureFile": "docs/features/checked/reachgraph/cve-to-symbol-mapping-service.md"
},
"reachability-analysis-with-call-graph-evidence": {
"status": "done",
"tier": 2,
"testProject": "src/ReachGraph/__Tests/StellaOps.ReachGraph.WebService.Tests/StellaOps.ReachGraph.WebService.Tests.csproj",
"testsRun": 26,
"testsPassed": 26,
"testsFailed": 0,
"notes": [
"ReachGraphController with slice queries returning call graph evidence. CVE slice returns CveSliceResponse with Sinks and Paths. Package/entrypoint/file slices supported. ReachabilityPath model includes hops and edges for evidence trace."
],
"retryCount": 0,
"sourceVerified": true,
"buildVerified": true,
"e2eVerified": true,
"skipReason": null,
"lastRunId": null,
"lastUpdatedUtc": "2026-02-13T12:00:00Z",
"featureFile": "docs/features/checked/reachgraph/reachability-analysis-with-call-graph-evidence.md"
},
"reachability-aware-vulnerability-analysis": {
"status": "done",
"tier": 2,
"testProject": "src/__Libraries/__Tests/StellaOps.Reachability.Core.Tests/StellaOps.Reachability.Core.Tests.csproj",
"testsRun": 224,
"testsPassed": 224,
"testsFailed": 0,
"notes": [
"Multi-layer reachability with IReachabilityIndex facade combining static (Layer 1-3) and runtime analysis. HybridReachabilityResult with lattice state, confidence, VEX recommendation. Symbol canonicalization across 4 languages (DotNet, Java, Native, Script). ReachabilityController exposes unified API at v1/reachability."
],
"retryCount": 0,
"sourceVerified": true,
"buildVerified": true,
"e2eVerified": true,
"skipReason": null,
"lastRunId": null,
"lastUpdatedUtc": "2026-02-13T12:00:00Z",
"featureFile": "docs/features/checked/reachgraph/reachability-aware-vulnerability-analysis.md"
},
"reachability-core-library-with-unified-query-interface": {
"status": "done",
"tier": 2,
"testProject": "src/ReachGraph/__Tests/StellaOps.ReachGraph.WebService.Tests/StellaOps.ReachGraph.WebService.Tests.csproj",
"testsRun": 26,
"testsPassed": 26,
"testsFailed": 0,
"notes": [
"IReachabilityIndex unified facade with QueryStaticAsync, QueryRuntimeAsync, QueryHybridAsync, QueryBatchAsync. ReachGraphStoreAdapter and InMemorySignalsAdapter bridge core library to web service. ReachabilityController at v1/reachability exposes all query types."
],
"retryCount": 0,
"sourceVerified": true,
"buildVerified": true,
"e2eVerified": true,
"skipReason": null,
"lastRunId": null,
"lastUpdatedUtc": "2026-02-13T12:00:00Z",
"featureFile": "docs/features/checked/reachgraph/reachability-core-library-with-unified-query-interface.md"
},
"reachability-fallback-mechanisms": {
"status": "done",
"tier": 2,
"testProject": "src/ReachGraph/__Tests/StellaOps.ReachGraph.WebService.Tests/StellaOps.ReachGraph.WebService.Tests.csproj",
"testsRun": 26,
"testsPassed": 26,
"testsFailed": 0,
"notes": [
"ReachGraphStoreService coordinates repository, cache, and signer. Cache-first retrieval with database fallback. Replay verification as determinism fallback. Idempotent upsert. PaginationService for large result sets."
],
"retryCount": 0,
"sourceVerified": true,
"buildVerified": true,
"e2eVerified": true,
"skipReason": null,
"lastRunId": null,
"lastUpdatedUtc": "2026-02-13T12:00:00Z",
"featureFile": "docs/features/checked/reachgraph/reachability-fallback-mechanisms.md"
},
"reachability-replay-verification": {
"status": "done",
"tier": 2,
"testProject": "src/ReachGraph/__Tests/StellaOps.ReachGraph.WebService.Tests/StellaOps.ReachGraph.WebService.Tests.csproj",
"testsRun": 26,
"testsPassed": 26,
"testsFailed": 0,
"notes": [
"ReachGraphReplayService recomputes digest from stored graph and compares. ReplayRequest/ReplayResponse with InputsVerified and Divergence. POST v1/reachgraphs/replay endpoint. NodeHashRecipe and PathHashRecipe for deterministic hashing."
],
"retryCount": 0,
"sourceVerified": true,
"buildVerified": true,
"e2eVerified": true,
"skipReason": null,
"lastRunId": null,
"lastUpdatedUtc": "2026-02-13T12:00:00Z",
"featureFile": "docs/features/checked/reachgraph/reachability-replay-verification.md"
},
"reachgraph-slice-query-rest-apis": {
"status": "done",
"tier": 2,
"testProject": "src/ReachGraph/__Tests/StellaOps.ReachGraph.WebService.Tests/StellaOps.ReachGraph.WebService.Tests.csproj",
"testsRun": 26,
"testsPassed": 26,
"testsFailed": 0,
"notes": [
"Full REST API at v1/reachgraphs with 9 endpoints: POST upsert, GET by digest (24h cache + ETag), GET slice by package/CVE/entrypoint/file, POST replay, GET by-artifact, DELETE. SliceQueryResponse and CveSliceResponse models. Cached slice computation with SHA256 keys."
],
"retryCount": 0,
"sourceVerified": true,
"buildVerified": true,
"e2eVerified": true,
"skipReason": null,
"lastRunId": null,
"lastUpdatedUtc": "2026-02-13T12:00:00Z",
"featureFile": "docs/features/checked/reachgraph/reachgraph-slice-query-rest-apis.md"
},
"static-sbom-call-graph-pruning": {
"status": "done",
"tier": 2,
"testProject": "src/__Libraries/__Tests/StellaOps.Reachability.Core.Tests/StellaOps.Reachability.Core.Tests.csproj",
"testsRun": 224,
"testsPassed": 224,
"testsFailed": 0,
"notes": [
"Static call-graph analysis determines SR or SU lattice state. SymbolCanonicalizer and SymbolMatcher for cross-language matching. ReachGraphStoreAdapter performs BFS traversal for reachability. QueryBatchAsync supports SBOM-wide pruning."
],
"retryCount": 0,
"sourceVerified": true,
"buildVerified": true,
"e2eVerified": true,
"skipReason": null,
"lastRunId": null,
"lastUpdatedUtc": "2026-02-13T12:00:00Z",
"featureFile": "docs/features/checked/reachgraph/static-sbom-call-graph-pruning.md"
}
}
}