Skip to content

desktop/src-tauri/crates/core/tests/tiered_retention.rs

Comment 1, line 1

desktop/src-tauri/crates/core/tests/tiered_retention.rs:1

//! Tiered retention (2026-09-26 request): details, hourly, daily and week/month/year archives.

Comment 2, line 2

desktop/src-tauri/crates/core/tests/tiered_retention.rs:2

//! Store completed period rows before deleting daily rows; queries combine retained days with archives.

Comment 3, line 3

desktop/src-tauri/crates/core/tests/tiered_retention.rs:3

//! Hourly charts use persisted hourly rows after detail deletion.

Comment 4, line 112

desktop/src-tauri/crates/core/tests/tiered_retention.rs:112

// September is complete; its last day still belongs to the current ISO week.

Comment 5, line 217

desktop/src-tauri/crates/core/tests/tiered_retention.rs:217

// Equal daily cardinality, higher revision, completed month in an open week.

Comment 6, line 279

desktop/src-tauri/crates/core/tests/tiered_retention.rs:279

// The local processing marker cannot establish validity of imported future revisions.

Comment 7, line 300

desktop/src-tauri/crates/core/tests/tiered_retention.rs:300

// Use completed 2025-12-15 week/month/year plus current-week 09-22/09-25.

Comment 8, line 301

desktop/src-tauri/crates/core/tests/tiered_retention.rs:301

// Ongoing week/month/year starts are protected: today 2026-09-26 protects 2026-01-01 onward.

Comment 9, line 302

desktop/src-tauri/crates/core/tests/tiered_retention.rs:302

// Use 2025 history to exercise daily deletion; see the module's protection rules.

Comment 10, line 324

desktop/src-tauri/crates/core/tests/tiered_retention.rs:324

// Retain details one day, hours two days, days three days, with longer week/month archives.

Comment 11, line 335

desktop/src-tauri/crates/core/tests/tiered_retention.rs:335

// All events precede the detail cutoff at today's start and are deleted.

Comment 12, line 342

desktop/src-tauri/crates/core/tests/tiered_retention.rs:342

// Delete hours before 09-25: remove 2025-12-15/09-22, retain 09-25.

Comment 13, line 352

desktop/src-tauri/crates/core/tests/tiered_retention.rs:352

// Daily cutoff is 09-24; year protection from 2026-01-01 leaves only 2025-12-15 deleted.

Comment 14, line 366

desktop/src-tauri/crates/core/tests/tiered_retention.rs:366

// Store one 2025 row per week/month/year (one call, 110 tokens). Ongoing current periods

Comment 15, line 367

desktop/src-tauri/crates/core/tests/tiered_retention.rs:367

// use protected daily rows instead of stored period rows.

Comment 16, line 380

desktop/src-tauri/crates/core/tests/tiered_retention.rs:380

// Cross-year weekly queries combine the archived 2025-12-15 week with daily 2026-09-21 week.

Comment 17, line 395

desktop/src-tauri/crates/core/tests/tiered_retention.rs:395

// Repeated retention adds no usage; deleted 2025 days cannot be rematerialized, so archives stay.

Comment 18, line 396

desktop/src-tauri/crates/core/tests/tiered_retention.rs:396

// Existing 2026 days belong to ongoing periods, giving materialized=0.

Comment 19, line 491

desktop/src-tauri/crates/core/tests/tiered_retention.rs:491

// Details may outlive hourly rows; this redundancy loses no data.

Comment 20, line 498

desktop/src-tauri/crates/core/tests/tiered_retention.rs:498

// Coarser summaries cannot have a shorter retention range than finer summaries.

Comment 21, line 508

desktop/src-tauri/crates/core/tests/tiered_retention.rs:508

// Use an in-memory database while testing rejection of an invalid policy.