tidaldb/.sdlc/features
jordan 6f26d03c77 feat(m9): implement purge re-materialization engine
Adds the M9 purge re-materialization feature: a WAL-replay background
engine that rebuilds community cohort aggregates for a (user, community)
pair after retroactive signal purge, restoring ranking correctness without
modifying the immutable WAL.

Key additions:
- cohort::rematerialization module: PurgeJobQueue, RematerializationEngine,
  WAL replay, atomic CohortSignalLedger swap, BLAKE3 audit log, metrics counters
- TidalDb::{submit_purge_job, purge_job_status, rematerialization_metrics}
  public API (db/rematerialization.rs)
- Engine auto-starts in persistent mode; clean shutdown before WAL teardown
- 6 integration tests in tests/m9_purge_remat.rs covering ephemeral and
  persistent modes, job lifecycle, and multi-job independence
- Split oversized files to comply with 600-line limit: db/mod.rs →
  db/from_parts.rs, entities/revocation.rs → revocation/{mod,tests}.rs,
  schema/validation/builders.rs → builders/{mod,tests}.rs,
  signals/warm.rs → warm/{mod,tests,proptests}.rs
- Fix pre-existing bootstrap errors: export AuditKind from session module,
  add overrides_rejected to SessionSnapshot deserialization
2026-03-03 19:18:16 -07:00
..
m9-community-profile-sync chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
m9-leave-revocation chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
m9-purge-rematerialization feat(m9): implement purge re-materialization engine 2026-03-03 19:18:16 -07:00
m9-retroactive-purge chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
m10-agent-capability-boundaries chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
m10-community-policy-engine chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
m10-signal-revocation-controls chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p0-concierge-pilot-loop chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p0-target-segment-recruitment chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p0-validation-readout chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p1-briefing-ux-reason-labels chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p1-feedback-loop-ux chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p1-quality-diversity-baseline chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p2-cohort-context-views chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p2-self-serve-onboarding chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p2-trust-controls chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p3-launch-support-playbook chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p3-quality-operations chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p3-reliability-slos chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p4-monetization-experiments chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p4-quality-safe-growth chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
p4-segment-expansion-plan chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
pg1-baseline-comparison chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
pg1-instrumented-metrics chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00
pg1-personalization-correctness chore: bootstrap SDLC state machine for tidalDB 2026-03-03 00:41:41 -07:00