@feng0531/dsh-code-review 0.80.1 → 0.81.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,9 +2,19 @@
2
2
 
3
3
  本文件介绍对使用者有意义的变化。安装与参数见 [README](README.md),本次发布正文见 [发布说明](RELEASE-NOTES.md)。历史提交和安装包保留在 [GitHub Releases](https://github.com/f-e-n-g-0531/dsh-code-review/releases);本文不把开发日志当作功能介绍。
4
4
 
5
- ## 0.80.0 — SVN集中能力更新
5
+ ## 0.81.0 — 多会话独立审查与全项目当前源码
6
6
 
7
- 集中加入固定跨分支、祖先mergeinfo、独立历史基线替换树、链接记录、固定宽度/复合关键字与全采集预算。明确unknown和不可恢复状态,不隐式跟随链接/externals。原生%_空格格式通过复现,引号配置拒绝。详情见本版发布说明,统一验收完成前不称正式交付。
7
+ 不同会话不再被全局busy阻塞,预览/锁/取消/模型/预算独立。新增reviewMode=project,跟踪当前源码分批检查并保持准确覆盖;不是差异审查,不把空旧侧当历史基线。项目模式有明确总量和共享调用限制,未完成不冒充成功。
8
+
9
+ ## 0.80.2 — 替换树祖先校验、多行关键字与文档纠错
10
+
11
+ 修复不安全替换祖先下子文件误获批准及祖先属性未进入身份的问题;修复合法换行关键字配置和XML数字引用解码。对外指南按用途重整,明确当前支持与历史证据的区别,不宣称完整语义绑定或模型质量等价。
12
+
13
+ ## 0.80.1 — SVN集中能力更新
14
+
15
+ v0.80.0只冻结过标签,因Unix链接样本夹具失败没有正式发布;修正后以v0.80.1交付,原标签未移动。
16
+
17
+ 集中加入固定跨分支、祖先mergeinfo、独立历史基线替换树、链接记录、固定宽度/复合关键字与全采集预算。明确unknown和不可恢复状态,不隐式跟随链接/externals。原生%_空格格式通过复现,引号配置拒绝。具体操作和当前限制见README及SVN支持矩阵;本段记录该版本发布时的变化,不代表所有SVN状态都可审查。
8
18
 
9
19
  ### 同批发布等待优化
10
20
 
@@ -1,91 +1,28 @@
1
- # 核心能力对照与剩余工作
1
+ # 能力概览与已知边界
2
2
 
3
- 本文供维护者和关注开发进度的用户阅读,不是安装说明。日常使用见 [README](README.md)。
3
+ 本文说明当前实现做什么、不证明什么;日常操作见 [README](README.md),SVN具体模式见 [支持矩阵](SVN-SUPPORT-MATRIX.md)。它不是与其他产品的质量等价证明,也不使用版本数、测试数或阅读量计算“对齐百分比”。
4
4
 
5
- 对照对象是 alibaba/open-code-review 的固定提交 2d67596c961f80436deb2afa643efa2b1725d34c。只对齐代码审查所需能力,不建设管理平台、自动修复或独立模型计费系统。
5
+ ## 已实现的机制
6
6
 
7
- **结论:保守语法范围内的核心代码审查能力已对齐并通过组合验收;剩余仅为超出保守边界的语义绑定(继承/动态分派)与目标明确后置的真实模型质量评测。不能用版本数量或测试数量表示对齐百分比。**
8
-
9
- ## 已具备的能力
10
-
11
- | 能力 | 已完成内容 | 不能据此推断 |
7
+ | 能力 | 用途 | 不能据此推断 |
12
8
  |---|---|---|
13
- | 变更采集 | Git/SVN 本地变更、Git 固定历史版本、位置与原文校验 | 支持所有 SVN 状态或历史模式 |
14
- | 范围保护 | 预览确认、版本与内容指纹、执行前复核、凭据路径排除 | 普通源码中一定没有秘密 |
15
- | 审查流程 | 风险规划、分组与回退、窗口分析、跨文件综合、候选反证 | 模型一定找到所有问题 |
16
- | 检索 | 只在批准文件中查找、搜索和读行段,记录来源与证据 | 找到名称就证明符号绑定 |
17
- | 引用方发现 | Git 工作区、历史与 SVN 的指定目录字面引用导航;命名空间成员调用导航 | 完整函数调用图、类实例或动态分派 |
18
- | 历史上下文 | 显式旧版本文件;复用已批准删除依赖的旧正文 | 自动批准对应的新正文 |
19
- | 审查次数 | 默认一次,可选 1~3 次,各阶段共享预算 | 次数增加就保证效果提高 |
20
- | 文件指导 | 常用语言大类、五类协议与剩余函数式/HDL/智能合约/格式的保守提示 | 全部语言专用检查已验收;提示不代替语义解析 |
21
-
22
- ## 结论与边界
23
-
24
- 保守语法范围内的核心审查能力已对齐并正式交付:变更采集、范围保护、审查流程、检索、字面/命名空间/类实例调用方发现、命名与默认定义、历史同版本上下文、三层依赖链、语言与各类文件(模板、基础设施、依赖清单、配置)的专用指导及五类协议提示、多轮×窗口×检索×分组×验证的组合验收。以下剩余项不在本目标的保守范围或由目标明确后置,不猜测也不虚假宣称完成:
25
-
26
- - 继承、原型链与动态分派:需要语言解析器或类型检查器做语义绑定,超出「只读批准快照、不放宽预算」的保守边界。
27
- - 完整语义调用方、别名与跨目录实例上下文:需要语义解析器;保守的命名/默认/命名空间成员/类实例方法导航已交付,其余不猜测。
28
- - SVN 全面支持扩展:用户已要求将工作副本特殊状态与固定 revision 历史审查纳入新目标。固定 SVN 历史、oldContextPaths、三层依赖与限定调用方已分批交付;不能因此推断特殊工作副本状态、跨 URL 或有效继承 mergeinfo 已支持。SVN 当前缺口、批次与验收见 [SVN 支持矩阵](SVN-SUPPORT-MATRIX.md)。
29
- - 真实模型质量评测:目标明确后置,保存真实输出、人工裁决、分开统计,不作为对齐前提。
30
-
31
- 各版交付结论见「当前验证结论」与 [版本变化](CHANGELOG.md)。
9
+ | Git/SVN变更采集 | 工作副本、固定历史端点和同仓库SVN分支比较 | 任意SVN状态均可审查、完整提交逐一覆盖 |
10
+ | 范围与来源保护 | 先预览后确认,固定来源与哈希,执行前重新采集 | 普通源码一定没有秘密、模型提供方不保存数据 |
11
+ | 上下文 | 显式文件、旧侧文件、最多三层字面依赖、限定目录引用方 | 完整语义依赖图、调用图或动态执行可达性 |
12
+ | 输入与调度 | 差异窗口、分组和失败回退,共享预算 | 大仓库一定能在预算内完成 |
13
+ | 问题复核 | 原文位置检查、模型反证与状态记录 | 缺陷必然成立、无漏报或无误报 |
14
+ | 文件指导 | 语言、协议、配置与模板的保守检查提示 | 编译器、类型检查器或真实运行结果 |
32
15
 
33
- ## 当前验证结论
16
+ ## 当前限制
34
17
 
35
- - 最近完整回归:521项通过;v0.79.0 关键字组合6项通过。
36
- - v0.79.0 已发布简单Name=%r自定义revision关键字,原文/BASE核验与预算保持,其他自定义格式/固定宽度不冒充支持;宿主/隔离安装及四矩阵CI通过,原始Actions/npm/Release包152,877字节逐字节一致,双哈希/清单/冻结正文通过。后续按完整能力组织批次,减少细碎重复全量发布;全面SVN仍未闭环。
37
- - v0.78.0 已发布标准关键字限定调用方,原展开命中正文捕获、非匹配隔离,扫描和BASE核验共享来源预算/截止;宿主/隔离安装及四矩阵CI通过,原始Actions/npm/Release包151,916字节逐字节一致,双哈希/清单/冻结正文通过。特殊状态、有效继承mergeinfo与跨URL等继续待闭环。
38
- - v0.77.0 已发布自动标准关键字依赖及显式入口,复用BASE核验/身份复核,全部正文共享来源预算,原展开证据保留,不支持配置明确阻断;宿主/隔离安装和四矩阵CI通过,原始Actions/npm/Release包151,247字节逐字节一致,双哈希/清单/冻结说明通过。调用方关键字与其余全面SVN缺口继续。
39
- - v0.76.3 已发布本地导航共享1MiB来源/30秒截止BUG修复,显式/依赖/调用方扫描及关键字BASE核验共同扣费,共享耗尽传播失败;宿主/隔离安装和四矩阵CI通过,原始Actions/npm/Release包150,607字节逐字节一致,双哈希/清单/冻结正文通过。全面SVN其余缺口继续。
40
- - v0.76.2 已发布普通SVN变更来源URL/UUID/revision冻结和切换祖先阻断,预览execute来源变化拒绝且零发送;v0.76.1测试编码断言失败未发布、原标签保留,修正后四矩阵CI通过。原始Actions/npm/Release包149,274字节逐字节一致,双哈希/清单/冻结正文通过。共享预算超限独立BUG仍待修复。
41
- - v0.76.0 已发布独立显式标准关键字上下文,BASE展开/未展开核验计入原来源预算,原始展开正文为证据,预览元数据披露;宿主/隔离安装及四矩阵CI通过,原始Actions/npm/Release包147,614字节逐字节一致,双哈希/清单/冻结说明通过。自动依赖/调用方关键字与全面SVN其余缺口继续。
42
- - v0.75.1 已发布根级上下文祖先检查BUG修复,所有节点指纹绑定祖先属性,mergeinfo变化使旧身份过期,不安全根属性拒绝;宿主/隔离安装和四矩阵CI通过,原始Actions/npm/Release包146,408字节逐字节一致,双哈希/清单/冻结正文通过。纯BUG递增Z;全面SVN缺口继续。
43
- - v0.75.0 已发布独立显式SVN工作副本上下文节点/属性/URL身份核验与EOL元数据,末尾复核且离线受限,拒绝不安全来源;宿主/隔离安装与四矩阵CI通过,原始Actions/npm/Release包145,650字节逐字节一致,双哈希/清单/冻结说明通过。关键字、特殊状态与分支来源等缺口继续。
44
- - v0.74.0 已发布离线自动依赖/显式导航入口/命中调用方EOL元数据与normal属性候选漏选修复,关键字/special/非正常状态仍检查;宿主/隔离安装与四矩阵CI通过,原始Actions/npm/Release包144,494字节逐字节一致,双哈希/清单/冻结正文通过。独立无autoContext显式本地属性映射、关键字与其余SVN缺口继续。
45
- - v0.73.0 已发布固定历史上下文逐侧EOL来源元数据,显式/旧侧/依赖/调用方保持原身份,预览不含正文,篡改映射拒绝;宿主、隔离安装与四矩阵CI通过,原始Actions/npm/Release 143,452字节逐字节一致,双哈希/清单/冻结说明通过。工作副本关键字上下文及其余SVN缺口继续。
46
- - v0.72.0 已发布可操作使用指南与固定历史变更文件逐侧EOL元数据,缺失/目录侧明确null,原来源身份/正文保持;实际宿主、隔离安装与四矩阵CI通过;原始Actions/npm/Release包142,623字节逐字节一致,双哈希/清单/冻结发布说明通过。历史上下文EOL、关键字上下文、未提交替换和跨URL等仍未闭环。
47
- - v0.71.0 已发布工作副本 EOL 纯元数据映射,原文/原字节证据保持,单CR明确不套用规范化行号。实际宿主、隔离安装和四矩阵CI通过;原始Actions/npm/Release 139,804字节逐字节一致,双哈希、清单和冻结正文核验通过。历史EOL元数据、关键字上下文、未提交替换和跨URL等继续待闭环。
48
- - v0.70.0 已发布标准 SVN 工作副本关键字原文审查,BASE收缩独立核验、原正文/hash/行号不替换,预览披露映射。504 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 137,678 字节逐字节一致,双哈希、清单与冻结发布说明通过。自定义/固定宽度关键字、换行规范化、未提交替换、跨URL分支等缺口仍未闭环。
49
- - v0.69.0 已发布固定 SVN 历史限定调用方与autoContext组合,扫描两侧候选、仅命中侧正文捕获,同侧声明导航,统一采集/来源/探测预算;字面发现仍明确不完整。502 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 136,030 字节逐字节一致,双哈希、清单与冻结发布说明通过。全面 SVN 目标仍未完成。
50
- - v0.68.0 已交付固定 SVN 历史三层 autoContext,逐侧正文/来源固定、父目录有界清单确认精确节点,不吞访问失败,不读工作树。496 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 134,056 字节逐字节一致,双哈希、清单与冻结发布说明通过。历史调用方和全面 SVN 其他缺口继续。
51
- - v0.67.0 已交付 SVN 工作副本 BASE/工作侧 mergeinfo 的有界显式导航、预览与报告披露,不扩大来源读取或将导航视为审查证明。489 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 130,866 字节逐字节一致,双哈希、清单与冻结发布说明通过。全面 SVN 目标仍未完成。
52
- - v0.66.1 已修复根目录 mergeinfo 条目在工作副本依赖/调用方候选的非法路径失败,祖先仅合并记录属性变化经双侧比较后允许且仍入指纹。488 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 130,642 字节逐字节一致,双哈希、清单与冻结发布说明通过。全面 SVN 目标仍未完成。
53
- - v0.66.0 已交付批准历史 mergeinfo 属性的有界来源/区间导航,不展开 revision、不读取来源,也不证明有效继承/归属/审查覆盖。485 项串行回归、宿主、隔离安装及四矩阵 CI 通过;原产物/npm/Release 129,866 字节逐字节一致,双哈希、清单与冻结发布说明通过。跨 URL 分支比较、自动历史链/调用方等仍未完成。
54
- - v0.65.0 已交付固定 SVN 历史文件/目录类型替换,各侧节点类型/正文/属性与来源独立绑定,预览披露且后代覆盖保护保留。482 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 128,792 字节逐字节一致,双哈希、清单与冻结发布说明通过。未提交替换、自动历史链/调用方和其他全面 SVN 缺口仍待实现。
55
- - v0.64.1 已修复已提交 SVN 历史替换的同路径增删记录,真实目标旧/新正文和属性逐侧读取。481 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 128,279 字节逐字节一致,双哈希、清单与冻结发布说明通过。未提交工作副本替换和类型变化等仍未支持,全面目标继续。
56
- - v0.64.0 已交付 SVN 历史 oldContextPaths,仅旧侧正文及来源身份,不合成目标,选中旧变更复用原身份,排除项拒绝回流。479 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 127,879 字节逐字节一致,双哈希、清单与冻结发布说明通过。自动历史链、调用方及全面 SVN 矩阵仍未闭环。
57
- - v0.63.0 已交付 SVN 历史显式双侧上下文与目标规则,以及模型 JSON/read 请求的安全诊断。477 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 127,355 字节逐字节一致,双哈希、清单与冻结发布说明通过。用户 loader 的实际协议失败尚未核验,不宣称已修复该样本;历史自动链/调用方、旧侧独有上下文及其他 SVN 缺口继续。
58
- - v0.62.0 已交付 SVN 原生固定 revision/区间初始审查:显式远端门禁、固定双侧正文/属性/来源身份、目录后代覆盖和确认执行链。472 项串行回归、宿主、隔离安装与四矩阵 CI 通过;原产物/npm/Release 125,486 字节逐字节一致,双哈希、清单与冻结发布说明通过。历史上下文/规则/调用方、跨 URL 分支和工作副本替换等仍待实现。
59
- - v0.61.0 已交付同仓库目录复制后代显式覆盖与继承来源身份;目标新增空旧侧、预览零发送、离线及凭据后代保护通过。465 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 120,159 字节逐字节一致,双哈希、清单与冻结发布说明通过。替换、关键字与历史等继续待实现。
60
- - v0.60.1 已交付 SVN 阻断状态稳定诊断及预览/报告原因码;普通与复制替换仍明确拒绝,不冒充真实双侧支持。463 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 119,462 字节逐字节一致,双哈希、清单与冻结发布说明通过。全面 SVN 目标继续。
61
- - v0.60.0 已交付 SVN 普通目录新增/删除的后代逐项覆盖,离线补齐默认 status 隐藏的删除后代;显式选择、凭据排除与原预算仍生效。461 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 118,284 字节逐字节一致,双哈希、清单与冻结发布说明通过。目录复制、替换及历史等仍在后续矩阵中。
62
- - v0.59.0 已交付 SVN 同仓库复制新增文件和文件移动的新增/删除独立覆盖。459 项串行回归、实际宿主、隔离安装和四组 CI 通过;原产物/npm/Release 117,098 字节逐字节一致,SHA-256、SHA-512、清单与冻结发布说明通过。复制替换、目录后代和历史审查等仍未闭环。
63
- - v0.58.1 已交付 SVN 根目录 mergeinfo 属性预览修复及全面支持矩阵。456 项串行回归、实际宿主、隔离安装与四组 CI 通过;npm、Release 与原包 116,254 字节逐字节一致,SHA-256、SHA-512、清单与冻结发布说明核验通过。SVN 全面扩展目标仍在进行,历史与特殊状态尚未全部支持。
64
- - v0.58.0 已正式交付实验性本地评测入口及可靠性整理。454 项串行回归、实际宿主、隔离安装与四组 CI 通过;npm、Release 与原包 113,697 字节逐字节一致,SHA-256、SHA-512、清单与冻结发布说明核验通过。正常 DSH 审查行为与预算不变;尚无真实模型基准评分。
65
- - v0.57.0 已正式交付对齐结论与边界收尾。449 项回归与四组 CI 通过;npm、Release 与原包 108,451 字节一致,SHA-256、SHA-512、清单与发布说明核验通过;不改变审查行为或参数。
66
- - v0.56.0 已正式交付依赖清单与配置文件专用指导。449 项回归、实际宿主、隔离安装与四组 CI 通过;npm、Release 与原包 108,081 字节一致,SHA-256、SHA-512、清单与发布说明核验通过;不改变审查行为或参数。
67
- - v0.55.0 已正式交付模板引擎与基础设施即代码专用指导。446 项回归、实际宿主、隔离安装与四组 CI 通过;npm、Release 与原包 106,969 字节一致,SHA-256、SHA-512、清单与发布说明核验通过;不改变审查行为或参数。
68
- - v0.54.0 已正式交付对齐结论与边界收尾。443 项回归、实际宿主与四组 CI 通过;npm、Release 与原包 104,761 字节一致,SHA-256、SHA-512、清单与发布说明核验通过;不改变审查行为或参数。
69
- - v0.53.0 已正式交付分组×验证×检索的组合验收。443 项回归、实际宿主、13 项独立安装专项与四组 CI 通过;npm、Release 与原包 104,757 字节一致,双哈希与清单核验通过;不改变审查行为或参数。
70
- - v0.52.1 已正式交付保守类实例方法导航。442 项回归、实际宿主、24 项独立安装专项和四组 CI 通过;npm、Release 与原包 104,817 字节一致,SHA-256、SHA-512 与清单核验通过。v0.52.0 复核发现接收者逃逸、静态修饰符与字段初始化器幻影方法误判且未参与预算省略,由 0.52.1 替代,未发布不计作交付。
71
- - v0.51.0 已正式交付多轮×窗口×检索×预算的组合验收。432 项回归、实际宿主、12 项独立安装专项与四组 CI 通过;npm、Release 与原包 102,433 字节一致,双哈希与清单核验通过;不改变审查行为或参数。
72
- - v0.50.0 已正式交付 ObjC/Swift/Kotlin/Java/C# 生命周期与并发细化提示。431 项回归、实际宿主、9 项独立安装专项和四组 CI 通过;npm、Release 与原包 102,412 字节一致,SHA-256、SHA-512 与清单核验通过。
73
- - v0.49.0 已正式交付 Go/Python/Rust 运行时提示与 ArkTS 提示。430 项回归、实际宿主、11 项独立安装专项和四组 CI 通过;npm、Release 与原包 101,770 字节一致,SHA-256、SHA-512 与清单核验通过。发布阶段 npm 成功、Release 创建因 registry 瞬时 404 由保存原产物手工补建并复核一致。
74
- - v0.48.0 已正式交付剩余函数式/HDL/智能合约/格式语言的保守缺陷提示。429 项回归、实际宿主、10 项独立安装专项和四组 CI 通过;npm、Release 与原包 101,539 字节一致,SHA-256、SHA-512 与清单核验通过。
75
- - v0.47.0 已正式交付命名空间成员调用导航。424 项回归、实际宿主、17 项独立安装专项和四组 CI 通过;npm、Release 与原包 98,883 字节一致,SHA-256、SHA-512 与清单核验通过。
76
- - v0.46.0 已正式交付历史同版本调用方导航与可选线索预算回退。416 项回归、实际宿主、13 项独立安装专项和四组 CI 通过;npm、Release 与原包 97,482 字节一致,SHA-256、SHA-512 与清单核验通过。
77
- - v0.45.1 已正式交付保守的调用方语法线索及两项边界修正。413 项回归、实际宿主、10 项独立安装专项和四组 CI 通过;npm、Release 与原包的 96,700 字节一致,SHA-256、SHA-512 与清单核验通过。v0.45.0 已发布但存在逐条导入歧义与历史元数据混侧错误,由 0.45.1 替代,不计作安全对齐。
78
- - 实际 DSH 工具运行时检查通过;模型响应受控,不是质量成绩。
79
- - v0.39.0 独立安装包的真实 Git、服务与预算测试:5 项通过。
80
- - v0.39.1 已正式交付,包含 Git 工作区三层依赖能力。四组 CI 通过;npm、Release 与保存原包的 91,502 字节完全一致,SHA-256、SHA-512 和校验清单通过。v0.39.0 不单独计作已核验交付。
81
- - v0.40.0 已正式交付手动上下文依赖导航。四组 CI 与唯一发布通过,npm、Release 与保存原包的 91,901 字节完全一致,双哈希及校验清单通过。准确语义绑定和剩余旧侧来源等差距仍保留。
82
- - v0.44.0 已正式交付默认导入的定义位置。407 项回归、实际宿主、独立安装与四组 CI 通过;npm、Release 与原包的 95,672 字节一致,双哈希及校验清单通过。
83
- - v0.43.1 已正式交付已批准正文中的唯一定义位置。406 项回归、实际宿主、独立安装与四组 CI 通过;npm、Release 与原包的 95,203 字节一致,双哈希及校验清单通过。v0.43.0 候选在发布前复核被替代,不计作交付。
84
- - v0.42.0 已正式交付 SVN 安全三层链。400 项回归、实际宿主、独立安装与四组 CI 通过;npm、Release 与原包的 94,404 字节一致,双哈希及校验清单通过。
85
- - v0.41.0 已正式交付 Git 历史两侧三层链。393 项回归、实际宿主、独立安装与四组 CI 通过;npm、Release 与原包的 93,202 字节一致,双哈希及校验清单通过。
18
+ - 继承、重载、宏、动态分派和复杂别名不做完整语义绑定。
19
+ - SVN冲突、缺失、阻塞、incomplete等没有可确认目标时只诊断,不自动解决。切换/外部来源不隐式跟随。
20
+ - 替换旧侧可采用用户明确选择的固定仓库基线,但这不等于恢复了丢失的本地BASE。
21
+ - 所有测试和安装验证只证明对应机制的行为,不能外推真实模型质量。当前没有独立质量基准成绩;历史试跑见 [评测说明](evaluation/README.md)。
22
+ - 不执行项目代码,不自动修复、提交、发布业务项目,也不建设独立模型计费或管理平台。
86
23
 
87
- ## 不在范围内
24
+ ## 如何查看版本证据
88
25
 
89
- 自动改代码、管理平台、独立模型配置与费用系统、无限扫描仓库、运行项目代码。保守拒绝不支持的内容是安全边界,不应为了模拟参考实现而取消。
26
+ 用户可见变化见 [版本变化](CHANGELOG.md),正式包与冻结版本见 [GitHub Releases](https://github.com/f-e-n-g-0531/dsh-code-review/releases)。历史发布结果不作为当前支持范围;当前代码修复仍需对应版本的测试与工件核验。
90
27
 
91
- 参考来源及语言差距见 [源码对照](CORE-SOURCE-INVENTORY.md)。小规模模型观察见 [评测结果](https://github.com/f-e-n-g-0531/dsh-code-review/blob/main/evaluation/PILOT-RESULTS.md)。
28
+ 参考来源见 [参考源码对照](CORE-SOURCE-INVENTORY.md)。
@@ -6,7 +6,7 @@
6
6
 
7
7
  ## 对照结论
8
8
 
9
- 已阅读核心审查模块、54 篇语言规则,以及相关的 Git 命令、路径、模型和覆盖状态依赖。**保守语法范围内的对应能力已实现并通过组合验收;剩余仅为超出保守边界的语义绑定(继承/动态分派)与后置的真实模型质量评测。**
9
+ 下表保留固定参考版本的历史阅读记录,用于定位设计来源,不代表重新审计了上游,也不证明本项目与参考实现功能或质量等价。当前支持范围和限制以 [能力概览](CORE-ALIGNMENT-TASKS.md) 与 [SVN支持矩阵](SVN-SUPPORT-MATRIX.md) 为准;真实模型效果需独立评测。
10
10
 
11
11
  | 参考模块 | 当前对应能力 | 仍需补齐 |
12
12
  |---|---|---|
package/DEVELOPMENT.md CHANGED
@@ -12,6 +12,12 @@
12
12
 
13
13
  宿主检查加载真实 DSH 工具运行时,但使用受控模型响应,不是 GUI 安装或真实模型质量测试。Windows SVN 需要支持 UTF-8 路径;CI 使用临时工具,不修改用户安装。
14
14
 
15
+ ## 会话与模式
16
+
17
+ 服务按DSH session对象隔离缓存和锁,同一会话changes/project两种模式共用互斥锁;不同会话可并行,模型调用与取消由各请求生命周期约束。宿主dispose终止全部会话服务。全项目是跟踪文件的当前源码分批,不是多仓库汇总或跨批次语义分析。
18
+
19
+ 项目捕获最多10000清单节点、1000选择节点、16MiB,总模型调用100、执行10分钟;初次捕获/末尾检查及执行重新捕获均有显式截止。SVN项目模式拒绝不支持节点属性,不隐式继承固定历史审查的网络权限。
20
+
15
21
  ## 审查预算
16
22
 
17
23
  除 README 中的文件和输入上限外:
@@ -19,6 +25,7 @@
19
25
  - 每个主文件的模型与检索阶段共享默认 120 秒;关联综合沿用相关主文件的生命周期,不因切换阶段重新计时。
20
26
  - 每阶段最多三轮检索;全局最多 50 次读取请求,返回内容累计 256 KiB,单次最多 64 KiB,读取最多 200 行。
21
27
  - Git 工作区依赖链最多三层、512 个精确路径查询、20 个候选、手动入口与自动依赖共享 1 MiB 正文;文件读取与最终复核共享 30 秒。
28
+ - SVN工作副本全采集共享512条命令、1MiB元数据和30秒截止,含初始/重复采集、导航、属性和末尾验证;cat输出另受16MiB总硬上限约束。历史采集也有独立的512命令、1MiB元数据、30秒及正文上限。
22
29
  - SVN 依赖链最多三层,以精确本地路径和安全正常节点捕获;512 路径、20 候选和上下文。工作副本显式上下文、自动依赖、调用方扫描(含非命中)及关键字BASE核验共享1 MiB来源账本与30秒含核验截止,不能切换阶段重新获得额度;切换、外部与不支持属性节点拒绝。
23
30
  - Git 历史依赖链同样最多三层,两侧共享 512 个路径、20 个候选和上下文、1 MiB 正文及 30 秒;只读取固定对象。
24
31
  - 引用方发现最多四个不重叠的非根目录;128 个候选正文共 1 MiB,目录索引最多 256 条/64 KiB,竞争路径最多 512 个。发现与复核共享 30 秒。
@@ -27,7 +34,7 @@
27
34
 
28
35
  ## 正式发布
29
36
 
30
- 按最新要求,先集中完成SVN支持矩阵全部剩余功能,再统一执行复现验收、全量测试、提交推送及正式发布;开发中不逐小功能测试、打标签或发布。未执行的测试用例和未验收实现必须明确标注。版本格式为 `vX.Y.Z`:X是大版本(重大或不兼容升级),Y是小版本/新增功能,Z是BUG修复;纯修复递增Z,不一律递增Y。已发布标签不移动,发布不自动安装、升级或重启宿主。
37
+ 将一次完整需求的代码和文档改动集中完成,再统一执行相关复现、全量测试、提交推送与正式发布;不把同一功能拆成多个细碎发布。未执行的测试和未验收实现必须明确标注。版本格式为 `vX.Y.Z`:X是大版本(重大或不兼容升级),Y是小版本/新增功能,Z是BUG修复;纯修复递增Z,不一律递增Y。已发布标签不移动,发布不自动安装、升级或重启宿主。
31
38
 
32
39
  1. 修改版本号与锁文件;更新 [变更记录](CHANGELOG.md) 和 [发布说明](RELEASE-NOTES.md)。
33
40
  2. 完成测试、差异检查和独立安装验证后,提交、推送,并创建对应 vX.Y.Z 标签。标签一旦进入发布流程就不再移动。
package/README.md CHANGED
@@ -132,13 +132,13 @@ dsh plugin add https://github.com/f-e-n-g-0531/dsh-code-review.git
132
132
  {"svnBaseRevision":"7300","svnTargetRevision":"7315","svnAllowNetwork":true,"autoContext":true}
133
133
  ```
134
134
 
135
- 这是两个版本端点的比较,**不是逐一审查区间内的每个提交**。revision 使用带引号的十进制数字,不写 `r7315`、`HEAD` 或日期;旧版本必须小于新版本。`svnRevision` 与区间参数不能同时使用,也不能混用 Git 版本参数。
135
+ 这是两个版本端点的比较,**不是逐一审查区间内的每个提交**。revision 使用带引号的十进制数字,不写 `r7315`、`HEAD` 或日期;同一路径比较要求旧版本小于新版本;不同分支可使用相同 revision(见下一节)。`svnRevision` 与区间参数不能同时使用,也不能混用 Git 版本参数。
136
136
 
137
137
  `svnAllowNetwork:true` 只允许读取本次工作副本对应仓库的固定版本,不授权更新、合并或任意远端 URL。本地 `file:` 仓库通常无需此参数。
138
138
 
139
- ### 比较 SVN 两个分支(v0.80.0)
139
+ ### 比较 SVN 两个分支
140
140
 
141
- 以下为v0.80.0集中更新的用法;安装旧版本时这些参数不可用,先确认当前加载版本。
141
+ 跨分支、有效继承属性和独立基线替换从正式版 v0.80.1 提供。请先确认当前 DSH 加载的版本;仅更新仓库不会升级宿主插件。
142
142
 
143
143
  ```json
144
144
  {"svnBaseRevision":"7315","svnTargetRevision":"7315","svnBasePath":"branches/release","svnTargetPath":"trunk","svnAllowNetwork":true,"autoContext":true}
@@ -146,7 +146,7 @@ dsh plugin add https://github.com/f-e-n-g-0531/dsh-code-review.git
146
146
 
147
147
  分支路径相对于当前SVN仓库根,不是本地目录或任意URL。旧、新两侧分别固定URL、peg与operative revision;同revision可以比较不同分支。只能在同仓库UUID内比较;嵌套重叠根和不明确来源拒绝,不能推断merge提交归属。
148
148
 
149
- ### 查看有效继承 mergeinfo(v0.80.0)
149
+ ### 查看有效继承 mergeinfo
150
150
 
151
151
  ```json
152
152
  {"svnRevision":"7315","svnAllowNetwork":true,"svnEffectiveMergeinfo":true}
@@ -154,7 +154,7 @@ dsh plugin add https://github.com/f-e-n-g-0531/dsh-code-review.git
154
154
 
155
155
  显式允许读取选中节点及最近祖先的合并属性,额外读取受共享预算限制;工作副本模式也可使用该开关并保持离线。空属性屏蔽继承,祖先证据不完整、混合BASE或不安全来源显示unknown;结果仅为属性导航,不证明相关revision已经审核。
156
156
 
157
- ### 审查未提交替换(v0.80.0)
157
+ ### 审查未提交替换
158
158
 
159
159
  ```json
160
160
  {"selectedPaths":["src/module","src/module/old.cpp","src/module/new.cpp"],"svnReplacementBaseRevision":"7314","svnReplacementAllowNetwork":true}
@@ -182,9 +182,9 @@ dsh plugin add https://github.com/f-e-n-g-0531/dsh-code-review.git
182
182
 
183
183
  这些文件和目录需要实际存在,路径相对于所选仓库:
184
184
 
185
- - `contextPaths`:手动加入辅助文件,不代表该文件本身完成了主审。SVN工作副本的未变更文件须通过离线正常节点/属性及来源检查;标准关键字在显式上下文和autoContext依赖中经过BASE核验后支持;简单自定义Name=%r也经同一BASE核验支持;复杂自定义/固定宽度关键字、特殊或不可确认来源仍明确拒绝,已选择的可审查变更复用快照。
185
+ - `contextPaths`:手动加入辅助文件,不代表该文件本身完成了主审。SVN工作副本的未变更文件须通过离线正常节点/属性及来源检查;标准、固定宽度及受支持的复合自定义关键字经过 BASE 核验后可用于上下文;关键字名可由空格、制表符或换行分隔,格式内空格使用 `%_`。引号配置、未知格式及特殊或不可确认来源仍明确拒绝,已选择的可审查变更复用快照。
186
186
  - `autoContext:true`:自动补充最多三层文本依赖,不是全仓扫描或编译器分析。
187
- - `callerScopePaths`:在明确指定的非根目录中寻找字面引用。预览可能扫描该目录内不匹配的候选正文;只有捕获的匹配上下文随执行发送模型。SVN标准关键字候选经BASE核验后支持,扫描及核验正文共同计费;不支持配置明确失败,不保证找到全部调用方。
187
+ - `callerScopePaths`:在明确指定的非根目录中寻找字面引用。预览可能扫描该目录内不匹配的候选正文;只有捕获的匹配上下文随执行发送模型。SVN受支持的关键字候选经 BASE 核验后支持,扫描及核验正文共同计费;不支持配置明确失败,不保证找到全部调用方。
188
188
  - `rulePaths`:最多四个 UTF-8 Markdown 或文本规则文件,不能同时列为上下文。
189
189
  - `businessRequirement`:帮助确定审查目标,本身不是缺陷证据。
190
190
 
@@ -204,6 +204,31 @@ Git / SVN 历史审查也能使用这些参数;依赖和调用方按对应版
204
204
 
205
205
  `repositoryPath` 相对于会话工作目录,必须指向一个实际仓库根目录;其余文件路径再相对于该仓库。每个仓库分别预览和执行,不使用绝对路径、`..` 或链接目录。
206
206
 
207
+ ## 多个会话同时审查
208
+
209
+ 可以同时打开多个DSH Agent会话:会话A审项目A,会话B审项目B,也可以分别审查同一项目。各会话的预览、执行锁、模型路由、取消和预算独立;A正在执行不会让B收到全局busy。一个会话内部仍串行,不能拿另一个会话的previewId执行。宿主停用插件会结束全部服务,单次取消只影响当前请求。
210
+
211
+ ## 审查整个项目当前代码
212
+
213
+ 在项目仓库根目录创建会话,发送:
214
+
215
+ ```text
216
+ 使用code_review_preview,全项目模式审查当前已跟踪代码,包括没有改动的文件。
217
+ 先列出全部文件、排除项和分批范围,告诉我模型和预算;等我确认再执行。不要修改代码。
218
+ ```
219
+
220
+ ```json
221
+ {"reviewMode":"project"}
222
+ ```
223
+
224
+ 这不是HEAD到工作区的差异:模型检查当前已有缺陷,不要求问题由最近提交引入。默认仍是 `reviewMode:"changes"` 的变更审查。
225
+
226
+ 项目模式只接受reviewMode、repositoryPath和可选selectedPaths,不与历史revision、autoContext、规则或调用方参数混用。默认全部跟踪节点;不读取未跟踪/忽略文件、子模块、外部仓库及链接目标。目录只作清单记录,源码按批次审查;跨批次不宣称完整调用图或全程序语义分析。
227
+
228
+ 清单上限10000节点,单次选择最多1000节点/16MiB,12节点一批,单文件256KiB;超限明确拒绝,缩小选择后必须重新预览。单次采集全部批次共享4096条命令与8MiB元数据、120秒采集截止(执行阶段受10分钟总截止限制);全部批次共享本会话100次模型调用和10分钟执行时间,耗尽保留pending/partial,不重新给下一批额度。SVN为本地已观察清单,稀疏/外部/链接及不支持属性显示限制;不证明仓库远端完整覆盖。
229
+
230
+ 报告分别给出总数、completed、excluded、blocked、pending和每批快照。completed只表示所选捕获文件已处理,不代表代码正确;排除与阻断从不算完成。代码或清单变化会拒绝旧预览,运行后无法复核则标记outdated。
231
+
207
232
  ## 工具调用流程(给需要精确指定参数的人)
208
233
 
209
234
  普通使用者只需上面的对话请求,不必手工构造 ID。需要精确控制时,让 Agent 按下列顺序调用:
@@ -248,8 +273,8 @@ Git / SVN 历史审查也能使用这些参数;依赖和调用方按对应版
248
273
  - 插件遵循 DSH 工具权限;确认预览不等于绕过宿主权限。不执行项目代码、构建脚本或模型生成的 shell 命令。
249
274
  - Git 支持工作区、单提交、两版本比较。SVN 支持工作副本和固定历史端点;**尚未完整支持所有 SVN 状态**。
250
275
  - SVN 根目录属性可预览;同仓库复制新增以空目标旧侧审查,复制来源只作信息;移动的新增/删除分别覆盖。目录后代须逐项纳入,选择父目录不自动批准所有后代。
251
- - SVN 标准关键字展开,以及工作副本变更/自动依赖/命中调用方、固定历史变更及上下文的换行元数据保留原文证据;不以规范化结果证明行为等价。自定义/固定宽度关键字、未提交替换、冲突、特殊节点、切换/外部工作副本及跨 URL 比较等仍有限制。已提交固定历史替换与未提交替换的支持不同,详见 [SVN 支持矩阵](SVN-SUPPORT-MATRIX.md)。
252
- - 二进制、不能解码的文件、链接和超限内容会明确阻断,不静默截断后声称完成。文本导航不证明语义绑定、执行可达或完整调用覆盖。
276
+ - SVN 标准、固定宽度和受支持的复合关键字展开,以及工作副本变更/自动依赖/命中调用方、固定历史变更及上下文的换行元数据保留原文证据;不以规范化结果证明行为等价。自定义/固定宽度关键字、未提交替换、冲突、特殊节点、切换/外部工作副本及跨仓库比较等仍有限制。同仓库跨分支与独立基线替换需要下文列出的显式参数。已提交固定历史替换与未提交替换的支持不同,详见 [SVN 支持矩阵](SVN-SUPPORT-MATRIX.md)。
277
+ - 二进制、不能解码的文件、普通源码路径中的链接和超限内容会明确阻断;已跟踪的 SVN 链接只审查 `link 目标` 记录,不读取目标正文,不静默截断后声称完成。文本导航不证明语义绑定、执行可达或完整调用覆盖。
253
278
 
254
279
  ## 规模限制
255
280
 
package/RELEASE-NOTES.md CHANGED
@@ -1,20 +1,17 @@
1
- # v0.80.1 发布说明
1
+ # v0.81.0 发布说明
2
2
 
3
- ## SVN 集中能力更新
3
+ ## 多个会话可以同时审查项目
4
4
 
5
- - 同仓库跨分支固定URL比较:svnBasePath/svnTargetPath指定仓库根相对路径,支持相同revision不同分支,各侧正文、上下文、依赖和调用方独立来源。
6
- - svnEffectiveMergeinfo显式读取BASE/工作或固定历史的祖先合并属性,保留来源证据;不完整边界和混合BASE返回unknown,不推断合并提交已审查。
7
- - svnReplacementBaseRevision显式指定目标URL历史基线,支持文件/目录替换树及类型变化,每个后代单独批准;不使用copy-source BASE,不声称恢复被删除节点。远端需svnReplacementAllowNetwork。
8
- - SVN链接只审link目标记录,不跟随目标,不把链接数据用于源码导航。稀疏/混合revision明确披露已观察范围,不伪造全树覆盖。
9
- - 关键字支持固定宽度、截断标记及复合自定义格式,原正文/hash/行号保留。空格用SVN原生%_;引号格式明确拒绝,不模拟shell语义。
10
- - 工作副本统一命令/元数据/截止账本,含导航、mergeinfo及末尾验证,超限明确失败。
5
+ 不同DSH会话的执行锁、预览、模型路由和预算独立。同一项目或不同项目均可同时审查;取消一个请求不影响另一个会话。同一会话仍串行,跨会话previewId不能使用。不是“一次自动汇总多个仓库”的功能。
11
6
 
12
- ## 发布验证等待优化
7
+ ## 审查整个项目当前代码
13
8
 
14
- 发布核验同一冻结标签/提交/当前attempt的成功四矩阵CI证据,不再重复运行四组测试。错仓库、错提交、缺组、失败或重跑中的记录拒绝;原包一次构建、npm/Release字节及双哈希核验保持。
9
+ 预览时传入 `{"reviewMode":"project"}`,读取当前仓库跟踪文件,包含未改动文件;默认changes模式保持原变更审查。先查看完整选择清单与排除原因,再确认执行。
15
10
 
16
- ## 必须了解的限制
11
+ - 当前源码缺陷检查不要求问题由最近提交引入;空旧侧仅为传输占位,不是空历史版本。
12
+ - 分批保留来源哈希,全部批次共享本会话100次模型调用和10分钟。清单最多10000节点,单次选择最多1000节点/16MiB,超限明确拒绝;单文件上限256KiB。
13
+ - 报告区分完成、排除、阻断及未完成路径;没有完成的批次保留pending/partial,来源变化拒绝旧预览。
14
+ - 不包含未跟踪/忽略/子模块/外部内容或链接目标;SVN是本地已观察范围,不证明远端完整清单。跨批次不提供全程序语义调用图。
15
+ - 项目模式仅支持reviewMode、repositoryPath、selectedPaths,不与历史、规则或自动上下文参数混用。不支持的SVN状态和属性明确阻断。
17
16
 
18
- 冲突、缺失、阻塞、incomplete没有可确认目标时只诊断,不标记审查成功,也不自动解决。外部/切换来源必须独立选择仓库根或明确固定分支端点,不隐式跟随。不完整权限、不可解码、稀疏缺项和预算耗尽均不得视为通过。跨仓库/嵌套重叠分支根不支持。
19
-
20
- 使用步骤与JSON示例见[README](README.md),逐项证据与限制见[支持矩阵](SVN-SUPPORT-MATRIX.md)。
17
+ 完整使用方式见 [README](README.md)。本版不会升级或重启当前DSH,不修改业务仓库。
@@ -0,0 +1,114 @@
1
+ # SVN 历史发布证据
2
+
3
+ 本文仅供维护者核查旧版本工件,以下限制描述均以各版本发布当时为准,不能当作当前支持范围。当前用法见 [README](README.md),支持条件见 [支持矩阵](SVN-SUPPORT-MATRIX.md)。
4
+
5
+ ## 简单自定义revision关键字(v0.79.0 已发布)
6
+
7
+ 冻结提交 `9c3582dd4b2cd0724587c23e00d2bfa92ccdd8ac`;标签CI `38740586071`,唯一发布运行 `38741741913`,原工件 `11975739387`。原始Actions/npm/Release包152,877字节逐字节一致;SHA-256 `33138b593242ca7495baa5696a109f9548fd5901ead8ffff27300c81ff81d34b`,SHA-512/清单/冻结发布说明核验通过。
8
+
9
+ - 只支持ASCII字母起始字母数字名称=单个%r,不覆盖标准名称,不接收重复名/复杂格式/其他占位符;原行保持收缩逻辑及BASE核验保留,customKeywords元数据披露。
10
+ - `test/svn-custom-keywords.test.mjs` 真实离线Build=%r展开、BASE核验、显式来源与变更原文通过;配置拒绝边界与既有标准/显式/依赖组合6项通过。521项串行全量回归、6项关键字组合、宿主/隔离安装、四矩阵标签及发布CI通过,正式发布工件核验完成。
11
+ - 其他自定义格式、固定宽度、特殊状态与分支来源等仍未完成,不把窄子集当作该矩阵行全闭环。
12
+
13
+ ## 标准关键字限定调用方(v0.78.0 已发布)
14
+
15
+ 冻结提交 `deb0c91f6216a0637d43b44fd3dfc8194d306940`;标签CI `38735681006`,唯一发布运行 `38736546649`,原工件 `11974502757`。原始Actions/npm/Release包151,916字节逐字节一致;SHA-256 `efe0ef2a6b23ed5d63e8a92252f139cced0d8f4d59ddc8bc3bcb3ba1d39cf04c`,SHA-512/清单/冻结发布说明核验通过。
16
+
17
+ - 调用方扫描复用captureSvnExplicitContext标准关键字核验,捕获原展开上下文,只保留命中正文;所有扫描身份/哈希复核。BASE两份核验进入原共享来源账本,sourceBytes与scannedBytes分别披露。
18
+ - `test/svn-caller-keywords.test.mjs` 离线真实复现:命中展开原文、非命中正文不进入快照/模型、来源计费、revision保留、预览0发送与稳定ID;既有调用方/预算/EOL组合4项通过,首次全量518通过/1失败:未改动Git历史链测试超时;保持原限制独立复跑5/5通过,重新全量519/519通过,原失败记录保留;宿主/隔离安装及四矩阵标签/发布CI通过,正式发布工件核验完成。
19
+ - 自定义/固定宽度/不完整展开或读取失败仍不能当作负搜索证据。特殊状态、有效继承mergeinfo与跨URL缺口继续。
20
+
21
+ ## 自动依赖标准关键字(v0.77.0 已发布)
22
+
23
+ 冻结提交 `fc482b55f81f44b354eb91f829f12a37fb9c89b0`;标签CI `38728355698`,唯一发布运行 `38729326841`,原工件 `11969183899`。原始Actions/npm/Release包151,247字节逐字节一致;SHA-256 `1a654d83860f74cf0709169e0a348e72a79c9ae46969e0639678f870008cb2cb`,SHA-512/清单/冻结发布说明核验通过。
24
+
25
+ - 本地依赖链复用已验证的显式来源捕获,工作/BASE展开/未展开全部计费,共享1MiB/30秒;原始展开为唯一正文证据,三层/20名额/512探测保持。
26
+ - 捕获后按同一允许关键字策略复核身份;显式入口元数据复用,不把节点允许策略泄漏给调用方扫描。
27
+ - `test/svn-auto-keywords.test.mjs` 真实离线链复现:展开原文、BASE计费、后续依赖、unsupported候选阻断、预览0发送与模型原文/稳定ID;既有显式/依赖/预算10项通过。518项串行全量回归、10项显式/依赖/预算组合、离线链专项及宿主/隔离安装、四矩阵标签及发布CI通过,正式发布工件核验完成。
28
+ - 限定调用方标准关键字、自定义/固定宽度与其余SVN缺口仍未完成。
29
+
30
+ ## 审查发现修复:本地组合共享预算(v0.76.3 已发布)
31
+
32
+ 冻结提交 `7794dcd0b2b9eaee66c3a2d71ee3e416b803e00c`;标签CI `38724071757`,唯一发布运行 `38724938443`,原工件 `11968546653`。原始Actions/npm/Release包150,607字节逐字节一致;SHA-256 `aa25450df36c068567b1da3984a09d2af6a7f86cebb75cb9a3318eaba87150d4`,SHA-512/清单/冻结发布正文核验通过。
33
+
34
+ - 修复前真实组合contextPaths+callerScopePaths可读取1,140,102字节,超过1MiB但成功。修复后snapshot入口创建一个source账本/30秒signal,各本地导航阶段共同扣费,关键字BASE两份核验正文亦计费。
35
+ - `test/svn-navigation-budget.test.mjs` 覆盖精确1MiB边界/越界/取消和真实显式+非命中扫描组合、autoContext入口+扫描组合越界拒绝,小请求正常;与关键字/EOL组合4项通过。517项串行全量回归、4项预算/关键字/EOL组合、宿主/隔离安装、四矩阵标签和发布CI通过,正式发布工件核验完成。
36
+ - 共享预算错误在依赖链直接传播,不伪装成成功;保留原有单阶段核验/文件/字节限制。本批未新增特殊SVN状态或自动关键字支持。
37
+
38
+ ## 审查发现修复:普通变更来源身份(v0.76.2 已发布)
39
+
40
+ 冻结提交 `34ded1840536406fd454ab120b977ec6aa97abf7`;标签CI `38719902365`,唯一发布运行 `38720759455`,原工件 `11967005142`。原始Actions/npm/Release包149,274字节逐字节一致;SHA-256 `e7702aa23e01146c440d4e3bdf4820332d5a7e6eb5f1747ab66d854a01f33cbf`,SHA-512/清单/冻结发布说明核验通过。
41
+
42
+ v0.76.1 标签CI `38718993310` 的Windows两组因新测试比较 `~` 与 `%7E` 原始URL字符串失败,Ubuntu两组通过;未触发正式发布,标签保留不移动。修正测试按等价URL比较后使用新补丁v0.76.2重新验收。
43
+
44
+ - 已复现切换祖先的修改子文件误收及不同分支同正文/revision快照碰撞。修复为普通节点冻结URL/UUID/仓库根/revision/kind/schedule,末尾及根身份复核,预览披露workingSource。
45
+ - `test/svn-working-identity.test.mjs` 真实仓库证明正常来源绑定、切换子节点SVN_SWITCHED_ANCESTOR阻断、无正文授权、旧预览execute拒绝且0模型发送;与普通采集组合16项通过。中文/空格/URL转义兼容修正,515项串行全量回归、16项采集专项、宿主/隔离安装、修正测试后的四矩阵标签与发布CI通过,正式发布工件核验完成。
46
+ - switched状态并未因此可审查;阻断项可同ID但无正文授权,不把其视为已审核成功。
47
+ - 独立待修BUG:本地contextPaths+callerScopePaths来源分别计费,实测1,140,102字节超过共享1MiB仍成功;本批不声称已解决。
48
+
49
+ ## 独立显式标准关键字上下文(v0.76.0 已发布)
50
+
51
+ 冻结提交 `ad439af93fd48a805cd85206e2138851078f05cb`;标签CI `38714424406`,唯一发布运行 `38715124806`,原工件 `11962002956`。原始Actions/npm/Release包147,614字节逐字节一致;SHA-256 `918c3b115329986f257917a2278152b0f75968f5cb6d1fa62d112d91ed046202`,SHA-512/清单/冻结正文核验通过。
52
+
53
+ - 仅 `captureSvnExplicitContext` 显式开启节点标准关键字能力,默认调用方/依赖安全检查仍拒绝keywords;正常状态、URL/UUID/祖先指纹核验保留。
54
+ - 原始工作正文保留;BASE展开收缩与cat --ignore-keywords核验,两个核验正文计入同一1MiB来源/30秒预算。预览contextKeywordMappings不含正文,模型使用原展开原行号。
55
+ - `test/svn-explicit-keywords.test.mjs` 离线真实复现通过:原文/映射、BASE来源计费、预览0发送、模型原文、status不变和稳定快照;自定义/固定宽度拒绝,默认节点与autoContext组合继续拒绝。与显式/依赖组合9项通过,514项串行全量回归、9项显式/依赖专项、宿主/隔离安装、四矩阵标签和发布CI通过,正式发布工件核验完成。
56
+ - 自动关键字依赖/调用方、特殊状态和分支来源仍未闭环。
57
+
58
+ ## BUG修复:根级上下文祖先检查(v0.75.1 已发布)
59
+
60
+ 冻结提交 `55b796432d1847e337f08f66f1b1be356dac3eff`;标签CI `38710236827`,唯一发布运行 `38711005747`,原工件 `11960911950`。原始Actions/npm/Release包146,408字节逐字节一致;SHA-256 `77ff46e66cc61191a8df4a829b9f540139fde3557199812b2086f0865433c00c`,SHA-512/清单/冻结发布说明通过。
61
+
62
+ - 新真实离线复现证明:根目录直属文件在根mergeinfo变化后节点指纹不变,`svnCallerNode` 跳过了父目录为根的检查。修复前测试明确失败。
63
+ - `svnCallerAncestors` 支持严格根目录scope,避免重复根节点;`svnCallerNode` 始终核验父目录并把祖先指纹纳入节点身份。普通相对路径限制不放宽。
64
+ - `test/svn-root-context-safety.test.mjs` 修复后通过:根mergeinfo改变指纹、已捕获上下文verify拒绝、其他根属性与externals明确阻断;与优先根预览/mergeinfo祖先/显式上下文组合7项通过。513项串行全量回归、7项根级安全/优先预览组合与宿主/隔离安装、四矩阵标签及发布CI通过,正式发布工件核验完成。
65
+ - 本批纯BUG修复使用v0.75.1,不当作新增能力;其余SVN缺口保留。
66
+
67
+ ## 独立显式本地上下文(v0.75.0 已发布)
68
+
69
+ 冻结提交 `d08cb354709a2fb2051a7769b853cb98ae1619cd`;标签CI `38706343061`,唯一发布运行 `38707025423`,原工件 `11958951726`。原始Actions/npm/Release包145,650字节逐字节一致;SHA-256 `7d251aa209a7430c8b72a018472cc6d5d2e1e24ea9282623f19b5fd58896917e`,SHA-512/清单/冻结发布正文核验通过。
70
+
71
+ - `src/svn-explicit-context.mjs` 在无autoContext模式核验未变更显式SVN节点与属性/URL/祖先身份,末尾复核;20名额/1MiB正文/30秒含核验,离线只读。
72
+ - `snapshot.mjs` 复用显式捕获正文,已选可审查变更复用工作侧EOL;排除/删除/关键字/special等不回流。预览沿用contextEolMappings披露,不显示原文。
73
+ - `test/svn-explicit-context.test.mjs` 真实离线复现:CRLF元数据、稳定身份、0预览发送、status不变、关键字拒绝、未跟踪排除、属性变化及取消拒绝;与既有SVN采集组合16项通过。512项串行全量回归、16项既有采集组合及最终3项安全组合、实际宿主/隔离安装、四矩阵标签及发布CI通过,正式发布工件核验完成。
74
+ - 工作副本关键字、特殊状态、跨URL与有效继承mergeinfo仍未完成。
75
+
76
+ ## 本地导航 EOL 与正常属性候选(v0.74.0 已发布)
77
+
78
+ 冻结提交 `09241e046eaeff4f9c917102bc9dad97d91e81d9`;标签CI `38702380795`,唯一发布运行 `38703089522`,原工件 `11957397597`。原始Actions/npm/Release包144,494字节逐字节一致;SHA-256 `35946d5d536482cb8fd7061a9a291c030c49a564e9eeffacac82ecf206e37552`,SHA-512、清单及冻结正文核验通过。
79
+
80
+ - `svnCallerNode` 返回既有已验证属性中的EOL样式,依赖链/显式导航入口/命中调用方根据原文生成映射,预览只披露元数据;不新增命令或网络范围。
81
+ - 真实复现发现带已提交属性的调用方被索引 none-only 条件漏选;改为 none/normal,正文仍经既有关键字/special/externals/URL/祖先安全检查。modified/conflicted 等不放开。
82
+ - `test/svn-working-context-eol.test.mjs` 离线真实仓库组合通过:入口→依赖和限定调用方映射、非匹配正文不捕获、预览0发送、模型原文、status不变、快照稳定及属性变化拒绝。既有关键字拒绝7项依赖专项通过;511项串行全量回归与11项本地导航安全专项、实际宿主/隔离安装、四矩阵标签及发布CI通过,发布工件核验完成。
83
+ - 独立无autoContext的显式本地上下文未因本批新增属性映射;工作副本关键字上下文与其余矩阵缺口继续保留。
84
+
85
+ ## 历史上下文 EOL(v0.73.0 已发布)
86
+
87
+ 冻结提交 `b60bf8e743de844958781ea62203c6bf77ef6e79`;标签CI `38698580756`,唯一发布运行 `38699278843`,原工件 `11956340295`。原始Actions/npm/Release 143,452字节逐字节一致,SHA-256 `98a6f905ef5e48fc93ee124b8804d012dac2d3ee8119faf85f9ff275b0269afa`,SHA-512、清单及冻结发布正文核验通过。
88
+
89
+ - 固定历史 readSource 把EOL元数据绑定各侧source,显式/旧侧独有/自动依赖/命中调用方均保留;不新增读取命令或放大预算。
90
+ - 预览 contextSources 列出实际捕获来源,不显示正文;context-identity 校验映射与该侧原文一致,拒绝篡改。
91
+ - `test/svn-history-context-eol.test.mjs` 真实仓库复现通过:四类上下文组合、旧侧不回流、未匹配正文不捕获、脏工作树隔离、0预览发送、模型原文、status不变与快照稳定。510项串行全量回归、最终66项上下文/检索兼容与9项历史组合、实际宿主与隔离安装、四矩阵标签和发布CI通过,正式发布及工件核验完成。
92
+ - 工作副本关键字上下文、未提交替换、跨URL与有效继承mergeinfo等缺口仍未完成。
93
+
94
+ ## 固定历史 EOL 与使用指南(v0.72.0 已发布)
95
+
96
+ 冻结提交 `8dffa16889c43705467e9df9331cf1b221268ed8`;标签CI `38694984442`,唯一发布运行 `38695576665`,原工件 `11953659439`。原始Actions/npm/Release包142,623字节逐字节一致;SHA-256 `79ff57378a74ffc5e2799a70cc3e9e8b27490ea664607a6c52dc00e5f577769d`,SHA-512、校验清单及冻结发布说明核验通过。
97
+
98
+ - `src/svn-history.mjs` 对已有固定逐侧正文和属性计算 EOL 元数据,不新增 SVN 命令,不改变 UUID/URL/peg/operative revision 与原始字节哈希。
99
+ - 缺失侧与目录侧明确 null;真实 SVN 测试覆盖 CRLF→LF、CR、新增/删除、文件→目录替换、单revision/区间一致、脏工作树隔离、预览0发送、模型原文及status不变。
100
+ - `test/svn-history-eol.test.mjs` 与 EOL/历史替换组合7项通过;完整串行回归509项通过,历史导航/EOL/替换组合12项通过,实际宿主及隔离安装、四矩阵标签CI与发布CI通过,正式发布及工件核验完成。历史上下文 EOL 元数据仍未新增。
101
+ - README 重写为实际使用指南;`test/readme-usage.test.mjs` 验证 JSON 示例参数与真实工具定义一致,文档链接测试通过。
102
+
103
+ ## EOL 子批验收索引(v0.71.0 已发布)
104
+
105
+ 冻结提交 `9e9ffc8db9c9467a54366c17b6d6a6449524e795`;标签CI运行 `38690842208`,唯一发布运行 `38691445215`,原始工件 `11952831232`。包139,804字节;SHA-256 `2e99d5c73ef194be0dc542d19b5a69bfc850e548a1347f6d5ef6aec124ec0f96`。原始Actions包、npm、Release逐字节一致,SHA-512、SHA256SUMS及冻结发布正文通过。此验证不代表自动升级当前宿主或完整SVN支持。
106
+
107
+ | 项目 | 实现/复现证据 | 当前结论 |
108
+ |---|---|---|
109
+ | CRLF/LF/CR 与混合计数、视图哈希 | `src/svn-eol-mapping.mjs`;`test/svn-eol-mapping.test.mjs` 前两项 | 专项通过;原文/原字节哈希不替换;单 CR 不保证 LF 行映射 |
110
+ | 编码身份 | 同上 UTF-16 BOM 案例 | 文本 hash 与 source bytes hash 明确区分,不能互换 |
111
+ | 预览/模型输入及只读 | `src/svn.mjs`、`src/service.mjs`;真实 SVN EOL 集成案例 | 预览不发送;受控模型读取原文;文件与解析后 status 不变 |
112
+ | 组合与失败 | 同一集成案例中标准关键字+CRLF、移除属性、强制非法样式 | 组合通过;非法样式被 SVN 在 status 阶段拒绝,采集明确失败 |
113
+ | 根目录优先修复持续回归 | `test/svn-root-preview.test.mjs` 默认/指定三文件预览 | 本批重新实跑通过,0模型发送,状态不变;原 v0.58.1 交付不重发 |
114
+ | 历史、上下文、特殊状态 | 不在本子批新增范围 | 仍按上表未完成项推进,不由元数据功能推断支持 |