---
name: release-roundup-ordering
description: alchemy release-verb roundup requires board closes BEFORE publish; release body carries NO milestone/request links section (operator-ruled 2026-07-31); draft-toggle republish = repair
metadata: 
  node_type: memory
  type: feedback
  originSessionId: a4e9572c-40c3-4f2b-867d-a9e0b37ed7d5
  modified: 2026-07-31T12:37:49.938Z
---

Operator rulings 2026-07-31 on shipped-request association:

1. **Release body carries NO "Milestone & requests" section** — not standard practice. Removed from v0.48.0. My earlier runbook suggestion to deployah RETRACTED (retraction sent).
2. **The association mechanism is the alchemy `release <tag>` verb** — promotes acceptance requests closed *before* the release's `publishedAt` to DONE, answers with the roundup, and the Hub posts the Discord "Shipped Requests" embed. v0.47.0 = the exemplar: one verb call ~2 min after publish, nothing else.

**Why:** the verb gates on `closedAt < publishedAt`. Cut ordering decides success: board ACCEPTANCE close-cascade must land BEFORE the release is published. v0.48.0 published 10:16:13Z but closes fired 10:18:48Z (board moves ran post-publish) → verb no-oped.

**How to apply:** at every cut — board state moves (the GitHub-closing cascade) FIRST, publish SECOND, then `spt shell cmd alchemy-0 release <tag>` after publish. Repair when the order slips: `gh release edit <tag> --draft=true` then `--draft=false` refreshes `publishedAt` past the closes (tag + assets + body survive; verified on v0.48.0), then re-run the verb. Note the verb's DONE promotion precedes flynn-style field verification — v0.47.0 precedent, operator-sanctioned; field verify becomes post-hoc confirmation. Supersedes the "promote children manually at field acceptance" plan in [[wan-truth-50-handed-off]].
