Skip to contents

Call this repeatedly to drive a session from start_sequential_lrt() through to completion. Each call performs at most one bounded pass: resolve the anchor (refit status + OFV parity) while state == "anchoring", or - once state == "testing" - collect any finished candidate fits, decide the current phase's winner (forward addition accepts the most significant approved effect with p < alpha_add; backward elimination removes the least-supported approved effect with p >= alpha_remove; ties/order come only from the approved plan), advance the reference on acceptance, and launch newly-ready operations up to host_resources$max_concurrent_fits and the remaining fit_budget. Safe to call again while running (it just re-polls); pauses with requires_user_attention = TRUE on OFV-parity failure, a failed reference fit, an altered plan.json, or exhausted budget.

Usage

advance_sequential_lrt(
  session_id,
  project_dir = ".",
  candidate_updates = NULL,
  force_continue = FALSE
)

Arguments

session_id

Session id from start_sequential_lrt().

project_dir

Project root the session was started under.

candidate_updates

Optional named list (or, via MCP, a JSON object string) mapping operation id -> {model_rds}/{mmdl_path}, for operations left status = "stale" (no candidate yet, or one built against a reference that has since changed). An id outside the approved plan, or one already decided, is reported and ignored - never accepted.

force_continue

When TRUE, proceed past a state == "blocked" pause (e.g. an OFV-parity mismatch) that the user has reviewed and explicitly accepted. Does not override an altered-plan.json block.

Value

A compact session status: state, phase, reference, fit_budget/fit_budget_used, status_counts, per-operation test_results, anchor_ofv_parity (once resolved), requires_user_attention/explanation when paused, and next_action.

See also

get_sequential_lrt_status() for a read-only peek without advancing, collect_sequential_lrt() for the final report.