Repository navigation
Project dashboard: pick back up, needs-you, and team pulse #36
Description
Give the project dashboard a briefing, a list of work to pick back up, and a team pulse, built from data Ace now has. Old Ace had all three (clients/app/src/features/dashboard in githubnext/1111); the dashboard here (apps/app/src/dashboard.tsx) is only a composer for starting a channel.
What old Ace did
-
Pick back up: up to 10 ranked rows of PRs and issues for the viewer:
- PRs and issues that already have a channel and are relevant to the viewer;
- the viewer's draft PRs;
- the viewer's PRs;
- PRs waiting on the viewer's review;
- issues assigned to the viewer.
Each row says Continue (open the existing channel) or Start new (open a channel on it). PRs from forks with no channel were skipped.
-
Briefing: a short model-written summary for the time of day of the viewer's recent channels, PRs and issues (8 of each), with inline links to each item.
-
Team pulse: one model-written line per teammate for a recent activity window, with avatars. When the model failed, it fell back to deterministic summaries.
Data available now
| Need | Source |
|---|---|
Channels per project, with owner, name, summary, latest run outcome (ran), active, busy, archived and hosted |
Host listings (apps/host/src/protocol.ts Listing), for teammates too, through peers and the directory |
| Who's here and away, live | Project lobbies (#17) |
| Created, archived, renamed, moved, summarized and ran, pushed live | Lobby lifecycle events (#337) |
| Finished, failed and waiting runs | apps/app/src/attention.ts, run outcomes |
| A lane's PR and its checks | Details PR lookup (apps/host/src/github.ts pull), checks |
| Issues and PRs for the repository | The Issues and PRs views (apps/app/src/github.tsx), using the owner's gh |
| The issue or PR a channel was opened for | Open in a channel (#109, #28) |
Scope
- Pick back up: (feat(app): show needs you, pick back up, and team pulse on the project dashboard #471; issues don't link to their channel yet, since nothing records which item a channel was opened for) old Ace's ranking over the project's channels, PRs and issues. Rows link to the channel already on the item, including teammates' (this is also Start work from issues and PRs #28's "show who's on it"), or offer Open in a channel.
- Needs you: (feat(app): show needs you, pick back up, and team pulse on the project dashboard #471) channels whose last run failed or is waiting on the viewer, and PRs waiting on the viewer's review.
- Team pulse: (deterministic version in feat(app): show needs you, pick back up, and team pulse on the project dashboard #471; the optional model summary is still open) per teammate, who's here (lobby), their active channels with summaries, and what finished since the viewer was last here. Start deterministic, from listings and lifecycle events. A model summary is optional and must fall back to the deterministic version.
- Briefing (optional, later): a short model-written paragraph over the same inputs, with linked references.
Constraints:
- GitHub reads use the local owner's
gh(protocol.ts), never a peer's account. - Nothing new is stored durably; this is derived from listings, lobbies and GitHub.
Activity
iamnbutler commentedon Oct 13, 2026
The product moved to the All Projects view (#149), teammate sections (#157), and the channel details sidebar (#129). Closing; reopen with a current design if a briefing is still wanted.
[-]Add dashboard briefing, resume work, and team pulse[/-][+]Project dashboard: pick back up, needs-you, and team pulse[/+]iamnbutler commentedon Oct 15, 2026
Reopened. Lobbies, lifecycle events, run outcomes and per-lane PR data now provide what old Ace's dashboard needed, so the scope is rewritten around them.
feat(app): show needs you, pick back up, and team pulse on the projec…
feat(app): show needs you, pick back up, and team pulse on the projec…