User story / Problem statement
No contract validates the oracle's cooldown and staleness horizon against the vault's notice period. If the attestation cadence is slower than the heartbeat, the feed goes Stale exactly when a matured generation needs to be struck, and settlement stalls until the next attestation. No contract catches this, so it belongs in the runbook.
Expected outcome
An operator table with safe defaults, and a system test that proves them.
Acceptance criteria
Technical notes
The parameters are admin-mutable at runtime: set_notice_secs on the vault and set_config on the oracle. A coherent deployment can drift into an incoherent one through a legitimate parameter change, so the guide has to cover changes, not just initial values.
Worth stating in the guide: the symptom of an incoherent set is a fulfill that reverts on a Stale feed, which looks like an oracle failure and is not.
User story / Problem statement
No contract validates the oracle's cooldown and staleness horizon against the vault's notice period. If the attestation cadence is slower than the heartbeat, the feed goes Stale exactly when a matured generation needs to be struck, and settlement stalls until the next attestation. No contract catches this, so it belongs in the runbook.
Expected outcome
An operator table with safe defaults, and a system test that proves them.
Acceptance criteria
heartbeat_secs,cooldown_secsandnotice_secsgiven safe defaults, with the reasoningset_notice_secscan widen notice past themTechnical notes
The parameters are admin-mutable at runtime:
set_notice_secson the vault andset_configon the oracle. A coherent deployment can drift into an incoherent one through a legitimate parameter change, so the guide has to cover changes, not just initial values.Worth stating in the guide: the symptom of an incoherent set is a fulfill that reverts on a Stale feed, which looks like an oracle failure and is not.