f9d4fbe2f0
The rigor suite had 98 campaigns drawing a random seed per process, making the suite nondeterministic on a deterministic engine (one real ~1/15 flake already caught in tuple-to-userset-rule.test.js). Every campaign now carries a fixed, per-test-unique seed: - 16 files touched, 100 run() calls, all 100 seeded (2 were already done) - seed names follow <file>-<purpose> kebab-case, unique within each file - no other content changed (effort, invariants, assertions untouched) Verification: full rigor suite green across 11 consecutive runs, full suite 852/790/0. Determinism is now structural, not incidental.