- Fix namespace conflicts (Subgraph → PoESubgraph) - Add hash sanitization for Windows filesystem (colon → underscore) - Update all test mocks to use It.IsAny<>() - Add direct orchestrator unit tests - All 8 PoE tests now passing (100% success rate) - Complete SPRINT_3500_0001_0001 documentation Fixes compilation errors and Windows filesystem compatibility issues. Tests: 8/8 passing Files: 8 modified, 1 new test, 1 completion report 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1.6 KiB
1.6 KiB
Architecture workflows
Advisory and VEX ingestion (AOC)
- Concelier and Excititor fetch upstream documents.
- AOC guards validate provenance and append-only rules.
- Raw facts are stored in PostgreSQL without derived severity.
- Deterministic exports are produced for downstream policy evaluation.
Scan and report
- CLI or API submits an image digest or SBOM.
- Scanner Worker analyzes layers and produces SBOM fragments.
- Scanner Web composes inventory and usage SBOMs and runs diffs.
- Policy Engine evaluates findings against advisories and VEX evidence.
- Signer produces DSSE bundles; Attestor logs to Rekor when enabled.
Reachability and unknowns
- Scanner produces static call graphs.
- Zastava produces runtime facts when enabled.
- Signals computes reachability scores and unknowns pressure.
- Policy Engine incorporates reachability evidence into VEX decisions.
Scheduler re-evaluation
- Concelier and Excititor emit delta events.
- Scheduler identifies impacted images using BOM index metadata.
- Scanner Web runs analysis-only reports against existing SBOMs.
- Notify emits delta notifications to operators.
Notifications
- Scanner and Scheduler publish events to Valkey streams.
- Notify Web applies routing rules and templates.
- Notify Worker delivers to Slack, Teams, email, or webhooks.
Export and offline bundles
- Export Center creates deterministic export bundles (JSON, Trivy DB, mirror layouts).
- Offline kits package feeds, images, analyzers, and manifests for air-gapped sites.
- CLI verifies signatures and imports bundles atomically.