Skip to content

Releases: stone-brick/dsh-report-ledger

v0.2.5

Choose a tag to compare

@github-actions github-actions released this 28 Oct 11:10

发布 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

Choose a tag to compare

@stone-brick stone-brick released this 28 Oct 02:26

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

Choose a tag to compare

@stone-brick stone-brick released this 28 Oct 02:26

发布 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

Choose a tag to compare

@stone-brick stone-brick released this 20 Oct 15:51

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

Choose a tag to compare

@stone-brick stone-brick released this 20 Oct 12:06

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 检出

Choose a tag to compare

@stone-brick stone-brick released this 11 Oct 13:58

可选的工作区支持:一份汇报一个 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

Choose a tag to compare

@stone-brick stone-brick released this 24 Sep 12:03

DSH 插件:把「汇报」做成代理之间的一等交互原语 —— 可追溯的传递路径账本、回执/结案/修正,以及一个会话时间线标签页。

安装(三选一)

1. 直接下载本 Release 里的 tarball(不需要构建工具链)

dsh plugin --profile web add ./dsh-report-ledger-0.1.0.tgz

2. 从 GitHub 装(安装时自动构建,约 15 秒;钉住 commit 更安全)

dsh plugin --profile web add github:stone-brick/dsh-report-ledger#98c9eea

3. 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 都可用