Temporal Model
MIF’s temporal model answers OKF’s open “live vs. stale” question with validity windows and freshness. It uses a bi-temporal model distinguishing between:
- Transaction Time: When the concept was recorded in the system
- Valid Time: When the fact represented by the concept is true
Temporal Properties
Section titled “Temporal Properties”| Property | Type | Description |
|---|---|---|
validFrom |
DateTime | When fact becomes valid |
validUntil |
DateTime | When fact expires (null = indefinite) |
recordedAt |
DateTime | When recorded (transaction time) |
ttl |
Duration | Time-to-live (ISO 8601 duration) |
decay |
Object | Decay model parameters |
accessCount |
Integer | Times accessed |
lastAccessed |
DateTime | Last access time |
Decay Models
Section titled “Decay Models”| Model | Formula | Use Case |
|---|---|---|
none |
No decay | Permanent concepts |
linear |
strength = 1 - (t / ttl) | Simple linear decay |
exponential |
strength = e^(-t/halfLife) | Gradual freshness decay |
step |
strength = 1 if t < ttl else 0 | Hard expiration |
Freshness Rationale
Section titled “Freshness Rationale”In the core model, the temporal decay function expresses freshness — how current a piece of knowledge is — and answers OKF’s open “live vs. stale” question. The decay half-life defaults (P7D, P14D, P30D) are pragmatic defaults for how quickly knowledge of a given kind loses currency; they are not prescriptive.
The strength = e^(-t/halfLife) curve models a value that is fully current when recorded and decays gradually toward stale, with validFrom/validUntil windows bounding the interval in which a fact is asserted to hold.
Half-Life Defaults
Section titled “Half-Life Defaults”| Half-Life | Use Case | Rationale |
|---|---|---|
| P7D | Short-term context | Aligns with weekly work cycles |
| P14D | Medium-term projects | Spans typical sprint/iteration boundaries |
| P30D | Long-term knowledge | Corresponds to monthly review cycles |
| P90D | Default TTL | Quarterly relevance for most organizational knowledge |
Implementations SHOULD tune these based on:
- Knowledge kind (
episodicrecords go stale faster thansemanticfacts) - Organizational context (high-velocity vs. stable environments)
- Access patterns (frequently accessed knowledge can reinforce slower decay)
The lastAccessed and accessCount fields let implementations model reinforcement — each access can reset or slow the freshness decay.
The cognitive-memory rationale that originally motivated this exponential curve — including the underlying experimental references and decay tuning for retrieval-oriented systems — lives in the AI Memory profile (profiles/ai-memory/), keeping the core framed purely as freshness.
Example
Section titled “Example”temporal: validFrom: 2026-01-15T00:00:00Z validUntil: null recordedAt: 2026-01-15T10:30:00Z ttl: P90D decay: model: exponential halfLife: P7D strength: 0.85 lastReinforced: 2026-01-18T09:00:00Z accessCount: 5 lastAccessed: 2026-01-20T14:22:00Z