Files
git.stella-ops.org/docs/features/checked/graph/graph-explorer-api-with-streaming-tiles.md
2026-02-12 10:27:23 +02:00

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 ExportEndpointsAuthorizationTests and 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.