ctrlrun.protect — function, defined at src/ctrlrun/control.py:1967
effect and resource are templates over the call’s arguments (§5.1). Their syntax is
checked here, at decoration time, so a typo fails at import rather than mid-agent-run.
lease is how long this action’s reservation is held (§5.3 E3), for work that takes
longer than the Control’s default; it overrides that default and nothing else. Expiry
means what it always meant: past the lease the effect is AMBIGUOUS, never released.
reconcile asks the remote what happened to an effect whose outcome is unknown
(SPEC-v0.2 §2). With reconcile_eagerly, it also runs immediately after this call
produces an AMBIGUOUS outcome, rather than only when one blocks a later attempt.