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
112 lines
2.5 KiB
YAML
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
|