Skip to content

feat(discord): Discord bot integration overlay - #174

Closed
patroza wants to merge 12 commits into
fork/changesfrom
fork/discord
Closed

feat(discord): Discord bot integration overlay#174
patroza wants to merge 12 commits into
fork/changesfrom
fork/discord

Conversation

@patroza

@patroza patroza commented Jul 29, 2026

Copy link
Copy Markdown
Owner

Permanent draft integration overlay for Discord/Teams bot.

Registered in .github/pr-stack.json. Must stay open + draft for stack compose.

Supersedes closed #80.

@patroza patroza closed this Jul 29, 2026
@patroza patroza reopened this Jul 29, 2026
@patroza patroza added the OVERLAY Long-lived draft overlay composed into fork/integration; do not merge directly. label Jul 29, 2026
@patroza
patroza force-pushed the fork/discord branch 6 times, most recently from fd32bc4 to eedae33 Compare July 29, 2026 19:47
@patroza
patroza force-pushed the fork/discord branch 4 times, most recently from e10b6ab to 533f6d1 Compare July 30, 2026 04:49
@patroza
patroza force-pushed the fork/discord branch 6 times, most recently from c38d119 to c786efc Compare July 30, 2026 09:19
@patroza
patroza force-pushed the fork/discord branch 4 times, most recently from b32a57f to 3b4b96a Compare July 30, 2026 11:25
@patroza
patroza force-pushed the fork/discord branch 2 times, most recently from f228623 to a55f14f Compare July 31, 2026 09:43
@patroza
patroza force-pushed the fork/discord branch 2 times, most recently from fbaf072 to 192292d Compare July 31, 2026 09:49
@patroza
patroza force-pushed the fork/discord branch 7 times, most recently from 9a6138b to 0e7f64a Compare July 31, 2026 10:28
github-actions Bot and others added 12 commits August 5, 2026 16:40
Web message deep-link wiring now lives on fork/changes (#267). This
overlay keeps Discord bot (and related server agent-rules pointers /
lockfile) only, so compose no longer collides with identity on __root.

(cherry picked from commit 53df949)
Every finalized answer appends · [T3](…#message-…) after the model/effort/duration
stats line, not only for long or table-heavy responses.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
(cherry picked from commit 3b970cf)
…269)

Agents emit paths like `.plans/note.md` relative to the thread worktree.
The bot process cwd is the package root, so disk reads failed and the
asset-URL fallback rejected `.md` (preview types only). Resolve against
the thread worktree first so local file links upload again.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
(cherry picked from commit dc4ae26)
Require a loaded identity map with the requester mapped before any
bridged Discord agent turn (mentions, slash /ask, thread-talk). Empty
map or unmapped author gets a short unauthorized reply and no turn.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
(cherry picked from commit 72f6869)
)

projection_thread_sessions keeps last_error indefinitely, so a week-old
"Error: Invalid params" (status=error) re-fired FATAL every 30m into
#omegent-alerts. Age-gate session errors to 2h and match the cooldown so
each failure pages once while fresh, then goes quiet.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
Co-authored-by: Patrick Roza <contact@patrickroza.com>
(cherry picked from commit 150c7ab)
* fix(server): abandon unadoptable pending turn starts

A pending-start row whose user message (or turn-start event) is gone
used to stick forever. The decider then message-queued every follow-up
and never drained, so Discord sat on Working… (Protect Agents /
77ff9acd). On missing message or missing recovery event, clear the
pending start, settle session to ready, and attempt queue drain.

Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>

* fix(server): avoid net-new Effect.runPromise in reactor tests

Use harness ManagedRuntime.runPromise for the ghost-pending helper so the
manual Effect runtime baseline stays flat.

Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>

---------

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
(cherry picked from commit 5f99dbc)
…t FATALS (#281)

FATAL/BRIDGE short Discord messages only showed the title; the thread id
lived in the attachment. Put thread= (and channel=) on the short body.
Also stop paging "T3 thread subscription exited" on interrupt-only exits
(bot restart spam).

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
(cherry picked from commit 71e60ed)
Busy was painted first, then VCS "no PR" re-renamed ⏳ Title → ▫️ ⏳ Title.
Defer the no-PR badge while still busy so settle composes ▫️ and clears ⏳
in one rename. Real PR upgrades still apply mid-turn.

Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
(cherry picked from commit a99651a)
@omegent-app

omegent-app Bot commented Aug 6, 2026

Copy link
Copy Markdown

Drained into fork/dev. This overlay's product content has been in fork/dev since it was cut from the composed fork/integration tip — re-verified by path, with the only uncontained commits touching pnpm-lock.yaml alone. Deregistered from integrationOverlays in #348. Reopen only if fork/dev is ever shown to be missing content from this branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OVERLAY Long-lived draft overlay composed into fork/integration; do not merge directly.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants