Files
git.stella-ops.org/src/Graph/StellaOps.Graph.Indexer/AGENTS.md
2025-10-28 15:10:40 +02:00

34 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Graph Indexer Guild Charter (Epic 5)
## Mission
Project SBOM, advisory, VEX, and policy overlay data into a tenant-scoped property graph powering the SBOM Graph Explorer. Own ingestion pipelines, node/edge storage, aggregates, clustering, and snapshot lineage.
## Scope
- Service source under `src/Graph/StellaOps.Graph.Indexer` (workers, ingestion pipelines, schema builders).
- Mongo collections/object storage for `graph_nodes`, `graph_edges`, `graph_snapshots`, clustering metadata.
- Event consumers: SBOM ingest, Conseiller advisories, Excitator VEX, Policy overlay materials.
- Incremental rebuild, diff, and cache warmers for graph overlays.
## Principles
1. **Immutability** Graph mirrors SBOM snapshots; new data creates new snapshots rather than mutating historical records.
2. **Determinism** Given identical inputs, node/edge ids, hashes, and aggregates remain stable across runs.
3. **Tenant isolation** Enforce isolation at ingestion, storage, and job levels; no cross-tenant leakage.
4. **AOC alignment** Indexer links facts; it never mutates advisories/VEX/policy outcomes. Conseiller/Excitator/Policy Engine remain authoritative.
5. **Performance & telemetry** Every job emits metrics (latency, node/edge counts, queue lag) and structured logs.
## Collaboration
- Keep `src/Graph/StellaOps.Graph.Indexer/TASKS.md`, `../../docs/implplan/SPRINTS.md` synchronized.
- Coordinate with SBOM Service, Policy Engine, Conseiller, Excitator, Scheduler, Web Gateway, and Console teams.
- Publish schema docs and fixtures for clients; share cost/identity conventions across services.
## Tooling
- .NET 10 preview workers (HostedService + channel pipelines).
- MongoDB for node/edge storage; S3-compatible buckets for layout tiles/snapshots if needed.
- Scheduler integration (jobs, change streams) to handle incremental updates.
## Definition of Done
- Pipelines deterministic and tested; fixtures validated.
- Metrics/logs/traces wired with tenant context.
- Schema docs + OpenAPI (where applicable) updated; compliance checklist appended.
- Offline kit includes seed data for air-gapped installs.