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
The user sees every GitHub Issue across their T3 projects in Chromeria, with a
status computed from real signals, and moves between Issues and the threads
working on them in one click.
Problem Statement
All work is tracked in GitHub Issues and done by agents, but Chromeria only
shows PRs. To see what is being worked on, reviewed, blocked or waiting, the
user leaves the app and reconstructs status by hand from branches, PRs,
review prose and threads. Nothing shows which thread owns which Issue.
Solution
The Pull Requests page gains a PRs/Issues toggle, and the sidebar gains an
Issues icon that opens the page with Issues selected. Issues are grouped by a
computed status or by parent tree, and filtered and sorted like PRs. A side
panel shows an Issue and lets the user comment and close/reopen it. Threads
show their linked Issues the way they show PRs, and an Issue can start a new
linked thread.
Acceptance criteria
Sidebar Issues icon and the page toggle both open the Issues list;
the command palette searches Issues on that page and finds threads by
linked Issue.
Issues from all repositories of the user's T3 projects are listed,
across connected environments, GitHub only; other forges show a
not-supported state.
Each Issue shows exactly one status from the status table below,
derived without manual input and without writing to GitHub.
Group by status (Done and Not planned collapsed) or by parent tree,
including cross-repository children, which are marked when outside the
user's projects.
Side panel: body, comments, add comment, close and reopen, open on
GitHub, linked threads and PRs.
A thread shows its linked Issues next to its PRs in the right panel,
and each link can be removed.
Links are created by: manual link, a link_issue MCP tool, task branch
name (<type>/<number>-<slug>), and closing references (Closes #N)
of the thread's linked PRs.
"Start thread" on an Issue creates a thread in the matching project
with its usual worktree mode, linked immediately, with the composer
prefilled (title, URL, body) and not sent. Disabled with a reason when
no project matches.
Upstream tables, migrations and events are unchanged; fork state lives
in one fork-owned table.
Status table (first match wins)
Status
Rule
Done
Closed as completed
Not planned
Closed as not planned or duplicate
In review
Review mark pending on the PR head
In progress
Branch or PR exists and a linked thread is working now
Waiting for merge
Review mark success on the PR head
Changes requested
Review mark failure on the PR head
Waiting for review
PR open, no review mark
Paused
Branch exists, no PR, nobody working
Blocked
Open native blocker, no branch or PR
Discussion
Thread linked, no branch or PR
To do
Nothing linked
The review mark is the commit status review/independent on the PR's head
commit, counted only when posted by a trusted account (default: the account
behind the repository's GitHub connection). Until AgentsMD posts it
(toolboxmd/agentsmd#133), the three review statuses do not appear.
User stories
As the user, I want to see which Issues agents are working on right now,
so that I know where the fleet's effort is going.
As the user, I want to see which Issues wait for review, merge or fixes,
so that I can unblock them.
As the user, I want to start a thread from an Issue, so that work begins
already linked.
As the user, I want to open an Issue from its thread and a thread from its
Issue, so that I never search for either.
As an agent, I want to link my thread to an Issue through MCP, so that the
user sees my work in the Issues view.
Implementation decisions
One page and one route shared with PRs; the Issues mode reuses the PR
page's search, sort, filter and grouping, hiding PR-only filters.
The list is GitHub search (is:issue) plus one GraphQL read per page for
parent, sub-Issues, blockers and closing PRs, within the existing GitHub
GraphQL budget and rate-limit handling.
Only links that cannot be derived are stored, in fork_thread_issue_links,
created by the fork in the existing database outside upstream migrations
and outside the event log. Branch and closing-reference links are derived
when read.
"Working now" comes from T3 thread activity, including subagents and Prism
jobs. Agents outside T3 are not visible.
Status is a pure function of Issue state, links, branch, PR and review mark.
New code in new files; each upstream-file edit is added to scripts/fork-upstream-edits.txt and the feature map.
Testing decisions
Status derivation: table-driven unit tests covering every row and the
precedence between rows, at the pure function.
Listing and Issue actions: tests at the Issues list RPC and panel actions
against real gh and real GitHub, no fake CLI (user decision 2026-09-25).
They cover search, pagination, cross-repo children and untrusted review
marks, and run as a separate live suite with a GitHub token.
Links: tests for manual, MCP, branch-derived and closing-reference links,
including unlink and restart persistence.
Web: logic tests for grouping, filtering and sorting following pullRequestList.logic.test.ts.
One integrated pass in the real web client against seeded worktree state,
on request.
Non-goals
Writing status labels or anything else to GitHub in the background.
Issue types, assignment-as-wakeup, auto-starting agents on Issue changes.
An "Approved" state from GitHub reviews; editing labels, assignees or
milestones; creating Issues from the UI.
Mobile, non-GitHub forges, repositories outside the user's T3 projects
(except as parent-tree children).
Focused tests above pass, including the live gh suite; targeted lint and
typecheck for changed scope; scripts/fork-check.sh passes; fork CI green
on the final PR.
Independent review of the exact final candidate.
Integrated web pass with before/after screenshots on the PR.
Further notes
Deliberate detour approved by the user on 2026-09-25: advances the Vision's
"project handling" but is outside the current Objective. Delivery: component
PRs into an integration branch, one final PR into fork main, merged once CI
is green and review has no open findings. No upstream rebase, release,
installation or upstream contribution.
Outcome
The user sees every GitHub Issue across their T3 projects in Chromeria, with a
status computed from real signals, and moves between Issues and the threads
working on them in one click.
Problem Statement
All work is tracked in GitHub Issues and done by agents, but Chromeria only
shows PRs. To see what is being worked on, reviewed, blocked or waiting, the
user leaves the app and reconstructs status by hand from branches, PRs,
review prose and threads. Nothing shows which thread owns which Issue.
Solution
The Pull Requests page gains a PRs/Issues toggle, and the sidebar gains an
Issues icon that opens the page with Issues selected. Issues are grouped by a
computed status or by parent tree, and filtered and sorted like PRs. A side
panel shows an Issue and lets the user comment and close/reopen it. Threads
show their linked Issues the way they show PRs, and an Issue can start a new
linked thread.
Acceptance criteria
the command palette searches Issues on that page and finds threads by
linked Issue.
across connected environments, GitHub only; other forges show a
not-supported state.
derived without manual input and without writing to GitHub.
including cross-repository children, which are marked when outside the
user's projects.
Sort: updated, created, number.
GitHub, linked threads and PRs.
and each link can be removed.
link_issueMCP tool, task branchname (
<type>/<number>-<slug>), and closing references (Closes #N)of the thread's linked PRs.
with its usual worktree mode, linked immediately, with the composer
prefilled (title, URL, body) and not sent. Disabled with a reason when
no project matches.
in one fork-owned table.
Status table (first match wins)
pendingon the PR headThe review mark is the commit status
review/independenton the PR's headcommit, counted only when posted by a trusted account (default: the account
behind the repository's GitHub connection). Until AgentsMD posts it
(toolboxmd/agentsmd#133), the three review statuses do not appear.
User stories
so that I know where the fleet's effort is going.
so that I can unblock them.
already linked.
Issue, so that I never search for either.
user sees my work in the Issues view.
Implementation decisions
page's search, sort, filter and grouping, hiding PR-only filters.
is:issue) plus one GraphQL read per page forparent, sub-Issues, blockers and closing PRs, within the existing GitHub
GraphQL budget and rate-limit handling.
fork_thread_issue_links,created by the fork in the existing database outside upstream migrations
and outside the event log. Branch and closing-reference links are derived
when read.
jobs. Agents outside T3 are not visible.
scripts/fork-upstream-edits.txtand the feature map.Testing decisions
precedence between rows, at the pure function.
against real
ghand real GitHub, no fake CLI (user decision 2026-09-25).They cover search, pagination, cross-repo children and untrusted review
marks, and run as a separate live suite with a GitHub token.
including unlink and restart persistence.
pullRequestList.logic.test.ts.on request.
Non-goals
milestones; creating Issues from the UI.
(except as parent-tree children).
pingdotgg/t3code.Blockers
None for shipping. The three review statuses depend on
toolboxmd/agentsmd#133.
Required proof
ghsuite; targeted lint andtypecheck for changed scope;
scripts/fork-check.shpasses; fork CI greenon the final PR.
Further notes
Deliberate detour approved by the user on 2026-09-25: advances the Vision's
"project handling" but is outside the current Objective. Delivery: component
PRs into an integration branch, one final PR into fork
main, merged once CIis green and review has no open findings. No upstream rebase, release,
installation or upstream contribution.