Repository navigation
Conversation
…utput (pingdotgg#17376) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… again (pingdotgg#17379) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…its thread (pingdotgg#17327) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…a check is still going (pingdotgg#17344) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
…ingdotgg#17496) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#17223) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com>
…ingdotgg#17843) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…g#17724) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
… full-access MCP grants (pingdotgg#17772) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pull request (pingdotgg#12223) Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Julius Marminge <jmarminge@gmail.com> Signed-off-by: Loïs Postula <lois@postu.la>
…slug (pingdotgg#17739) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngdotgg#17746) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…page (pingdotgg#18666) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#16554) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… you to a new draft (pingdotgg#18672) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ct (pingdotgg#18824) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…stead of crash-looping (pingdotgg#15925) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: PR Batch Tester <agent@local.test>
… resync after a downgrade (pingdotgg#15937) Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Co-authored-by: PR Batch Tester <agent@local.test>
… MCP servers (pingdotgg#17058) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com>
…ught (pingdotgg#18887) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
…ingdotgg#18878) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…is offline (pingdotgg#18698) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…18853) Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
…gdotgg#18709) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
pingdotgg#18900) Co-authored-by: Pawel Mikolajczuk <pmikolajczuk@atlassian.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Outside agents (and a thread's own agent) can put a small badge on a thread through MCP: t3_thread_badge_set / t3_thread_badge_clear. A badge is a label or count, an icon, a tone, a tooltip and a link (http(s) or t3code:// only), shown beside the pull request badge in the sidebar and opened the way pull request links open. needsYou takes a short reason and turns the badge to the warning colour; settled threads drop the mark. - one badge per key, at most 3 per thread; a count of 0 or a passed expiresAt hides it - each badge records the signed-in agent that set it; others can't change or clear it - stored on the thread payload (no migration), via a server-only thread.badge.set command and a thread.badges-updated event; archiving clears badges - t3_thread_read / t3_thread_list return them - docs in outside-agents.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
bogorman
force-pushed
the
thread-badges
branch
from
October 13, 2026 11:10
1ce7010 to
c26146b
Compare
Thread transfer impact
This comment will update automatically after the next completed run. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Tools that track work for a thread (task trackers, CI, review bots) have no way to show it on the thread. The sidebar
row has room beside the pull request badge, but only T3 Code's own pull request state uses it, and an outside tool
can't say "this thread needs you".
Change
MCP tools:
t3_thread_badge_setandt3_thread_badge_clear, for outside agents with write access, or a thread'sown agent.
A badge has:
t3code://only)needsYoureasonexpiresAtDisplay: beside the pull request badge on the sidebar row, in both row layouts.
needsYouturns it to the warning colour and the tooltip says why. Settled threads drop the mark.Rules:
expiresAthides itStorage: the badges ride on the thread payload, so there's no migration.
thread.badge.setcommand, so app clients can't forge a badge's source, and athread.badges-updatedevent.badges.Read back:
t3_thread_readandt3_thread_listreturn them.Docs: a "Badges on threads" section in
outside-agents.md.Not in this PR (may follow, or be cut)
Testing
threadBadge.test.ts: visibility (zero count, expiry), the needs-you reason, link and key validation.OrchestratorMcpToolkit.integration.test.tscovers:javascript:link being rejectedmainon this machine🤖 Generated with Claude Code
Closes #6