Files
git.stella-ops.org/src/ReachGraph
master ad62ba7f76 feat(signals,reachgraph,airgap,zastava): postgres runtime persistence
Cross-module truthful runtime persistence supporting the sprint_20260415
and sprint_20260416 cutovers. These modules have no single dedicated
sprint owner in the current batch, but they unblock downstream wiring
in Policy (reachability facts), ReachGraph (signals adapter), and the
air-gap controller/time services.

- Signals.Persistence: migration 003 runtime_canonical_tables; Postgres
  repos (callgraph + projection, reachability fact/store, deployment refs,
  graph metrics); DB context factory + service collection extensions.
- Signals: swap in-memory callgraph/reachability repositories for Postgres
  wired via SignalsPersistenceExtensions; durable host tests.
- ReachGraph.WebService: SignalsHttpAdapter + program wiring; host wiring +
  adapter tests.
- AirGap.Controller: service-collection extensions + infrastructure wiring;
  endpoint + startup contract tests.
- AirGap.Time: PostgresTimeAnchorStore + startup service; runtime contract
  + persistence tests.
- AirGap.Persistence: persistence extensions.
- Zastava: csproj cleanup (Observer + Core).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 14:44:57 +03:00
..

ReachGraph

Container(s): stellaops-reachgraph-web Slot: 22 | Port: 8080 | Consumer Group: reachgraph Resource Tier: light

Purpose

The ReachGraph service provides content-addressed storage and retrieval of reachability subgraphs. It stores canonical serialized reachability data with digest-based addressing, uses PostgreSQL for persistence and Valkey for caching, and supports rate-limited access for high-throughput graph queries.

API Surface

  • reachgraph (via Router) — reachability subgraph storage (PUT), retrieval by digest (GET), comparison, rate-limited queries

Storage

PostgreSQL (via ConnectionStrings:PostgreSQL); Valkey cache (via ConnectionStrings:Redis)

Background Workers

None