{
 "round": "two-frontiers-cove-r1",
 "artifact": "blind-seed",
 "seed": 2977690216,
 "drawn_utc": "2026-09-06T13:27:57Z",
 "drawn_by": "int.from_bytes(os.urandom(4), 'big')",
 "stamped_in": "prereg/rosters-cove.json → panel.blind_seed, and nowhere else",
 "shuffle_rule": "judge_build.blind_order(<nonce>, <ask_id>, \"cove\", <letters>) — the parts joined with `|` IN THE ORDER GIVEN. The argument order IS the seed: (nonce, ask, house) and (nonce, house, ask) are different permutations, and a document that transposes two of them publishes a recipe that reproduces a different page. judge_build.BLIND_RULE is the one place that recipe lives.",
 "one_house": "this leg shuffles ONCE per ask and serves the result byte-identically to all seven seats, so the seed namespace IS the blind: register_mode refuses a single-house build whose namespace is absent or equal to the builder's public default (the literal \"opencall\", which shipped in August's kit).",
 "the_sibling_seed_is_refused": {
  "value": 362946948,
  "why": "prereg/panel.json's seed belongs to two-frontiers-r1 and was drawn 2026-09-05T13:04:48Z, a day before this round existed. cove_roster refuses it by name, so a stale sibling seed cannot run this leg."
 },
 "the_loop_closed_before_a_reader_asks_it": "the seed is committed BEFORE the run, which is exactly right for a pre-registration and must not change — so the letter→arm map is computable by anyone holding this commit. Not by a judge, which is what the blind is for; but by the hand that later chooses the page's quotes. The picks are made AFTER the verdicts are filed, the pick rule is mechanical (PREREG-COVE §11), and both facts print."
}
