docs: adopt lazy analytics caching
This commit is contained in:
18
docs/decisions/0012-iranian-reporting-week.md
Normal file
18
docs/decisions/0012-iranian-reporting-week.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# ADR 0012: Use Saturday-through-Friday reporting weeks
|
||||
|
||||
- Status: Accepted
|
||||
- Date: 2026-08-20
|
||||
|
||||
## Context
|
||||
|
||||
Weekly analytics require one boundary shared by PostgreSQL grouping, API filters, cache keys, comparisons, and Persian UI labels.
|
||||
|
||||
## Decision
|
||||
|
||||
Use the Iranian week in `Asia/Tehran`: Saturday is the first day and Friday is the last day. Store the Tehran-local Saturday date as the stable week key. API and query ranges use a half-open interval from Saturday `00:00` inclusive to the following Saturday `00:00` exclusive.
|
||||
|
||||
## Consequences
|
||||
|
||||
- Week boundaries remain correct and unambiguous across daylight/timezone handling.
|
||||
- A week crossing a Jalali month or year remains identified by its starting Saturday date.
|
||||
- Previous-period comparison uses the immediately preceding Saturday-through-Friday interval.
|
||||
Reference in New Issue
Block a user