Repository navigation
Releases: stone-brick/dsh-report-ledger
Release list
v0.2.5
发布 0.2.5:同伴可唤醒、读取独立计数、结案要交代,开发者模式搬出发布产物
代码内容(0.2.4 之后,24 笔):
- 同伴:新增 peer_wake —— 只有开启者能唤、不占名额、只在账本还欠它投递时才有意义;
经 ctx.agents.resume 恢复会话并补投,失败原样报原因而不是静默挂账。
peer_start 支持 report(直接交一份已有汇报,不新建作业单,并在那份报告的检出里开工)
与 parent(让新作业单挂进树里)。 - 账本:hops 拆出 reads(读取是审计事实、不是因果动作),last 不再落在读取上;
report_read 的路径开头加按动作计数行;report_list 的行给出 authors=N;
新增 pnpm repair 重算摘要(幂等、不动 updated、跳流缺失只报不改)。 - 结案:从未有过贡献、又不带 note 的结案被直接拒绝。
- 开发者模式:整体搬出发布产物,改为检出附加包 dev/bundle(不发布、在 files 之外的 dev/ 下);
主包只导出 mountHost;两行同时选中时单实例闸排队互斥;release-boundary-check 进 CI。 - 指导与文档:PROTOCOL 补四条硬事实(非驻留不能自回、contribution 粒度、结案交代、
amend 会重开);人类文档同步;本机 DSH 升级步骤写进 docs/dev-build.md。 - 兼容性:0.2.1 线 rc.2 / rc.3 / rc.4 的宿主半与浏览器半实测通过,
dshReleases 三条都记为 compatible。 - 发布:GitHub release 现在由 publish.yml 在 tag 推送时创建并附 tarball(此前一直是手工,
因此 v0.2.3 / v0.2.4 只有 tag 没有 release 页——那两页已补齐)。
验证(本机 0.2.5 源码):typecheck 0 错;pnpm test 十六套 1151 项全绿;
pnpm test:tools 三套 240 项全绿;pnpm build 后 lib 与源码一致。
CI 另跑 release-boundary-check(产物不含 dev/、bundle patch 只有 release 一行)。
兼容性:dsh.compatibility.dshReleases 声明 0.2.0-rc.2 与 0.2.1-rc.2 / rc.3 / rc.4。
v0.2.4
dsh-report-ledger 0.2.4
画布
- 帧内按父子关系分列:链保持一列、分叉向右;帧内列间距加宽,给线与箭头留横向空间
- 跨列线程走列间空隙并分道;同沟槽车道合并、按端口排序;帧边按端口数加长
- 固定一个版式(缩放不再换档);帧排布先量线道再定间隙;箭头、线宽、车道间距整体放大一档
- 下钻:范围根帧 + 面包屑 + 变换记忆(真实浏览器实测)
- 悬停流光:行进点恒定线速、密度按线长分配;图的图例可静音一类线;四类线各有色相并保留虚实,卡片状态加形状标记
- 时间线:从传入会话向上解析到树根,画布显示整棵树;被汇报提到的已知会话补进帧,树外只留无记录的 id
汇报页
- 传递路径改成 GitHub 式时间线:中性连线、实心/空心点、底色标签、对称引用
- 正文默认折叠,收起时只显示 front matter 缩略
- 账本文件改成交付卡:类型图标 + 文件名 + 路径 + 紧凑原生控件,用宿主桌面的默认应用打开(含预取与选择器)
- 画布与汇报列表共选:卡片直达汇报页,悬停互相点亮
账本读取
- 标题走零 I/O 的投影缓存;昂贵的标题回退有界且被记忆
- 列表只读文件头;同一份文件一次变更只读一次
修复与发布
- 修复 0.2.4 审计发现的 2 个 S1 与 10 个 S2;处理 S3 剩余技术债
- 同伴继承开启者的权限状态(沙箱 / 审批 / 预设)
- README 瘦身到使用面,设计与开发记录拆进 docs/
- 发布:0.2.4 版本号与 Gitee 资产 URL
验证
ci、publish to npm、mirror to gitee三个 workflow 均 success- npm 上
0.2.4为latest
v0.2.3
发布 0.2.3:读路径与开发者模式
代码内容(本次 tag 包含的 5 笔):
- 读路径:前缀读 + 签名缓存 + 单趟投递。列表只读文件头、同一份文件一次变更只读一次;
补投从「每会话扫一遍全库」改为一趟账本服务所有等待会话(20×200 场景 21–31s → 冷 309ms / 热 32ms)。
磁盘格式与语义均未变:待投仍由跳流派生,每份仍在锁内重读跳流后才投。 - 开发者模式:预设代理改为插件自有状态(不向 DSH 注册预设)、结论归档让 fork 不必重踩、
退役时的声明式交接(report_transfer / report_handover)。 - 文档订正:工具数量改为十三个(开工作区十四个);门禁计数改为十四套 1034 项 + 工具面三套 162 项。
验证(本机 0.2.3 源码):tsc 0 错;pnpm test 14 套 1034 项全绿;pnpm test:tools 3 套 162 项全绿;
pnpm build 后 lib 与源码一致(CI 的「Committed lib/ matches a fresh build」会核同一件事)。
兼容性:dsh.compatibility.dshReleases 保持只声明 0.2.0-rc.2。对 0.2.1-rc.2 已核 shell 冻结
模块表(9 条逐条相同)与所用 primitives 导出,但未在其上跑完整套件,不写进已验证目录。
未做:隔离环境安装验证(0.2.0 起即缺)。
v0.2.2
dsh-report-ledger 0.2.2
提示词
- PROTOCOL 增加第 6 条行为约定:会话或网络中断后先对账再继续,用
eport_list / peer_list 找到最后落下的跳、谁已交付、谁还在线;以汇报正文、任务标签与传递路径为检查点,不从头重做;重试投递或创建前先确认动作是否已经落地。
验证
- pnpm check exit 0:10 套可移植检查 887 项 + 工具面 162 项
- npm、GitHub Release、Gitee Release 三处产物一致(8 文件 tarball)
v0.2.1
dsh-report-ledger 0.2.1
发布前审计与修复版本。
修复
- 投递 source kind 对齐 DSH session format v4(旧写法会让收件方首轮在第 1 步失败)
- CRLF/BOM 账本文件可读;重复 hand-off 不再丢失;read 与投递泵进 per-report 锁
- 写入路径由 report id 决定;列表对坏条目容错;ack 校验收件人
- 工作区回收不再删除仍被 held 的采纳检出;sameClaim 跨仓库/同路径语义修正
- 视图时间轴、线程跳转滚动、非阻断错误态;画布主题、fit 死区、悬停重绘底图
- CI 可移植测试集修复(workspace/roster 移到 test:tools);lib 重建并与源码一致
验证
- 完整本地门禁 exit 0:10 套可移植检查 883 项 + 工具面 162 项
- 干净环境(仅 yaml)10 套 883 项通过;CI Linux 通过
- npm tarball 8 文件;干净 DSH_HOME 安装 + dump-config 通过
v0.2.0 —— 可选的工作区支持:一份汇报一个 git 检出
可选的工作区支持:一份汇报一个 git 检出
功能默认关闭。不开启时没有 git 调用、没有目录,工具里也不会出现 worktree 参数,
因此不需要它的部署付出的代价是零。
- 分层实现:git 适配器(结构上不含
--force)/ 双层占用裁判(git 查现实、账本查意图)/
分配与两套预算 / 只读维护视图 - 三个新跳:
leased、released、reclaimed。绑定(front matter,永不清除)、占用
(跳流派生)、归属(allocated)是三个刻意分开的维度 - 新工具:
report_lease、report_release;peer_start/report_author/
report_close增加可选参数 - 界面:报告行显示检出标记,色调即占用状态,点一下就以它为条件过滤
- 维护端点:
GET /api/report-ledger/worktrees呈现两件账本结构上看不到的事——
git 有而没有任何报告绑定的检出,以及目录已被删掉、git 报为悬空的条目
安全轨
- 适配器里没有
--force:没有任何调用方能覆盖 git 的保障 - 结案默认不动磁盘;
remove-if-clean也只删干净的,被拒时原样抛出 git 的话而不是吞掉 - 删除的授权只来自报告:只有账本自建的检出才可能被回收,人手建的永不碰
- 没有"接管"策略:缺席的持有者不会被抢走检出
安装
dsh plugin --profile web add dsh-report-ledger预构建产物,安装时不跑任何构建脚本、不需要 allowBuilds 授权。本版以 npm 可信发布(OIDC)
发布,并附 provenance 证明。
国内镜像见 Gitee。
本发行版附件的校验
附件与 npm 上 dsh-report-ledger@0.2.0 是同一个文件(同一次 CI 构建):
shasum 6c59fa882295f14ea92d3bbf9eca2363654aaa84
也可直接核对 npm view dsh-report-ledger@0.2.0 dist.shasum。
完整变更
1017e16 功能 · 016c8ac 修正 · c206bcf 版本 · 1ae6d68 平台断言 · 2b01e4e CI 与测试拆分 ·
1a94610 · 6463035 · 3347393 发布链路修复
v0.1.0
DSH 插件:把「汇报」做成代理之间的一等交互原语 —— 可追溯的传递路径账本、回执/结案/修正,以及一个会话时间线标签页。
安装(三选一)
1. 直接下载本 Release 里的 tarball(不需要构建工具链)
dsh plugin --profile web add ./dsh-report-ledger-0.1.0.tgz2. 从 GitHub 装(安装时自动构建,约 15 秒;钉住 commit 更安全)
dsh plugin --profile web add github:stone-brick/dsh-report-ledger#98c9eea3. npm(发布后可用)
dsh plugin --profile web add dsh-report-ledger装完重启 profile(dsh web)。验证:dsh --profile web --dump-config 应出现 # == dsh-report-ledger 这一层。
要求
- DSH 0.1.5-rc.3(实测)
- 账本落在
\/report-ledger/,是本机文件,不上传任何地方 - 浏览器半在会话头部新增一个「汇报」标签页;宿主半在任何 profile 都可用