8.0 KiB
8.0 KiB
Graph Explorer API with Streaming Tiles
Module
Graph
Status
VERIFIED
Description
Graph query and visualization API providing streaming tile-based graph rendering, path queries, diff computation between graph revisions, RBAC-enforced exports (SVG/PNG/GraphML), and overlay support for policy/VEX/reachability annotations.
Implementation Details
- API program:
src/Graph/StellaOps.Graph.Api/Program.cs-- minimal API endpoints for graph queries, diffs, exports, search, paths, lineage, overlays - Query service:
src/Graph/StellaOps.Graph.Api/Services/IGraphQueryService.cs,InMemoryGraphQueryService.cs-- graph node/edge query - Search service:
src/Graph/StellaOps.Graph.Api/Services/IGraphSearchService.cs,InMemoryGraphSearchService.cs-- full-text graph search - Path service:
src/Graph/StellaOps.Graph.Api/Services/IGraphPathService.cs,InMemoryGraphPathService.cs-- graph path traversal - Diff service:
src/Graph/StellaOps.Graph.Api/Services/IGraphDiffService.cs,InMemoryGraphDiffService.cs-- diff computation between graph revisions - Export service:
src/Graph/StellaOps.Graph.Api/Services/IGraphExportService.cs,InMemoryGraphExportService.cs-- RBAC-enforced export (SVG/PNG/GraphML) - Lineage service:
src/Graph/StellaOps.Graph.Api/Services/IGraphLineageService.cs,InMemoryGraphLineageService.cs-- lineage traversal - Overlay service:
src/Graph/StellaOps.Graph.Api/Services/IOverlayService.cs,InMemoryOverlayService.cs-- policy/VEX/reachability overlays - Reachability delta:
src/Graph/StellaOps.Graph.Api/Services/IReachabilityDeltaService.cs,InMemoryReachabilityDeltaService.cs-- reachability delta computation - Rate limiting:
src/Graph/StellaOps.Graph.Api/Services/RateLimiterService.cs-- API rate limiting - Metrics:
src/Graph/StellaOps.Graph.Api/Services/GraphMetrics.cs-- Prometheus-compatible API metrics - Audit:
src/Graph/StellaOps.Graph.Api/Services/IAuditLogger.cs-- audit logging for graph access - Contracts:
src/Graph/StellaOps.Graph.Api/Contracts/SearchContracts.cs,LineageContracts.cs,ReachabilityContracts.cs - Tests:
src/Graph/__Tests/StellaOps.Graph.Api.Tests/-- QueryServiceTests, SearchServiceTests, PathServiceTests, DiffServiceTests, ExportServiceTests, LineageServiceTests, LoadTests, MetricsTests, RateLimiterServiceTests, GraphApiContractTests - Source: SPRINT_0207_0001_0001_graph.md
E2E Test Plan
- Verify graph query API returns nodes and edges for given criteria
- Test streaming tile rendering for large graphs
- Verify diff computation between two graph revisions
- Test RBAC-enforced export in SVG/PNG/GraphML formats
- Verify overlay annotations for policy/VEX/reachability layers
- Test search API returns relevant results with ranking
Verification
- Run ID: run-001
- Date: 2026-02-09T16:00:00Z
- Tier: 1 (Build + Test)
- Result: PASS
- Evidence: Graph.Api.Tests 47/52 pass (5 failures are in EdgeMetadataServiceTests, a different feature area). All source files verified (33/33).
Tier 2 Recheck (API Behavior)
- Run ID: run-002
- Date: 2026-02-10T11:45:00Z
- Tier: 2 (End-to-end API verification)
- Result: PASS
- Evidence: Export/download path revalidated with tenant/auth/scope checks and download job persistence across requests. Added
ExportEndpointsAuthorizationTestsand confirmed live API behavior. Tier 2 artifact:docs/qa/feature-checks/runs/graph/graph-explorer-api-with-streaming-tiles/run-002/tier2-api-check.json.
Recheck (Run-005)
- Verified: 2026-02-10
- Method: Tier 2a API replay validated via Graph.Api integration suite.
- Tests: PASS (
src/Graph/__Tests/StellaOps.Graph.Api.Tests: 66/66). - Tier 2 Evidence:
docs/qa/feature-checks/runs/graph/graph-explorer-api-with-streaming-tiles/run-005/tier2-api-check.json - Outcome: Explorer/export API behavior remains healthy.
Recheck (Run-006)
- Verified: 2026-02-10
- Method: Tier 2 replay validated via Graph API/indexer suites.
- Tests: PASS (src/Graph/__Tests/StellaOps.Graph.Api.Tests: 66/66; src/Graph/__Tests/StellaOps.Graph.Indexer.Tests: 37/37; src/Graph/__Tests/StellaOps.Graph.Indexer.Persistence.Tests: 17/17).
- Tier 2 Evidence: docs/qa/feature-checks/runs/graph/graph-explorer-api-with-streaming-tiles/run-006/tier2-api-check.json
- Outcome: Explorer/export API behavior remains healthy with authenticated data-path responses.
Recheck (Run-007)
- Verified: 2026-02-10
- Method: Tier 2 replay validated via Graph API/indexer suites.
- Tests: PASS (src/Graph/__Tests/StellaOps.Graph.Api.Tests: 66/66; src/Graph/__Tests/StellaOps.Graph.Indexer.Tests: 37/37; src/Graph/__Tests/StellaOps.Graph.Indexer.Persistence.Tests: 17/17).
- Tier 2 Evidence: docs/qa/feature-checks/runs/graph/graph-explorer-api-with-streaming-tiles/run-007/tier2-api-check.json
- Outcome: Explorer/export API behavior remains healthy with authenticated data-path responses.
Recheck (Run-008)
- Verified: 2026-02-10
- Method: Tier 2 replay validated via Graph API/indexer suites.
- Tests: PASS (src/Graph/__Tests/StellaOps.Graph.Api.Tests: 66/66; src/Graph/__Tests/StellaOps.Graph.Indexer.Tests: 37/37; src/Graph/__Tests/StellaOps.Graph.Indexer.Persistence.Tests: 17/17).
- Tier 2 Evidence: docs/qa/feature-checks/runs/graph/graph-explorer-api-with-streaming-tiles/run-008/tier2-api-check.json
- Outcome: Explorer/export API behavior remains healthy with authenticated data-path responses.
Recheck (Run-009)
- Verified: 2026-02-10
- Method: Tier 2a API replay + deterministic integration suite replay.
- Tests: PASS (Graph.Api.Tests 66/66, Graph.Indexer.Tests 37/37, Graph.Indexer.Persistence.Tests 17/17).
- Tier 2 Evidence: docs/qa/feature-checks/runs/graph/graph-explorer-api-with-streaming-tiles/run-009/tier2-api-check.json
- Outcome: Checked Graph behavior remains healthy in continued replay.
Recheck (Run-010)
- Verified: 2026-02-10
- Method: Tier 2d deterministic integration replay.
- Tests: PASS (Graph Api 66/66, Indexer 37/37, Indexer.Persistence 17/17; total 120/120).
- Tier 2 Evidence: docs/qa/feature-checks/runs/graph/graph-explorer-api-with-streaming-tiles/run-010/tier2-integration-check.json
- Outcome: Checked graph behavior remains healthy in continued replay.
Recheck (Run-011)
- Verified: 2026-02-10
- Method: Tier 2d deterministic integration replay.
- Tests: PASS (Graph Api 66/66, Indexer 37/37, Indexer.Persistence 17/17; total 120/120).
- Tier 2 Evidence: docs/qa/feature-checks/runs/graph/graph-explorer-api-with-streaming-tiles/run-011/tier2-integration-check.json
- Outcome: Checked graph behavior remains healthy in continued replay.
Recheck (Run-012)
- Verified: 2026-02-10
- Method: Tier 2 replay + deterministic Graph suite replay.
- Tests: PASS (Graph.Api 66/66, Graph.Indexer 37/37, Graph.Indexer.Persistence 17/17; total 120/120).
- Tier 2 Evidence: docs/qa/feature-checks/runs/graph/graph-explorer-api-with-streaming-tiles/run-012/tier2-api-check.json
- Outcome: Checked graph behavior remains healthy in continued replay.
Recheck (Run-013)
- Verified: 2026-02-10
- Method: Tier 2d deterministic integration replay with fresh command-output evidence.
- Tests: PASS (Graph matrix 120/120: Api 66, Indexer 37, Indexer.Persistence 17.)
- Tier 2 Evidence: docs/qa/feature-checks/runs/graph/graph-explorer-api-with-streaming-tiles/run-013/tier2-integration-check.json
- Outcome: Checked Graph behavior remains healthy in continued replay.
Recheck (Run-016)
- Verified: 2026-02-11
- Method: Strict Tier 2 API replay for search/query/export/download explorer flows with tenant-isolation negatives.
- Tests: PASS (
src/Graph/StellaOps.Graph.sln: 120/120). - Tier 2 Evidence: docs/qa/feature-checks/runs/graph/graph-explorer-api-with-streaming-tiles/run-016/tier2-api-check.json
- Outcome: Fresh live transactions verify streaming tile responses and export artifact retrieval while preserving tenant guards.