The load-bearing piece of agent CI is what you pin as the fixture set. Hand-written cases stay green while the live tool mix drifts under them. Sample production traces (prompt in, tool chosen, args), freeze that window as the merge gate, and fail the PR when selection accuracy drops on it. Score tool identity and arg shape as separate checks so right-tool-wrong-args still fails. When the tool surface changes you rotate the sample, otherwise the gate softens on the same schedule as the traffic it was meant to mirror.
The load-bearing piece of agent CI is what you pin as the fixture set. Hand-written cases stay green while the live tool mix drifts under them. Sample production traces (prompt in, tool chosen, args), freeze that window as the merge gate, and fail the PR when selection accuracy drops on it. Score tool identity and arg shape as separate checks so right-tool-wrong-args still fails. When the tool surface changes you rotate the sample, otherwise the gate softens on the same schedule as the traffic it was meant to mirror.