Skip to content
MirrorFirm

How should simulated time drive follow-up eligibility?

An explicit simulation clock and event queue let builders test deadline crossings without allowing tool calls or wall-clock delays to change business time accidentally.

Represent business time explicitly through fields such as `simulation_time`, `due_at`, `timezone`, `calendar_id` and `next_policy_check_at`. A deadline should resolve against a named calendar and policy version, rather than inheriting the runtime machine's local settings.

The environment can maintain scheduled events for deadline checks, hold expiry and reminder eligibility. An `advance_time` action processes events through a requested simulation timestamp. Ordinary record reads should leave that timestamp unchanged unless the environment deliberately models an action duration.

Define the ordering rule when several events share a timestamp. A payment arriving at the same instant as a reminder check needs a consistent precedence rule. Otherwise, identical agent behaviour can produce different outcomes for reasons unrelated to decision quality.

A generated release could include JSONL event definitions and an initial clock value. Reset would restore both the event queue and the clock, including pending events that have not fired. Evaluation hooks can then record when eligibility changed and whether the agent acted before or after that boundary. This makes timing errors inspectable without relying on how quickly a model executes.

Make temporal behaviour reproducible by separating simulated business time from execution time.

Audience:
Environment builders
Content type:
Integration
Buyer question:
What it is and why it matters

Content release: r-a220eb6e099b243b

More on Overdue follow up