Skip to content

Add Agent inbox step 1: Inbox row with Needs you / In progress / Done - #472

Merged
Birfy merged 2 commits into
ThinkFlowLab:mainfrom
Birfy:feat/349-agent-inbox
Oct 20, 2026
Merged

Birfy merged 2 commits into
ThinkFlowLab:mainfrom
Birfy:feat/349-agent-inbox

Conversation

@Birfy

@Birfy Birfy commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

Fixes #349

What

  • Agent inbox, step 1 (owner decision 2026-10-20, option a): one Inbox row at the top of the sidebar (wide and rail) with a count badge of the Needs you cards, opening a dialog with three groups: Needs you, In progress, Done.
  • Built only from data the client already has, no new host state: work.approvals, held-message pendingCount on chats, work.bots / work.rooms (running turns), task records from core/src/host/tasks.js (existing tasks endpoint), and the Session list's last activity for finished Bot chats. My own Bots only; Done (and failed tasks) age out after 7 days.
  • Each card: exactly one status (colored pill + icon + word), Bot · place · time, one-line title with the full text on hover, Open to its chat. An approval the group chat's card answers also has Reject / Allow once, calling actions.answerApproval, the same answer as that card (no second approval path, buttons only, status line after the click, no native confirm). Held Bot messages, DSH-card approvals in a Bot's own chat and tasks have Open only. Empty line per group, keyboard reachable, Escape closes.
  • Every card carries assigner / owner / executingBot (me / me / the Bot) for phase 2.
  • Deferred scope (board columns, tool-call count, failed turns without a task record, team views, ...) is in Agent inbox phase 2: board view, tool-call counts, failed turns and team views (after #349) #471 (needs-human).

Test

  • core/test/inbox.test.js (15 tests: grouping, own-Bots-only, 7-day window, one status with icon and word, buttons per card kind, same answerApproval path, empty lines, Inbox row badge, no native dialogs).
  • ARCH_DOCS_BASE=origin/main TZ=UTC npm run verify: pass (core 1044, social 291, tree 80, timeline 80, scripts 88, interop 37, live-e2e 16; 0 failures; plugin lint ok; patches check ok).
  • Not run: live DSH bench / the owner's Mac instances (no visual check in a running shell).

Docs: docs/subsystems/core-client.md (Agent inbox section + key file). Changelog: changelog.d/349-agent-inbox.added.md.

Risk tier: T2 (estimate; the controller sets the label)

@Birfy Birfy added agent-pr Pull request opened by an agent enhancement New feature or request area:ui Web/desktop UI and copy labels Oct 20, 2026
@Birfy Birfy self-assigned this Oct 20, 2026
@Birfy

Birfy commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator Author

Self-review: PASS
Tip SHA: 6660fc3
Ran:

  • ARCH_DOCS_BASE=origin/main TZ=UTC npm run verify: pass, 0 failures (core lint + arch-docs OK, plugin lint OK, build-client --check OK, ds-bot-patches check OK, core 1044/1044, social 291/291, tree 80/80, timeline 80/80, .github scripts 88/88, interop 37/37, live-e2e 16/16)
  • node --test core/test/inbox.test.js: 15/15 pass
  • node .github/scripts/changelog.mjs check: OK
  • CI at the tip: tests-ok green (test, plugins social/tree/timeline, package all pass)
  • Diff reviewed against the owner design rules: approvals only via explicit buttons, the same answerApproval answer as the group chat card (no second path, no native confirm); held Bot messages are Open only (approved in chat by the owner); own Bots only; no new + menu entry or sidebar section, one Inbox row; no new host state; English UI with zh entries; no sibling scope (Proactive reminders 1/3: event reminders (approval waiting, failed, finished) in app and desktop #353 notifications, Proactive reminders 2/3: scheduled tasks and recurring summaries #354 scheduled tasks) touched
    Not run:
  • Live DSH bench / visual check in a running shell
  • The owner's Mac instances (never touched)

@Birfy Birfy added the awaiting-approval PR is green and waits for the maintainer's approval (T2/T3) or a review PASS at its tip label Oct 20, 2026
@github-actions github-actions Bot added the risk:T3 Risk tier T3 (needs a human approval), set by the controller from the diff label Oct 20, 2026
@Birfy
Birfy added this pull request to the merge queue Oct 20, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 20, 2026
# Conflicts:
#	core/client.js
#	docs/subsystems/core-client.md
#	patches/ds-bot/0003-flybot-api-client.patch
#	patches/ds-bot/0008-client-bundle.patch
@Birfy
Birfy added this pull request to the merge queue Oct 20, 2026
Merged via the queue into ThinkFlowLab:main with commit c7898dd Oct 20, 2026
8 checks passed
@Birfy
Birfy deleted the feat/349-agent-inbox branch October 20, 2026 02:41
@Birfy

Birfy commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator Author

Self-review PASS (after merging main 465357e): merged origin/main into feat/349-agent-inbox (merge commit 95955b8, no rebase, no force-push).

  • Hand-resolved conflict: docs/subsystems/core-client.md. I kept main's Proactive reminders 2/3: scheduled tasks and recurring summaries #354 schedules.js row (Edit / Pause / Resume) and this PR's inbox.js row.
  • Generated files, following the AGENTS.md conflict recipe: I took main's patches/ds-bot, rebuilt core/client.js (npm run build), then ran ds-bot-patches.mjs generate. check passes (10 patches apply, core/ = ds-bot/ + patches).
  • i18n.js and index.js merged on their own. The diff against the old head 6660fc3 contains only main's Edit and pause scheduled tasks; document missed runs #474 changes.
  • ARCH_DOCS_BASE=origin/main TZ=UTC npm run verify on Node 24 passed (core 1053/1053, all plugin, interop and live-e2e suites pass). CI is green.

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

Labels

agent-pr Pull request opened by an agent area:ui Web/desktop UI and copy awaiting-approval PR is green and waits for the maintainer's approval (T2/T3) or a review PASS at its tip enhancement New feature or request risk:T3 Risk tier T3 (needs a human approval), set by the controller from the diff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature RFC] Agent inbox board: one place for tasks, approvals and failures (personal first, team second)

1 participant