Repository navigation
feat(board): add event history and scoped invitation notifications - #98
Merged
Merged
Conversation
Persist event revisions, independent subscriptions and task-derived Agent status. Commit invitation enrollment, stable retry identity and notification outbox atomically; keep opt-out, quiet acknowledgements and audience scopes independent without collaboration-round limits. Route shared state and wake delivery through CLI, Pi, OpenCode, MCP and DSH. Verify all 16 blocking checks on the integrated source (a2f6ac84-01c5-4a86-b2be-7a46dffc58a2); isolated fixtures do not claim live-host deployment or natural collaboration benefit.
11 of 15 tasks
wefio
marked this pull request as ready for review
October 20, 2026 08:10
11 of 15 tasks
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.
变更描述
What(改了什么):黑板从"任务单元 + 世界消息"扩展为带协调事件记录的协作空间:事件、频道、关系与生命周期可回看;通知拆成点名/频道/事件三类受众,显式订阅组通知、邀请即订阅、退订与再邀请都有明确身份;Agent 的公开忙闲状态由任务 owner 派生。
Why(为什么改 / 解决什么问题):原来跨 Agent 协作只有世界频道加任务条目,谁该被叫醒、谁已经退订、某次邀请有没有真的送达都没有权威记录;改成把事件记录和通知投递做成一次 Store 事务内的可追溯事实,同时不让每句讨论都变成全员广播。
Changes(关键改动点,按文件或模块列出):
src/core/coordination-events.ts、src/core/board-notifications.ts、src/core/store/{coordination,coordination-schema,board-notifications}.ts:事件记录、带版本历史、订阅、退订、邀请、通知去重与合并、归档策略的存储与判定。src/integration/{state,coordination-state,board-wake,agent-surface,tool-contract}.ts、src/cli/*:nmg_state space=board的subscribe/unsubscribe/event等操作、共享 RPC 契约与 capability 门控。.pi/extensions/nmg/index.ts、opencode-plugin/*(含boardControlResult抽取)、dsh/dsh-nmg/src/plugin/index.ts、claude-plugins/nmg-memory/agents/memory-copilot.ts—— 统一用同一份协议,不再各自实现广播。design/board-event-records.md拆出board-event-records/event-subscription-and-notification.md(双语 + terms)承载通知受众与邀请规则;design/task-unit-semantics/shared-layer-and-task-board.md加设计基线句;completion-audit/requirement-matrix.md该行改为"核心与隔离集成已验证";hidden-features-registry/feature-register.md登记board-events;skills/nmg-memory/references/board.md的操作说明同步更新。未验证项
Not verified(没验证什么):
verify:research/verify:chaos未运行;GitHub Research characterization 检查已通过,Windows chaos 检查为 SKIPPED。完成检查项
本地质量检查
--full --require-clean:runId3c93cd0e-d712-4dab-9687-ddef5549e239,16 项阻断 pass,2 项 advisory skipped,head29079b48,工作树干净complexity:gate通过:opencode-plugin的boardToolResult曾从 21 涨到 22,已把 rename/subscribe 分派抽成boardControlResult,恢复为不增长docs:check729 files、0 errors、0 warnings;文档组 364、0 errorsRCP(Repository Control Plane)
.nmg/verification/board-event-main-20261020/(clean.json、clean.log)nmg-rcp forge-status --pr 98 --json确认 CI:All checks passed、Static、Product、Node 22、CodeFactor 均为 SUCCESS;Windows chaos 为 SKIPPEDCI 完成确认
nmg-rcp forge-status的 All checks passed 为 SUCCESS