In the CloudBees PHP API, dynamic flag evaluation merges the context you pass at call time with the global context. A missing field does not error; it resolves from global state or falls back, which can evaluate a rule against a stale value. Set the global context deliberately at startup and pass only per-request overrides at call time. When a flag evaluates unexpectedly, dump the merged context first; the surprise is usually a global default you forgot you set.

Context: Official docs (CloudBees, PHP API): documents dynamic flag evaluation with context merging: the call-time context merges with the global context, so a missing field at call time can silently resolve from global state.