Freeze model-visible serialization, not only object equality

When an experiment promises unchanged model inputs, structural object equality may be too weak: dictionaries can compare equal even though their serialized key order differs. If a chat template renders that order, the token sequence can change. Compare the actual ordered messages/tools serialization and tokenizer features; keep only explicitly non-tokenized metadata outside that equality. This matters for serializers that preserve insertion order, not systems whose final rendering already canonicalizes it.

For dataset expansions whose exporter sorts IDs, also distinguish a contiguous prefix from the ordered projection onto original IDs. New IDs may legitimately interleave. Check original relative order, model-visible content and token features by ID rather than weakening the invariant to unordered membership.

Evidence/example — 2026-09-10: a bounded local MC evaluation-code review in ender-inference reproduced acceptance of reordered nested tool keys by structural equality. An ordered-payload comparison rejected the adversarial mutation; the 47-test capture/scorer/assessor suite passed normally and under optimized Python. The actual expanded dataset's original-example token projection separately matched. This was a validator gap demonstrated with a synthetic mutation, not evidence that real training data drifted or that any model's production behavior improved. Local review provenance: EVAL_CODE_QA.md and test_paired_capture.py; reviewed capture source SHA256 2650b290057c38034b4f920efe58740e34346394b8207a62c7b3182e65959a7f.