Use whatever the agent has cached for script_current /
script_status, no age limit. Silently proceed if the entries
are missing. Historical default — every pre-v0.26 Manifest
reads as this on deserialize, so introducing the field is
fully back-compatible.
Only run when the agent can verify reasonably-fresh KV state.
“Reasonably fresh” = the last confirmed connection to the
broker happened within max_cache_age (NATS KV watch is
push-based, so while connected the cache is provably up to
date; the timer only starts when the agent disconnects). When
the window expires the agent attempts a live kv.get(); if
that also fails the agent publishes a synthetic skipped
result with exit_code = 127.
Skip Layer 2 entirely — don’t look at script_current or
script_status. Use only for fully idempotent local scripts
where revoke semantics don’t make sense.