pub fn request_fingerprint(
config_fingerprint: &str,
clock: Option<&str>,
timeout_secs: Option<u64>,
labels: &BTreeMap<String, String>,
) -> StringAvailable on crate feature
serve only.Expand description
Fold the run-affecting request fields into the config fingerprint.
The idempotency key identifies a request, not just a config: a key
replayed with the same merged config but a different clock,
timeout_secs, or labels is a genuinely different run and must be
detected as a conflict (409), not silently replayed as the original
(#146 M7). clock is the most important — it sets the ${now.*} backfill
window the run reads, so a retry that changes only the clock would otherwise
return the original backfill’s result.
labels is hashed in BTreeMap (sorted-key) order, so the result is stable
regardless of insertion order.