ReachGraph

MERGED INTO GRAPH — the standalone service is gone (2026-09-08). reachgraph-web was a deployable of its own until SPRINT_20260722_023 GRA-10 deleted src/ReachGraph/, its compose service block, its publish key and its services-matrix row. The capability was not withdrawn: GRA-4 lifted the HTTP surface into src/Graph/__Libraries/StellaOps.ReachGraph.Application, GRA-9 composed it onto graph-api and proved it live, and the reachgraph.stella-ops.local alias now resolves to graph-api. Read the routes, hosting and deployment story in docs/modules/graph/architecture.md; the reachability model, schemas and guides below remain current and are owned by the Graph family.

Unified store for reachability subgraphs with edge-level explainability.

Audience: Policy authors and reachability consumers (Console, CLI, ExportCenter) who need to query and prove “exactly why a dependency is reachable,” and engineers populating the store from Scanner and Signals.

Purpose

The ReachGraph module provides a unified store for reachability subgraphs, enabling fast, deterministic, audit-ready answers to “exactly why a dependency is reachable.” It consolidates data from Scanner, Signals, and Attestor into content-addressed artifacts with edge-level explainability.

Status

AttributeValue
MaturityProduction
Last Reviewed2026-05-29
MaintainerScanner Guild, Signals Guild

Key Features

Dependencies

Upstream (this module depends on)

Downstream (modules that depend on this)

API Endpoints

Store API (ReachGraphController):

Unified reachability query API (ReachabilityController):

CVE-symbol mapping API (CveMappingController):

All controllers are versioned under v1/.... Since SPRINT_20260904_003 ROA-7 these routes are served through the gateway by graph-api, not by this host. graph-api composes the same StellaOps.ReachGraph.Application controllers and owns the reachability CAS in stellaops_graph; reachgraph-web sets Router__Enabled: "false" and no longer registers with the Router, because two publishers of one prefix made the answering host vary per request. This host still serves the same controllers on its DIRECT reachgraph.stella-ops.local alias until SPRINT_20260722_023 GRA-10 retires it. It also exposes anonymous GET /healthz (liveness) and GET /readyz (readiness) probes plus a build-info endpoint.

See architecture.md for full endpoint, schema, and persistence detail.

Authentication & Authorization

Persistence