volatile_fields tells pikopod which values are allowed to churn.
Suppression is value-only
A volatile field is still learned. Its presence, its type and its nullability are still asserted. Only its values stop being tracked, so:
The same rule applies in baseline learning, drift diffing, the replay CI gate, the traffic overlay and the state machine.
Entry syntax
Matching is case-insensitive. An entry may not be empty, start or end with a slash, contain an empty segment, or contain characters other than letters, digits,
_, -, ., $ and @. Anything else is a configuration error: pikopod up refuses to start and names the entry.
Curated defaults
A curated list of names that churn by convention is always applied on top of yours, so you rarely need to list the obvious ones: request and correlation ids, trace ids, timestamps,created_at, updated_at, processed_at, etag, nonce. The replay tier additionally strips a curated list of request fields and headers when hashing: idempotency keys, signatures, trace headers, dates.
Let the tool suggest them
Collateral
pikopod up and volatile suggest both lint the configured entries against what has been learned:
pikopod volatile.