Some checks failed
Signals CI & Image / signals-ci (push) Has been cancelled
Signals Reachability Scoring & Events / reachability-smoke (push) Has been cancelled
Signals Reachability Scoring & Events / sign-and-upload (push) Has been cancelled
Manifest Integrity / Validate Schema Integrity (push) Has been cancelled
Manifest Integrity / Validate Contract Documents (push) Has been cancelled
Manifest Integrity / Validate Pack Fixtures (push) Has been cancelled
Manifest Integrity / Audit SHA256SUMS Files (push) Has been cancelled
Manifest Integrity / Verify Merkle Roots (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
30 lines
2.3 KiB
Markdown
30 lines
2.3 KiB
Markdown
# Graph Indexer packaging (Runtime & Signals 140.A)
|
|
|
|
## Deployment overlays
|
|
- Helm/Compose should expose two timers for analytics: `GRAPH_ANALYTICS_CLUSTER_INTERVAL` and `GRAPH_ANALYTICS_CENTRALITY_INTERVAL` (ISO-8601 duration, default 5m). Map to `GraphAnalyticsOptions`.
|
|
- Change-stream/backfill worker toggles via `GRAPH_CHANGE_POLL_INTERVAL`, `GRAPH_BACKFILL_INTERVAL`, `GRAPH_CHANGE_MAX_RETRIES`, `GRAPH_CHANGE_RETRY_BACKOFF`.
|
|
- Storage: current build uses in-memory graph storage (Mongo dependency removed). Reserve `GRAPH_STORAGE_CONNECTION` and `GRAPH_STORAGE_DB` for the upcoming Postgres-backed provider.
|
|
|
|
## Offline kit alignment
|
|
- Cluster/centrality overlays are exportable alongside `nodes.jsonl`/`edges.jsonl`; keep under `artifacts/graph-snapshots/{snapshotId}/overlays/` for air-gapped imports.
|
|
- Seed bundle layout:
|
|
- `clusters.ndjson` — overlay records (one per node) matching `graph_cluster_overlays` schema.
|
|
- `centrality.ndjson` — overlay records with `degree`/`betweenness`.
|
|
- `manifest.json` — references snapshot manifest hash and run timestamps.
|
|
- Determinism: overlays ordered by `node_id` (ordinal) to keep bundle hashes stable.
|
|
|
|
## Observability hooks
|
|
- Metrics (Meter `StellaOps.Graph.Indexer`):
|
|
- `graph_analytics_runs_total`, `graph_analytics_failures_total`, `graph_analytics_duration_seconds`, `graph_analytics_clusters_total`, `graph_analytics_centrality_total`.
|
|
- `graph_changes_total`, `graph_backfill_total`, `graph_change_failures_total`, `graph_change_lag_seconds`.
|
|
- Recommended alerts: lag > 5m, failures > 0 over 10m window, cluster job duration > 2m.
|
|
|
|
## Configuration defaults
|
|
- Cluster/centrality intervals: 5 minutes; label-propagation iterations: 6; betweenness sample size: 12.
|
|
- Change stream: poll every 5s, backfill every 15m, max retries 3 with 3s backoff, batch size 256.
|
|
- Overlay exports: clusters/centrality written to `overlays/clusters.ndjson` and `overlays/centrality.ndjson` with manifest; ordered by `node_id` for deterministic bundle hashes.
|
|
|
|
## Notes
|
|
- Analytics writes are idempotent (upserts keyed on tenant+snapshot+node_id). Change-stream processing is idempotent via sequence tokens persisted in the in-memory `IIdempotencyStore` until a durable store is delivered.
|
|
- Keep Helm/Compose values in sync with these defaults when publishing the Runtime & Signals 140.A bundle.
|