UC-04 · Group A — Level 0 · Observe
Did the environment move, or did the agent move?
One agent's shift is explained by a recorded environment change; the other's identical shift has no such explanation and is flagged as out of pattern.
An operator promotes a route in the console — the action appears on screen first — then two agents shift behavior the same way for different reasons: one explained by the recorded environment change, one not.
QuantData records its environment baseline; it does not infer it. That is the only reason common-mode and idiosyncratic drift separate at all.
A live POST /observation/environment-changes records EnvironmentChangeKind: ROUTE_CHANGE; a canned DriftDecomposition attributes agent A's shift common-mode to that event and leaves agent B with an idiosyncratic residual plus a BehaviorFlag of kind ENVIRONMENT_UNEXPLAINED_SHIFT.
“QuantData records its environment baseline; it does not infer it. That is the only reason these two cases separate at all.”