Skip to content
MirrorFirm

How should recurring review cycles appear in environment state?

Separate recurring schedules from individual review instances so agents can complete one cycle without overwriting history or accidentally disabling future review obligations.

Use separate entities for the review schedule and each review instance. A generated schedule can carry `schedule_id`, `subject_id`, `cadence_rule`, `timezone`, `next_due_at` and `active`. Each instance can carry `review_id`, `schedule_id`, `period_start`, `period_end`, `opened_at` and `status`.

The distinction matters because completing REV-0412 should not erase the obligation represented by SCH-0236. An environment action such as `complete_review` can close the instance and record its outcome. A separate scheduler transition determines when the next instance becomes eligible to open.

Expose actions such as `list_due_reviews`, `open_review` and `inspect_prior_cycle`. Keep schedule amendment behind its own tool and permission, rather than making it an incidental effect of closure. Store timestamps with explicit offsets and retain the business timezone for date-based recurrence.

An evaluation hook can compare the schedule before and after an episode. It should detect an agent that achieves an empty queue by disabling recurrence. Reset should restore both the instance history and scheduler clock, so the same starting point produces the same due work without duplicating an already opened cycle.

Represent recurrence explicitly to expose scheduling mistakes that a single review record would conceal.

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

Content release: r-a220eb6e099b243b

More on Periodic review