--- title: "What is a validity window?" description: "A validity window is the period during which a stored fact was true, with dates for when the period started and ended. Definition, mechanics, and querying." canonical: https://past.dev/glossary/validity-window last-updated: 2026-10-15 --- # Validity window Source: https://past.dev/glossary/validity-window A validity window records the period during which a fact was true. It opens when the fact became valid and closes when another fact supersedes it. An open window marks a current fact. Querying windows by date supports current-state answers, historical answers and change tracking. ## Anatomy of a window - **Opened by** the event that made the fact true, carrying that event's date and source. - **Closed by** the event that superseded it, through [fact supersession](/glossary/fact-supersession). The closing event dates the end of the window. - **Open-ended** when nothing has superseded the fact: this is the current value. Validity windows use event time, which records when a change occurred. Ingestion time separately records when the system received it. [Bitemporal memory](/glossary/bitemporal-memory) stores both. ## What windows make queryable - Current state: facts with open windows. - State as of a date: facts whose windows cover the date. This is [point-in-time recall](/glossary/point-in-time-recall). - Changes in a period: windows that opened or closed during the period. - Duration questions: the length of a validity period. ## Time fields in past.dev Ingest accepts the source record's original `timestamp`. Recall accepts an optional `queryTimestamp` and returns `occurredAt` on result documents, artifact context, and source groups. These are the time fields applications can rely on. `POST /api/v1/ingest` accepts the source record's original timestamp for backfilled data, as documented in the [quickstart](/docs/memory-api/quickstart). The [benchmark method](/benchmarks) includes validity-window tests. ## Common modeling questions The source determines time precision. A dated email opens a window on its date; a meeting note opens one at the meeting time. Overlapping windows for the same attribute can signal a conflict. Stable facts keep open windows until a change, deletion, or retention rule closes them. This differs from [memory decay](/glossary/memory-decay) policies. ## Frequently asked questions ### Do validity windows require exact timestamps? No. A window is as precise as its source. A date-only email opens a window at day precision, which is enough for most as-of questions. What matters is preserving the source's own time instead of substituting ingestion time. ## Related - [Fact supersession](https://past.dev/glossary/fact-supersession) - [Bitemporal memory](https://past.dev/glossary/bitemporal-memory) - [Point-in-time recall](https://past.dev/glossary/point-in-time-recall) - [What is agent memory?](https://past.dev/what-is-agent-memory) - [Quickstart](https://past.dev/docs/memory-api/quickstart)