Python starts when you choose Run.
When should a ReAct-style agent refresh its observations?
Refreshing evidence turns three invalid takes into two completions and one honest abstention. It still cannot make a later mutation atomic.
Scripted state-machine mechanism study; not ReAct training or an LLM benchmark.
refresh=False {'completed': 3, 'invalid': 3, 'abstained': 0, 'observations': 6}
refresh=True {'completed': 5, 'invalid': 0, 'abstained': 1, 'observations': 12}
Post-observation cross product: 36 cases; revision-check invalid actions: 0
Python runs locally in this page. Saved results and figures are visible before execution.