Cutover: save the Interactions Endpoint URL and retire Hermuz
- Dominant language
- HTML
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 34m
- Merged PRs (30d)
- 23
Description
The one-way switch. **Saving an Interactions Endpoint URL stops Discord delivering interactions over the gateway** — Hermuz's bot goes deaf the moment it is saved. There is no overlap period, so everything below happens in one sitting, in this order.
Blocked on the Worker being deployed and verifying, and on the Hermuz ids being captured.
- [ ] Stop the Hermuz process.
- [ ] Save the Interactions Endpoint URL on the (repurposed) Hermuz application. Discord validates on save.
- [ ] Drop the two privileged intents.
- [ ] Bulk-overwrite the guild command set with Orrey's four (`npm run commands:register`). This is what makes `/task`, `/meal` etc. cease to exist.
- [ ] Neutralise old interactive posts: Hermuz `custom_id`s are unknown to Orrey, and an unhandled click shows "interaction failed". Strip components from Hermuz's old posts (**the one sanctioned use of the channel message-edit endpoint**, and only at cutover) and confirm the catch-all "this post is retired" handler in `src/discord/custom-id.ts` catches anything missed.
- [ ] Rotate the bot token and client secret; update the Worker secrets.
- [ ] Seed `settings` with the adopted guild and channel ids.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by verifying the Worker deployment and capturing the Hermuz ids, then follow the cutover checklist in order. Run npm run commands:register for the guild command overwrite and inspect src/discord/custom-id.ts to verify the retired-post fallback. Done means the endpoint is saved, intents and credentials are rotated, old components are neutralised, and settings contains the adopted guild and channel ids.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- api, backend, devops
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100