You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Three modes: full auto, ask before compute, structured.--mode, OPENREYNOLDS_MODE, the config file's mode, or /mode <name> mid-session
(openreynolds/modes.py). auto is the default and is today's behaviour byte for
byte: the briefing is unchanged and no tool call is ever held. partial puts every job_start and mesh call to the person before it runs (/yes, /no [reason], /all), and a declined call goes back to the model as an error result carrying the
person's reason verbatim. structured offers a checkpoint tool that shows the
person a summary and what comes next and waits for their answer, and holds job_start and mesh until a checkpoint has been approved since the mode began.
Its stage names are the guided pipeline's own phases (toolbox/study_state.py).
The question and its answer live in openreynolds/approval.py; the one place a call
is held is Loop._consult. A resumed study keeps its mode unless one is given. -p with a non-auto mode is a usage error (exit 2), because nobody is there to
answer.
Change the model or effort mid-study./model shows the provider, model, effort,
mode and the models this provider is known to have; /model <model>, /model <provider>:<model> and /model <provider> switch
(openreynolds/switch.py). A candidate is probed, image included, before it is
accepted, and applied only between turns. Earlier thinking blocks are dropped when
the model changes, and a thread too big for the new model's window (known per model
where it differs from the preset's, as for claude-haiku-4-5) is refreshed on the
current model first. /effort low|medium|high applies from the next request, and --effort sets it at the start. The mesh desk and the front desk follow the switch.
A resumed study carries on on the model it was last running: session.json now
records the provider and the endpoint beside the model, and --study <id> restores
the record unless --model or OPENREYNOLDS_MODEL names a model, or this machine
cannot serve it -- in which case the configured model runs and the session says why.
Serving it means a key for the recorded provider here, switching provider if the
record says another one (it brings that provider's key, endpoint, window and desk
model with it), and on the configured provider the same endpoint as well, because a
gateway or router in front of one family answers to other vendors' ids and a pair
restored across endpoints fails a turn later with the vendor's 400. A study that
recorded no provider or no endpoint is refused rather than guessed at, and starts as
it did before. A refused restore does not rewrite the study's record: the run that
cannot serve the pair is the last one that should forget it, and the next resume
where the key is set carries on there. The record is the local session.json, so a
study resumed where it has never run starts on the configured model, and OPENREYNOLDS_PROVIDER on its own does not hold a resume to that provider.
/help with topics./help commands, /help modes, /help model, /help tools and /help keys. Every command lives in one registry, commands.COMMANDS, which the parser, the help text, the terminal's completion and
the hosted app's suggestion list are all read from.
Completion in the interface. Typing / in the prompt opens a list of matching
commands above it with a grey completion in the prompt itself; Up and Down move,
Tab takes the suggestion, Esc closes the list. After /mode , /model , /effort
and /help the list offers that command's choices. The session bar shows model,
effort, provider and mode.
New stream events.approval, approval_done, model and mode on --output-format stream-json. A question is answered by sending /yes, /no ... or /all as an ordinary user line.
The moving-mesh benchmarks are in the repository.benchmarks/moving_mesh/
carries the two prompts run end to end on 2026-09-12 -- a cyclicAMI sliding
interface through a circular-Couette annulus, and a cylinder on a spring free to move
at Re = 100 -- and grade.py, which grades a rerun the same way. What was graded
lived outside this repository, so nobody could reproduce it. The grader reads only
raw solver output and never the run's own analysis, because grading those two by hand