Archive completed sprint documentation and deliverables: ## SPRINT_3500 - Proof of Exposure (PoE) Implementation (COMPLETE ✅) - Windows filesystem hash sanitization (colon → underscore) - Namespace conflict resolution (Subgraph → PoESubgraph) - Mock test improvements with It.IsAny<>() - Direct orchestrator unit tests - 8/8 PoE tests passing (100% success) - Archived to: docs/implplan/archived/2025-12-23-sprint-3500-poe/ ## SPRINT_7100.0001 - Proof-Driven Moats Core (COMPLETE ✅) - Four-tier backport detection system - 9 production modules (4,044 LOC) - Binary fingerprinting (TLSH + instruction hashing) - VEX integration with proof-carrying verdicts - 42+ unit tests passing (100% success) - Archived to: docs/implplan/archived/2025-12-23-sprint-7100-proof-moats/ ## SPRINT_7100.0002 - Proof Moats Storage Layer (COMPLETE ✅) - PostgreSQL repository implementations - Database migrations (4 evidence tables + audit) - Test data seed scripts (12 evidence records, 3 CVEs) - Integration tests with Testcontainers - <100ms proof generation performance - Archived to: docs/implplan/archived/2025-12-23-sprint-7100-proof-moats/ ## SPRINT_3000_0200 - Authority Admin & Branding (COMPLETE ✅) - Console admin RBAC UI components - Branding editor with tenant isolation - Authority backend endpoints - Archived to: docs/implplan/archived/ ## Additional Documentation - CLI command reference and compliance guides - Module architecture docs (26 modules documented) - Data schemas and contracts - Operations runbooks - Security risk models - Product roadmap All archived sprints achieved 100% completion of planned deliverables. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1.4 KiB
1.4 KiB
Persistence and database
StellaOps uses PostgreSQL as the canonical system of record. This document summarizes the persistence rules, schema layout, and migration approach.
Principles
- Determinism first: stable ordering, UTC timestamps, canonical JSON for hashes.
- Tenant isolation: every row carries tenant_id and row level security is used.
- Gradual migration: Mongo to Postgres via a strangler approach with rollback.
- JSONB for flexibility: semi structured payloads stay JSONB; core entities are normalized.
Schema families (authoritative DDLs)
- authority, vuln, vex, scheduler, notify, policy
- packs are included with policy
- issuer and audit are staged or proposed
Operational inputs
- Config template: docs/db/persistence-config-template.yaml
- Cluster provisioning: docs/db/cluster-provisioning.md
- Local dev: docs/db/local-postgres.md
Change control and verification
- Follow rules in docs/db/RULES.md for naming, constraints, and RLS.
- Use docs/db/SPECIFICATION.md as the schema source of truth.
- Verify changes using docs/db/VERIFICATION.md before release.
Migration notes
- Conversion planning: docs/db/CONVERSION_PLAN.md
- Module phased tasks: docs/db/tasks/PHASE_*.md
- Reports and verification evidence live under docs/db/reports/
Related references
- ADR: docs/adr/0001-postgresql-for-control-plane.md
- Module architecture: docs/modules/*/architecture.md