Discord plugin: production activation qualification and rollback #816

Open
opened 2026-07-17 16:50:44 +00:00 by jason.woltje · 0 comments
Owner

Context

The harness-neutral Discord adapter shipped in #756 (PR #763). That slice intentionally excluded production bot deployment and live channel cutover. This issue tracks the bounded qualification work that must pass before enabling the plugin on a live Discord surface. It is a dependency-level follow-up for Tess Discord/CLI work (#709), not authorization to perform a cutover.

Scope

  • Define a deployment-owned configuration/secret-reference checklist for the Discord bot token, gateway shared credential, guild, bindings, paired principals, roles, and required native channel permissions. Never place secret values in this issue, source, logs, or test fixtures.
  • Add an isolated replacement E2E environment/test plan that exercises configured untagged parent messages, mention-created/reused threads, thread follow-ups, signed ingress, authorized approval/stop operations, attachment boundaries, chunked egress, reconnect health, and denial with no Discord side effects.
  • Document a reversible activation and rollback runbook: disabled baseline, preflight, explicit enablement, health/observability checks, disable/revert procedure, and evidence capture.
  • Establish ownership and operational go/no-go criteria for the live Discord surface without coupling to provider/harness identities.

Acceptance criteria

  1. A non-production Discord E2E run proves the #756 contract end-to-end using provisioned secrets only.
  2. The runbook documents preflight, activation, failure handling, and rollback, with no credentials or message content.
  3. Authorization/RBAC, replay defense, rate limits, stable routes, and egress targeting are verified before any live activation.
  4. A rollback drill returns the adapter to the disabled baseline without losing durable conversation records or sending duplicate messages.
  5. Independent code/security/operations review and terminal-green CI evidence are recorded before any production change request.

Boundaries and dependencies

  • Do not enable, deploy, or modify live Discord/Fleet/Hermes/connector paths under this issue without a separately approved operational change.
  • #754/#755 lease/fencing work remains independent and is not implemented here.
  • Dynamic authorization administration, multi-guild isolation, DMs, slash commands, voice, and Matrix/Slack adapters remain separate follow-ups.
  • Consumes the contract in packages/types/src/channel/ and docs/architecture/channel-protocol.md from #756.
## Context The harness-neutral Discord adapter shipped in #756 (PR #763). That slice intentionally excluded production bot deployment and live channel cutover. This issue tracks the bounded qualification work that must pass before enabling the plugin on a live Discord surface. It is a dependency-level follow-up for Tess Discord/CLI work (#709), not authorization to perform a cutover. ## Scope - Define a deployment-owned configuration/secret-reference checklist for the Discord bot token, gateway shared credential, guild, bindings, paired principals, roles, and required native channel permissions. Never place secret values in this issue, source, logs, or test fixtures. - Add an isolated replacement E2E environment/test plan that exercises configured untagged parent messages, mention-created/reused threads, thread follow-ups, signed ingress, authorized approval/stop operations, attachment boundaries, chunked egress, reconnect health, and denial with no Discord side effects. - Document a reversible activation and rollback runbook: disabled baseline, preflight, explicit enablement, health/observability checks, disable/revert procedure, and evidence capture. - Establish ownership and operational go/no-go criteria for the live Discord surface without coupling to provider/harness identities. ## Acceptance criteria 1. A non-production Discord E2E run proves the #756 contract end-to-end using provisioned secrets only. 2. The runbook documents preflight, activation, failure handling, and rollback, with no credentials or message content. 3. Authorization/RBAC, replay defense, rate limits, stable routes, and egress targeting are verified before any live activation. 4. A rollback drill returns the adapter to the disabled baseline without losing durable conversation records or sending duplicate messages. 5. Independent code/security/operations review and terminal-green CI evidence are recorded before any production change request. ## Boundaries and dependencies - Do not enable, deploy, or modify live Discord/Fleet/Hermes/connector paths under this issue without a separately approved operational change. - #754/#755 lease/fencing work remains independent and is not implemented here. - Dynamic authorization administration, multi-guild isolation, DMs, slash commands, voice, and Matrix/Slack adapters remain separate follow-ups. - Consumes the contract in `packages/types/src/channel/` and `docs/architecture/channel-protocol.md` from #756.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#816