Background
V2 must distinguish what is true now vs historically vs when Cortex learned it.
Problem Statement
Age is conflated with validity; superseded memory can outrank active claims; no state-at-timestamp query.
Proposed Solution
- Temporal statuses: CANDIDATE, VERIFIED, ACTIVE, CHALLENGED, SUPERSEDED, ARCHIVED, QUARANTINED, ERASED
- Fields: valid_from, valid_to, observed_at, invalidated_at, superseded_by
- API:
GET /memory/state?entity=…&at=…
- Ranking: active valid > superseded; age alone does not reduce truth
- Reuse existing SUPERSEDES / causal chain in
graph/query.py
Acceptance Criteria
Depends on
Data foundations
Plan ref
todo temporal-truth — V2 Enhancement 3
Background
V2 must distinguish what is true now vs historically vs when Cortex learned it.
Problem Statement
Age is conflated with validity; superseded memory can outrank active claims; no state-at-timestamp query.
Proposed Solution
GET /memory/state?entity=…&at=…graph/query.pyAcceptance Criteria
Depends on
Data foundations
Plan ref
todo
temporal-truth— V2 Enhancement 3