Repository navigation
Description
Delivered outcome — 2026-10-04
The Host now selects Orchestrator/Assignment execution deterministically, publishes independent Human attention and safe revisioned summaries, and supplies the shared Client presentation. The real isolated DSH handoff, reconnect, restart and concurrent completion paths have Human acceptance; automated tests cover mixed kinds, completion permutations, ownership and bounded disclosure. Delivery evidence: final acceptance audit.
Feature Project
- Bot Activity & Avatar Presence
- Historical coordination [Retired] Orchestrator: V1.0 PersonaBot Activity、Presence 与 Output Events #119 is retired.
- Source spec: Spec: PersonaBot Activity Projection、共享 Avatar Presence 与 Output Events #118
- Presentation consumers: Bot activity: shared snapshot and live DM presence #120, Bot activity: safe tool summaries and effects #122, Group activity: live facepile, safe summaries and details #124, UI Tracer: Channel composer island 与 PersonaBot activity region #129
What to build
把 Orchestrator Session 与 Assignment Sessions 的真实并发 activity 聚合成一个 PersonaBot presentation snapshot。Orchestrator active 时默认代表 PersonaBot;Orchestrator 明确 waiting-on-assignment 时,呈现 active Assignment activity;多个 active Assignments 使用 Ticket #122 的 tool aggregation 规则,不引入 configurable priority。
waiting-human、blocked、approval 与 informational 是独立 attention 轴,通过 badge/indicator 呈现,不覆盖 execution activity 或伪造成 Session lifecycle。
Presentation snapshot contract
除机器可用的 activity/effect 字段外,projection 提供 bounded、可本地化的安全摘要输入,使 Channel consumer 能表达“这个 PersonaBot 正在做什么”:
- selected source role/reference(Orchestrator 或聚合后的 Assignment source)。
- activity/effect kind 与安全 label key。
- 可选 safe tool name / provider-declared publicDetail。
- active source count、startedAt/elapsed basis 和 attention axis。
- revision/cause;不携带 raw reasoning、arguments、results 或完整 Session nodes。
选择哪个 source 和摘要是 Projection 的确定性结果。sidebar、composer、hover/focus、collapsible 和未来 Live2D/plugin consumer 不得各自重新实现优先级或聚合算法。
Acceptance criteria
- active Orchestrator 默认胜出;只有 explicit waiting-on-assignment 才呈现 active Assignment activity。
- 多 Assignment 同 kind 与不同 kind 的聚合结果确定且与事件顺序无关。
- Assignment 完成/停止/失败后 presentation 及时回到 Orchestrator 或 idle,不遗留 stale animation。
- attention 与 activity 正交:blocked/waiting-human/approval/informational 不改写 durable Session facts。
- sidebar、composer、hover/focus、collapsible 与可查询 snapshot 对同一聚合 revision 一致。
- 安全摘要只由 bounded fields 与 locale key 组成,不包含 raw chain-of-thought、tool payload 或 secret。
- restart/replay、unknown ownership、orphan descendant 与 concurrent completion tests fail closed。
- Human 可在真实 Assignment Runtime 中观察“Orchestrator 等待 → Assignment 活动 → 回到 Orchestrator”的完整路径,并看到同步的一行安全说明。
Foundation references
- Bot activity: shared snapshot and live DM presence #120
- Bot activity: safe tool summaries and effects #122
- Foundation:Assignment Runtime / Assignment Directory / Orchestrator tools #81 — the Assignment Runtime path consumed by this ticket is implemented and verified; the foundation ticket's broader permission/capacity/reconciliation matrix remains independently open.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
- StatusShow more project fieldsDone
Activity
91 remaining items
fix(activity): canonicalize concurrent detail references before bounding
DoodleBears commentedon Oct 3, 2026
Agent work outcome — integration verified, actual review gate remains
codex/local/01a0e445-0c0f-70e1-bad4-fd99c8cfaa21(not a DSH Session).b85bb6c0(feat(messaging): let shared-channel members reply with their own Lark identity #778) into the accepted stack. Only two bilingual Release Ledger insertion conflicts required manual resolution; both changes were retained. Range-diff confirms unchanged feature patches (fix(activity): deterministic concurrent detail-reference aggregation #776 is identical), without a new behavior or UI variant.9283cf43, feat(activity): separate informational Assignment attention #775cca69a61, fix(activity): deterministic concurrent detail-reference aggregation #776094eed01.68c03800(feat(browser): authorize cross-tab control of one daily Chrome Profile #777 browser Profile control), without changes to BotHarness Activity/Core/Client implementation. GitHub reports feat(activity): include Workspace Grant Human attention #773 CLEAN;git merge-treeconfirms a clean prospective merge. No further rebase or repeated optional tests are needed for that independent change now; recheck main at the actual merge boundary.DoodleBears commentedon Oct 3, 2026
Agent work outcome — blocked on actual CodeRabbit review
codex/local/01a0e445-0c0f-70e1-bad4-fd99c8cfaa21(not a DSH Session).9283cf43, feat(activity): separate informational Assignment attention #775cca69a61and fix(activity): deterministic concurrent detail-reference aggregation #776094eed01remain OPEN, CLEAN and Human accepted; their final-head full CI passed. Review arrays and inline review comments are empty. Worktree is clean; main remains68c03800, previously verified to merge cleanly with feat(activity): include Workspace Grant Human attention #773.feat(activity): include Workspace Grant Human attention (#773)
feat(activity): show completed Assignment information independently
DoodleBears commentedon Oct 4, 2026
Agent work resume — Human review owns quota fallback
codex/local/01a0e445-0c0f-70e1-bad4-fd99c8cfaa21(not a DSH Session).965bf479. feat(activity): separate informational Assignment attention #775 now targets main atf8bbb0d2; its same accepted feature patch is waiting on final-head CI run 37179325415. fix(activity): deterministic concurrent detail-reference aggregation #776 remains an independent identical patch and will target main after feat(activity): separate informational Assignment attention #775 merges.fix(activity): canonicalize concurrent detail references before bounding
feat(activity): show completed Assignment information independently (#…
fix(activity): canonicalize concurrent detail references before bounding
fix(activity): canonicalize concurrent detail references before bound…
DoodleBears commentedon Oct 4, 2026
#123 final acceptance audit
codex/local/01a0e445-0c0f-70e1-bad4-fd99c8cfaa21(not a DSH Session).orchestrator-activity.test.ts,assignment-wait.test.ts,assignment-wait-runtime.test.ts; actual WAIT_VERIFIED and concurrent model runsturn/endor disposal; native adapter cancel waits for idle and rejects error outcomes. Existing tool/projection/disposal, Runtime stop, wait cancellation and adapter error tests. Actual two-Assignment completion shows 2 → 1 → Orchestrator → idleassignment-attention.test.ts, approval/query tests and Client attention parsing. Real Grant/report/restart verificationactivity-live.test.ts,session-activity.test.ts,tool-activity.test.ts, avatar and Overview tests. Real connected/offline/reconnected screenshot sequencetool-details.test.tscovers ownership, expiry, revocation, disclosure size and caller Fiber identitydsh-activity.test.ts,session-ownership.test.ts,tool-activity.test.ts, atomic rebuild and stale-generation Client tests. Real accepted Grant/report Host restart and concurrent reconnect proofRecovery audit against installed DSH 0.2.0-rc.1: Session Store
list()lists live loaded Sessions, not all stored histories.AgentLoop.resumeWithcomputes and durably appendsinterruptedTurnClosersbefore Session preparation/publication; restored pending tool calls are closed before they can represent live execution. BotHarness retains that native authority and clears tool detail capabilities on Turn end/disposal. This source audit found no demonstrated remaining recovery defect requiring a new production change. It is not a claim of an additional live forced-crash test. The concurrent real-model scenario exercises successful execute-kind tools; mixed kinds and failed/cancelled paths have automated coverage, not new live-model evidence.Evidence: #776 screenshots and reproduction, bounded proof.
Preceding Goal outcome: #727 is merged and #122 is closed. All #123 acceptance contracts above are delivered and accepted. The consumed Assignment Runtime path is proven, while broader #81 remains outside this completion claim. Its broad blocking edge is retired from #123 because the required Runtime path is available and exercised; #81 stays open as a foundation reference. #124 and #505 remain deferred.
Final delivery evidence
198 focused integration tests across 14 files passed, in addition to the slice's 60 focused tests and final full CI. The nine new deterministic aggregation cases failed eight cases before the fix. The final #776 ancestry-only rebase preserves the entire accepted Git tree. All 23 embedded screenshot URLs across the three PRs were checked and return HTTP 200 with image content types.
The real-model proof's recovered final assertion remains disclosed: the existing idle informational row is valid; successful completion requires no active Session labels and the actual completed scene. No false initial assertion is presented as a clean initial E2E result.