Closed
#186
Enhancement
One-way, on-demand tool to publish a staging ticket to production (for sharing on social without exposing staging)
0
Anchors
—
Blast radius
—
Churn 30d
0
Proposals
Closing — scope complete
Delivered and verified:
publish-issue.sh/publish_issue.py, tested (8 tests, written first) and manually verified for real (used it to publish this exact ticket to production as #1).- Idempotency via a stable body marker — re-publishing updates in place, doesn't duplicate.
- Correctly excludes comments/assignees/state sync, as scoped.
- Warns (non-blocking) on both literal
staging.musehub.aiURLs and bare#NNNcross-references — the latter added after discussion: not automating stripping/replacement (any meaningful auto-fix either links back to staging, defeating the point, or needs cross-referencing logic disproportionate to a deliberately manual, human-reviewed, low-frequency workflow). A warning is the right level of investment here — it surfaces the judgment call to the human doing the publish, same shape as the existing staging-URL warning.
All scope items from the original ticket are now met.
Activity1
closed this issue
34 days ago
Done
Delivered on
dev(merged, pushed to local/staging/production — commitsha256:7ab354833d0210a676c81cc3181984ba8898e914d39b10192bcd7c76f1584efdin themusehubrepo):scripts/dev/publish_issue.py+publish-issue.sh—publish-issue.sh <staging-number> --json_Mirrored from staging#<n>._) — re-running for the same staging issue updates the existing production mirror instead of duplicating it.staging.musehub.aiURL.HubClient— no real network/CLI calls in the test suite.Not yet done: an actual live run against a real ticket (haven't published anything to production yet — want to confirm with gabriel which ticket(s) to publish first, since that's a real public-visible write, not just shipping the tool).