You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(notifications): Discord embed for proposal.reviewed (approve/reject/needs_changes) #4
Status: spec — blocked on room-tba emitter Last verified: 2026-07-03 Pairs with:uplbtools/room-tba#222
Summary
Handle proposal.reviewed on POST /notifications and post a calm embed to #contributors when an editor approves, rejects, or requests changes on a contributor proposal.
Today the bot only delivers proposal.submitted (src/notifications/delivery/discord.ts). The event type is already in the shared contract (src/notifications/types.ts, docs/notifications.md) but has no delivery handler.
Ingress (unchanged)
POST /notifications + x-notification-secret: NOTIFICATION_INGRESS_SECRET
Expected payload (proposal.reviewed)
Field
Type
Notes
proposalId
number
outcome
"approved" | "rejected" | "needs_changes"
entityType
string
e.g. room, building, create_building
entityId
number
0 for create proposals
entityLabel
string
Human label from room-tba
submitterName
string
reviewedBy
string
Editor display name
adminNote
string | null
Reject / needs-changes note
Idempotency key from room-tba: proposal:<id>:reviewed:<outcome>
Delivery
Channel:CHANNEL_CONTRIBUTORS_ID (same as proposal.submitted)
Embed:
Approved — green (0x16a34a), title e.g. “Proposal approved”
Rejected — red (0xdc2626), title e.g. “Proposal rejected”
Needs changes — amber (0xd97706), title e.g. “Changes requested”
Activity
smmariquit commentedon Jul 3, 2026
Shipped in #5 — deployed Heroku v23.