tidaldb/.sdlc/state.yaml
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

112 lines
2.5 KiB
YAML

version: 1
project: tidalDB
active_features:
- m9-community-profile-sync
- m9-leave-revocation
- m9-retroactive-purge
- m9-purge-rematerialization
- m10-community-policy-engine
- m10-agent-capability-boundaries
- m10-signal-revocation-controls
- p0-target-segment-recruitment
- p0-concierge-pilot-loop
- p0-validation-readout
- p1-briefing-ux-reason-labels
- p1-feedback-loop-ux
- p1-quality-diversity-baseline
- pg1-personalization-correctness
- pg1-baseline-comparison
- pg1-instrumented-metrics
- p2-self-serve-onboarding
- p2-cohort-context-views
- p2-trust-controls
- p3-reliability-slos
- p3-quality-operations
- p3-launch-support-playbook
- p4-monetization-experiments
- p4-quality-safe-growth
- p4-segment-expansion-plan
active_directives: []
history:
- feature: m10-community-policy-engine
action: implement_task
phase: ready
timestamp: 2026-03-04T01:32:00.541968Z
outcome: transition
- feature: m10-community-policy-engine
action: implement_task
phase: implementation
timestamp: 2026-03-04T01:32:09.605806Z
outcome: transition
- feature: m9-purge-rematerialization
action: implement_task
phase: ready
timestamp: 2026-03-04T01:51:00.494838Z
outcome: transition
- feature: m9-community-profile-sync
action: implement_task
phase: ready
timestamp: 2026-03-04T01:51:08.235537Z
outcome: transition
- feature: m9-purge-rematerialization
action: implement_task
phase: implementation
timestamp: 2026-03-04T01:51:09.209593Z
outcome: transition
- feature: m9-community-profile-sync
action: implement_task
phase: implementation
timestamp: 2026-03-04T01:51:13.153999Z
outcome: transition
- feature: m9-retroactive-purge
action: merge
phase: released
timestamp: 2026-03-04T01:51:20.644600Z
outcome: merged
- feature: m9-community-profile-sync
action: implement_task
phase: audit
timestamp: 2026-03-04T01:52:02.724965Z
outcome: transition
- feature: m9-purge-rematerialization
action: implement_task
phase: audit
timestamp: 2026-03-04T01:52:09.001240Z
outcome: transition
- feature: m9-leave-revocation
action: merge
phase: released
timestamp: 2026-03-04T01:52:44.304271Z
outcome: merged
- feature: m10-signal-revocation-controls
action: merge
phase: released
timestamp: 2026-03-04T01:55:04.556427Z
outcome: merged
- feature: m9-community-profile-sync
action: merge
phase: released
timestamp: 2026-03-04T01:55:48.195642Z
outcome: merged
blocked: []
milestones:
- m0
- m1
- m2
- m3
- m4
- m5
- m6
- m7
- m8
- m9
- m10
- p0
- p1
- pg1
- p2
- p3
- p4
active_ponders: []
last_updated: 2026-03-04T01:55:48.195643Z