概览
dsh-report-ledger
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- **单进程假设。** 每个汇报的写操作——**包括 `report_read` 记跳与延迟投递泵**——都由进程内按汇报的互斥锁串行化。跨进程共享同一账本需要租约协议,这与 harness 自身延期的工作相同。工作区的**占用判定**另有一把按仓库为键的锁(跨报告抢同一支分支是单报告锁看不见的),但它同样只在本进程内有效。 - **正文并发覆盖。** 跳流 append-only 永不丢跳,**单进程内**整份重写的写入点都已进锁;**两个进程**同时改写同一份正文仍是后写者胜(`report_contribute` 用追加,规避了常见路径)。 - **同伴名额是终身的。** `maxPeersPerAgent`(默认 8)数的是**本会话启动过的不同同伴会话数**(`peers.jsonl` 的行先按 `startedBy` 过滤、再按 `sessionId` 去重,所以重复行不会多占名额),不区分同伴是否还在、是否首轮就死;**没有任何工具能回收名额**——`report_handover` 只搬账本资产,不碰名册行。回收是人工动作:备份后从 `$DSH_HOME/report-ledger/peers.jsonl` 删掉已结束同伴的行。 - **`fromName` 是会话标题**,即"会话名"而非"代理名"。 - **汇报页无法隐藏 composer。** `conversation.view` 的契约没有 composer 可见性维度,外壳在视图下方无条件渲染输入区,所以汇报页底部始终有输入框。视图侧唯一能整块替换它的是 `conversation.composer` 链(审批/提问面板用的同一机制),拿它隐藏属于偏用:该页会同时失去输入、发送、停止、模型/权限控件与队列/待办 dock。等上游给 view 定义提供正式开关后再做。 工作区相关的限制(默认关闭,未开启时都不适用)见 [工作区](docs/worktree.md)。审计中已确认、但有意暂缓的五项(脚本清理、10k 深链、画布 emoji/帧 hover、视图焦点/无声点击/pane、publish shasum 断言)见 [已知未修问题](docs/known-issues.md)。
