@feng0531/dsh-code-review 0.79.0 → 0.80.2
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 +15 -1
- package/CORE-ALIGNMENT-TASKS.md +19 -81
- package/CORE-SOURCE-INVENTORY.md +1 -1
- package/DEVELOPMENT.md +3 -2
- package/README.md +31 -5
- package/RELEASE-NOTES.md +9 -8
- package/SVN-RELEASE-EVIDENCE.md +114 -0
- package/SVN-SUPPORT-MATRIX.md +38 -119
- package/evaluation/README.md +1 -1
- package/index.mjs +1 -1
- package/package.json +2 -2
- package/src/caller-candidates.mjs +1 -1
- package/src/context-candidates.mjs +1 -1
- package/src/context-identity.mjs +8 -6
- package/src/file-relations.mjs +2 -1
- package/src/process.mjs +5 -1
- package/src/review.mjs +2 -0
- package/src/service.mjs +3 -2
- package/src/snapshot.mjs +10 -1
- package/src/svn-capture-budget.mjs +6 -0
- package/src/svn-dependency-chain.mjs +1 -1
- package/src/svn-diagnostics.mjs +16 -0
- package/src/svn-effective-mergeinfo.mjs +46 -0
- package/src/svn-history-callers.mjs +5 -5
- package/src/svn-history-dependencies.mjs +4 -3
- package/src/svn-history-endpoints.mjs +15 -0
- package/src/svn-history-lookup.mjs +4 -4
- package/src/svn-history.mjs +85 -46
- package/src/svn-keyword-config.mjs +10 -0
- package/src/svn-keyword-mapping.mjs +32 -15
- package/src/svn-replacement-source.mjs +25 -0
- package/src/svn-replacement-tree.mjs +66 -0
- package/src/svn-special.mjs +10 -0
- package/src/svn-url.mjs +8 -0
- package/src/svn-working-identity.mjs +4 -3
- package/src/svn-working-mergeinfo.mjs +31 -0
- package/src/svn-working-scope.mjs +7 -0
- package/src/svn-working-special.mjs +24 -0
- package/src/svn.mjs +56 -19
package/CHANGELOG.md
CHANGED
|
@@ -2,9 +2,23 @@
|
|
|
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.2 — 替换树祖先校验、多行关键字与文档纠错
|
|
6
|
+
|
|
7
|
+
修复不安全替换祖先下子文件误获批准及祖先属性未进入身份的问题;修复合法换行关键字配置和XML数字引用解码。对外指南按用途重整,明确当前支持与历史证据的区别,不宣称完整语义绑定或模型质量等价。
|
|
8
|
+
|
|
9
|
+
## 0.80.1 — SVN集中能力更新
|
|
10
|
+
|
|
11
|
+
v0.80.0只冻结过标签,因Unix链接样本夹具失败没有正式发布;修正后以v0.80.1交付,原标签未移动。
|
|
12
|
+
|
|
13
|
+
集中加入固定跨分支、祖先mergeinfo、独立历史基线替换树、链接记录、固定宽度/复合关键字与全采集预算。明确unknown和不可恢复状态,不隐式跟随链接/externals。原生%_空格格式通过复现,引号配置拒绝。具体操作和当前限制见README及SVN支持矩阵;本段记录该版本发布时的变化,不代表所有SVN状态都可审查。
|
|
14
|
+
|
|
15
|
+
### 同批发布等待优化
|
|
16
|
+
|
|
17
|
+
正式发布严格核验并复用相同冻结标签/提交的成功四矩阵运行,不重复执行四组测试;错仓库/工作流/提交/标签/attempt、缺组或失败明确拒绝。保留原包单次构建、安装与npm/Release核验,不新增SVN支持状态。
|
|
18
|
+
|
|
5
19
|
## 0.79.0 — 简单自定义 revision 关键字
|
|
6
20
|
|
|
7
|
-
支持ASCII名称加单个%r格式的自定义关键字,复用BASE收缩核验及原始展开证据。预览标出名称/格式,来源预算不扩张;标准名覆盖、重复自定义名、复杂格式和固定宽度仍拒绝,不能视为全部格式支持。
|
|
21
|
+
支持ASCII名称加单个%r格式的自定义关键字,复用BASE收缩核验及原始展开证据。预览标出名称/格式,来源预算不扩张;标准名覆盖、重复自定义名、复杂格式和固定宽度仍拒绝,不能视为全部格式支持。521项串行回归、6项关键字组合、宿主/隔离安装及四矩阵CI通过;原始Actions/npm/Release包152,877字节逐字节一致,双哈希/清单/冻结说明通过。
|
|
8
22
|
|
|
9
23
|
## 0.78.0 — SVN 标准关键字限定调用方
|
|
10
24
|
|
package/CORE-ALIGNMENT-TASKS.md
CHANGED
|
@@ -1,90 +1,28 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 能力概览与已知边界
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本文说明当前实现做什么、不证明什么;日常操作见 [README](README.md),SVN具体模式见 [支持矩阵](SVN-SUPPORT-MATRIX.md)。它不是与其他产品的质量等价证明,也不使用版本数、测试数或阅读量计算“对齐百分比”。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## 已实现的机制
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
## 已具备的能力
|
|
10
|
-
|
|
11
|
-
| 能力 | 已完成内容 | 不能据此推断 |
|
|
7
|
+
| 能力 | 用途 | 不能据此推断 |
|
|
12
8
|
|---|---|---|
|
|
13
|
-
| 变更采集 |
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
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
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
- v0.76.0 已发布独立显式标准关键字上下文,BASE展开/未展开核验计入原来源预算,原始展开正文为证据,预览元数据披露;宿主/隔离安装及四矩阵CI通过,原始Actions/npm/Release包147,614字节逐字节一致,双哈希/清单/冻结说明通过。自动依赖/调用方关键字与全面SVN其余缺口继续。
|
|
41
|
-
- v0.75.1 已发布根级上下文祖先检查BUG修复,所有节点指纹绑定祖先属性,mergeinfo变化使旧身份过期,不安全根属性拒绝;宿主/隔离安装和四矩阵CI通过,原始Actions/npm/Release包146,408字节逐字节一致,双哈希/清单/冻结正文通过。纯BUG递增Z;全面SVN缺口继续。
|
|
42
|
-
- v0.75.0 已发布独立显式SVN工作副本上下文节点/属性/URL身份核验与EOL元数据,末尾复核且离线受限,拒绝不安全来源;宿主/隔离安装与四矩阵CI通过,原始Actions/npm/Release包145,650字节逐字节一致,双哈希/清单/冻结说明通过。关键字、特殊状态与分支来源等缺口继续。
|
|
43
|
-
- v0.74.0 已发布离线自动依赖/显式导航入口/命中调用方EOL元数据与normal属性候选漏选修复,关键字/special/非正常状态仍检查;宿主/隔离安装与四矩阵CI通过,原始Actions/npm/Release包144,494字节逐字节一致,双哈希/清单/冻结正文通过。独立无autoContext显式本地属性映射、关键字与其余SVN缺口继续。
|
|
44
|
-
- v0.73.0 已发布固定历史上下文逐侧EOL来源元数据,显式/旧侧/依赖/调用方保持原身份,预览不含正文,篡改映射拒绝;宿主、隔离安装与四矩阵CI通过,原始Actions/npm/Release 143,452字节逐字节一致,双哈希/清单/冻结说明通过。工作副本关键字上下文及其余SVN缺口继续。
|
|
45
|
-
- v0.72.0 已发布可操作使用指南与固定历史变更文件逐侧EOL元数据,缺失/目录侧明确null,原来源身份/正文保持;实际宿主、隔离安装与四矩阵CI通过;原始Actions/npm/Release包142,623字节逐字节一致,双哈希/清单/冻结发布说明通过。历史上下文EOL、关键字上下文、未提交替换和跨URL等仍未闭环。
|
|
46
|
-
- v0.71.0 已发布工作副本 EOL 纯元数据映射,原文/原字节证据保持,单CR明确不套用规范化行号。实际宿主、隔离安装和四矩阵CI通过;原始Actions/npm/Release 139,804字节逐字节一致,双哈希、清单和冻结正文核验通过。历史EOL元数据、关键字上下文、未提交替换和跨URL等继续待闭环。
|
|
47
|
-
- v0.70.0 已发布标准 SVN 工作副本关键字原文审查,BASE收缩独立核验、原正文/hash/行号不替换,预览披露映射。504 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 137,678 字节逐字节一致,双哈希、清单与冻结发布说明通过。自定义/固定宽度关键字、换行规范化、未提交替换、跨URL分支等缺口仍未闭环。
|
|
48
|
-
- v0.69.0 已发布固定 SVN 历史限定调用方与autoContext组合,扫描两侧候选、仅命中侧正文捕获,同侧声明导航,统一采集/来源/探测预算;字面发现仍明确不完整。502 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 136,030 字节逐字节一致,双哈希、清单与冻结发布说明通过。全面 SVN 目标仍未完成。
|
|
49
|
-
- v0.68.0 已交付固定 SVN 历史三层 autoContext,逐侧正文/来源固定、父目录有界清单确认精确节点,不吞访问失败,不读工作树。496 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 134,056 字节逐字节一致,双哈希、清单与冻结发布说明通过。历史调用方和全面 SVN 其他缺口继续。
|
|
50
|
-
- v0.67.0 已交付 SVN 工作副本 BASE/工作侧 mergeinfo 的有界显式导航、预览与报告披露,不扩大来源读取或将导航视为审查证明。489 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 130,866 字节逐字节一致,双哈希、清单与冻结发布说明通过。全面 SVN 目标仍未完成。
|
|
51
|
-
- v0.66.1 已修复根目录 mergeinfo 条目在工作副本依赖/调用方候选的非法路径失败,祖先仅合并记录属性变化经双侧比较后允许且仍入指纹。488 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 130,642 字节逐字节一致,双哈希、清单与冻结发布说明通过。全面 SVN 目标仍未完成。
|
|
52
|
-
- v0.66.0 已交付批准历史 mergeinfo 属性的有界来源/区间导航,不展开 revision、不读取来源,也不证明有效继承/归属/审查覆盖。485 项串行回归、宿主、隔离安装及四矩阵 CI 通过;原产物/npm/Release 129,866 字节逐字节一致,双哈希、清单与冻结发布说明通过。跨 URL 分支比较、自动历史链/调用方等仍未完成。
|
|
53
|
-
- v0.65.0 已交付固定 SVN 历史文件/目录类型替换,各侧节点类型/正文/属性与来源独立绑定,预览披露且后代覆盖保护保留。482 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 128,792 字节逐字节一致,双哈希、清单与冻结发布说明通过。未提交替换、自动历史链/调用方和其他全面 SVN 缺口仍待实现。
|
|
54
|
-
- v0.64.1 已修复已提交 SVN 历史替换的同路径增删记录,真实目标旧/新正文和属性逐侧读取。481 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 128,279 字节逐字节一致,双哈希、清单与冻结发布说明通过。未提交工作副本替换和类型变化等仍未支持,全面目标继续。
|
|
55
|
-
- v0.64.0 已交付 SVN 历史 oldContextPaths,仅旧侧正文及来源身份,不合成目标,选中旧变更复用原身份,排除项拒绝回流。479 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 127,879 字节逐字节一致,双哈希、清单与冻结发布说明通过。自动历史链、调用方及全面 SVN 矩阵仍未闭环。
|
|
56
|
-
- v0.63.0 已交付 SVN 历史显式双侧上下文与目标规则,以及模型 JSON/read 请求的安全诊断。477 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 127,355 字节逐字节一致,双哈希、清单与冻结发布说明通过。用户 loader 的实际协议失败尚未核验,不宣称已修复该样本;历史自动链/调用方、旧侧独有上下文及其他 SVN 缺口继续。
|
|
57
|
-
- v0.62.0 已交付 SVN 原生固定 revision/区间初始审查:显式远端门禁、固定双侧正文/属性/来源身份、目录后代覆盖和确认执行链。472 项串行回归、宿主、隔离安装与四矩阵 CI 通过;原产物/npm/Release 125,486 字节逐字节一致,双哈希、清单与冻结发布说明通过。历史上下文/规则/调用方、跨 URL 分支和工作副本替换等仍待实现。
|
|
58
|
-
- v0.61.0 已交付同仓库目录复制后代显式覆盖与继承来源身份;目标新增空旧侧、预览零发送、离线及凭据后代保护通过。465 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 120,159 字节逐字节一致,双哈希、清单与冻结发布说明通过。替换、关键字与历史等继续待实现。
|
|
59
|
-
- v0.60.1 已交付 SVN 阻断状态稳定诊断及预览/报告原因码;普通与复制替换仍明确拒绝,不冒充真实双侧支持。463 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 119,462 字节逐字节一致,双哈希、清单与冻结发布说明通过。全面 SVN 目标继续。
|
|
60
|
-
- v0.60.0 已交付 SVN 普通目录新增/删除的后代逐项覆盖,离线补齐默认 status 隐藏的删除后代;显式选择、凭据排除与原预算仍生效。461 项串行回归、宿主、隔离安装和四矩阵 CI 通过;原产物/npm/Release 118,284 字节逐字节一致,双哈希、清单与冻结发布说明通过。目录复制、替换及历史等仍在后续矩阵中。
|
|
61
|
-
- v0.59.0 已交付 SVN 同仓库复制新增文件和文件移动的新增/删除独立覆盖。459 项串行回归、实际宿主、隔离安装和四组 CI 通过;原产物/npm/Release 117,098 字节逐字节一致,SHA-256、SHA-512、清单与冻结发布说明通过。复制替换、目录后代和历史审查等仍未闭环。
|
|
62
|
-
- v0.58.1 已交付 SVN 根目录 mergeinfo 属性预览修复及全面支持矩阵。456 项串行回归、实际宿主、隔离安装与四组 CI 通过;npm、Release 与原包 116,254 字节逐字节一致,SHA-256、SHA-512、清单与冻结发布说明核验通过。SVN 全面扩展目标仍在进行,历史与特殊状态尚未全部支持。
|
|
63
|
-
- v0.58.0 已正式交付实验性本地评测入口及可靠性整理。454 项串行回归、实际宿主、隔离安装与四组 CI 通过;npm、Release 与原包 113,697 字节逐字节一致,SHA-256、SHA-512、清单与冻结发布说明核验通过。正常 DSH 审查行为与预算不变;尚无真实模型基准评分。
|
|
64
|
-
- v0.57.0 已正式交付对齐结论与边界收尾。449 项回归与四组 CI 通过;npm、Release 与原包 108,451 字节一致,SHA-256、SHA-512、清单与发布说明核验通过;不改变审查行为或参数。
|
|
65
|
-
- v0.56.0 已正式交付依赖清单与配置文件专用指导。449 项回归、实际宿主、隔离安装与四组 CI 通过;npm、Release 与原包 108,081 字节一致,SHA-256、SHA-512、清单与发布说明核验通过;不改变审查行为或参数。
|
|
66
|
-
- v0.55.0 已正式交付模板引擎与基础设施即代码专用指导。446 项回归、实际宿主、隔离安装与四组 CI 通过;npm、Release 与原包 106,969 字节一致,SHA-256、SHA-512、清单与发布说明核验通过;不改变审查行为或参数。
|
|
67
|
-
- v0.54.0 已正式交付对齐结论与边界收尾。443 项回归、实际宿主与四组 CI 通过;npm、Release 与原包 104,761 字节一致,SHA-256、SHA-512、清单与发布说明核验通过;不改变审查行为或参数。
|
|
68
|
-
- v0.53.0 已正式交付分组×验证×检索的组合验收。443 项回归、实际宿主、13 项独立安装专项与四组 CI 通过;npm、Release 与原包 104,757 字节一致,双哈希与清单核验通过;不改变审查行为或参数。
|
|
69
|
-
- v0.52.1 已正式交付保守类实例方法导航。442 项回归、实际宿主、24 项独立安装专项和四组 CI 通过;npm、Release 与原包 104,817 字节一致,SHA-256、SHA-512 与清单核验通过。v0.52.0 复核发现接收者逃逸、静态修饰符与字段初始化器幻影方法误判且未参与预算省略,由 0.52.1 替代,未发布不计作交付。
|
|
70
|
-
- v0.51.0 已正式交付多轮×窗口×检索×预算的组合验收。432 项回归、实际宿主、12 项独立安装专项与四组 CI 通过;npm、Release 与原包 102,433 字节一致,双哈希与清单核验通过;不改变审查行为或参数。
|
|
71
|
-
- v0.50.0 已正式交付 ObjC/Swift/Kotlin/Java/C# 生命周期与并发细化提示。431 项回归、实际宿主、9 项独立安装专项和四组 CI 通过;npm、Release 与原包 102,412 字节一致,SHA-256、SHA-512 与清单核验通过。
|
|
72
|
-
- v0.49.0 已正式交付 Go/Python/Rust 运行时提示与 ArkTS 提示。430 项回归、实际宿主、11 项独立安装专项和四组 CI 通过;npm、Release 与原包 101,770 字节一致,SHA-256、SHA-512 与清单核验通过。发布阶段 npm 成功、Release 创建因 registry 瞬时 404 由保存原产物手工补建并复核一致。
|
|
73
|
-
- v0.48.0 已正式交付剩余函数式/HDL/智能合约/格式语言的保守缺陷提示。429 项回归、实际宿主、10 项独立安装专项和四组 CI 通过;npm、Release 与原包 101,539 字节一致,SHA-256、SHA-512 与清单核验通过。
|
|
74
|
-
- v0.47.0 已正式交付命名空间成员调用导航。424 项回归、实际宿主、17 项独立安装专项和四组 CI 通过;npm、Release 与原包 98,883 字节一致,SHA-256、SHA-512 与清单核验通过。
|
|
75
|
-
- v0.46.0 已正式交付历史同版本调用方导航与可选线索预算回退。416 项回归、实际宿主、13 项独立安装专项和四组 CI 通过;npm、Release 与原包 97,482 字节一致,SHA-256、SHA-512 与清单核验通过。
|
|
76
|
-
- v0.45.1 已正式交付保守的调用方语法线索及两项边界修正。413 项回归、实际宿主、10 项独立安装专项和四组 CI 通过;npm、Release 与原包的 96,700 字节一致,SHA-256、SHA-512 与清单核验通过。v0.45.0 已发布但存在逐条导入歧义与历史元数据混侧错误,由 0.45.1 替代,不计作安全对齐。
|
|
77
|
-
- 实际 DSH 工具运行时检查通过;模型响应受控,不是质量成绩。
|
|
78
|
-
- v0.39.0 独立安装包的真实 Git、服务与预算测试:5 项通过。
|
|
79
|
-
- v0.39.1 已正式交付,包含 Git 工作区三层依赖能力。四组 CI 通过;npm、Release 与保存原包的 91,502 字节完全一致,SHA-256、SHA-512 和校验清单通过。v0.39.0 不单独计作已核验交付。
|
|
80
|
-
- v0.40.0 已正式交付手动上下文依赖导航。四组 CI 与唯一发布通过,npm、Release 与保存原包的 91,901 字节完全一致,双哈希及校验清单通过。准确语义绑定和剩余旧侧来源等差距仍保留。
|
|
81
|
-
- v0.44.0 已正式交付默认导入的定义位置。407 项回归、实际宿主、独立安装与四组 CI 通过;npm、Release 与原包的 95,672 字节一致,双哈希及校验清单通过。
|
|
82
|
-
- v0.43.1 已正式交付已批准正文中的唯一定义位置。406 项回归、实际宿主、独立安装与四组 CI 通过;npm、Release 与原包的 95,203 字节一致,双哈希及校验清单通过。v0.43.0 候选在发布前复核被替代,不计作交付。
|
|
83
|
-
- v0.42.0 已正式交付 SVN 安全三层链。400 项回归、实际宿主、独立安装与四组 CI 通过;npm、Release 与原包的 94,404 字节一致,双哈希及校验清单通过。
|
|
84
|
-
- v0.41.0 已正式交付 Git 历史两侧三层链。393 项回归、实际宿主、独立安装与四组 CI 通过;npm、Release 与原包的 93,202 字节一致,双哈希及校验清单通过。
|
|
18
|
+
- 继承、重载、宏、动态分派和复杂别名不做完整语义绑定。
|
|
19
|
+
- SVN冲突、缺失、阻塞、incomplete等没有可确认目标时只诊断,不自动解决。切换/外部来源不隐式跟随。
|
|
20
|
+
- 替换旧侧可采用用户明确选择的固定仓库基线,但这不等于恢复了丢失的本地BASE。
|
|
21
|
+
- 所有测试和安装验证只证明对应机制的行为,不能外推真实模型质量。当前没有独立质量基准成绩;历史试跑见 [评测说明](evaluation/README.md)。
|
|
22
|
+
- 不执行项目代码,不自动修复、提交、发布业务项目,也不建设独立模型计费或管理平台。
|
|
85
23
|
|
|
86
|
-
##
|
|
24
|
+
## 如何查看版本证据
|
|
87
25
|
|
|
88
|
-
|
|
26
|
+
用户可见变化见 [版本变化](CHANGELOG.md),正式包与冻结版本见 [GitHub Releases](https://github.com/f-e-n-g-0531/dsh-code-review/releases)。历史发布结果不作为当前支持范围;当前代码修复仍需对应版本的测试与工件核验。
|
|
89
27
|
|
|
90
|
-
|
|
28
|
+
参考来源见 [参考源码对照](CORE-SOURCE-INVENTORY.md)。
|
package/CORE-SOURCE-INVENTORY.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
## 对照结论
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
下表保留固定参考版本的历史阅读记录,用于定位设计来源,不代表重新审计了上游,也不证明本项目与参考实现功能或质量等价。当前支持范围和限制以 [能力概览](CORE-ALIGNMENT-TASKS.md) 与 [SVN支持矩阵](SVN-SUPPORT-MATRIX.md) 为准;真实模型效果需独立评测。
|
|
10
10
|
|
|
11
11
|
| 参考模块 | 当前对应能力 | 仍需补齐 |
|
|
12
12
|
|---|---|---|
|
package/DEVELOPMENT.md
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
- 每个主文件的模型与检索阶段共享默认 120 秒;关联综合沿用相关主文件的生命周期,不因切换阶段重新计时。
|
|
20
20
|
- 每阶段最多三轮检索;全局最多 50 次读取请求,返回内容累计 256 KiB,单次最多 64 KiB,读取最多 200 行。
|
|
21
21
|
- Git 工作区依赖链最多三层、512 个精确路径查询、20 个候选、手动入口与自动依赖共享 1 MiB 正文;文件读取与最终复核共享 30 秒。
|
|
22
|
+
- SVN工作副本全采集共享512条命令、1MiB元数据和30秒截止,含初始/重复采集、导航、属性和末尾验证;cat输出另受16MiB总硬上限约束。历史采集也有独立的512命令、1MiB元数据、30秒及正文上限。
|
|
22
23
|
- SVN 依赖链最多三层,以精确本地路径和安全正常节点捕获;512 路径、20 候选和上下文。工作副本显式上下文、自动依赖、调用方扫描(含非命中)及关键字BASE核验共享1 MiB来源账本与30秒含核验截止,不能切换阶段重新获得额度;切换、外部与不支持属性节点拒绝。
|
|
23
24
|
- Git 历史依赖链同样最多三层,两侧共享 512 个路径、20 个候选和上下文、1 MiB 正文及 30 秒;只读取固定对象。
|
|
24
25
|
- 引用方发现最多四个不重叠的非根目录;128 个候选正文共 1 MiB,目录索引最多 256 条/64 KiB,竞争路径最多 512 个。发现与复核共享 30 秒。
|
|
@@ -27,12 +28,12 @@
|
|
|
27
28
|
|
|
28
29
|
## 正式发布
|
|
29
30
|
|
|
30
|
-
|
|
31
|
+
将一次完整需求的代码和文档改动集中完成,再统一执行相关复现、全量测试、提交推送与正式发布;不把同一功能拆成多个细碎发布。未执行的测试和未验收实现必须明确标注。版本格式为 `vX.Y.Z`:X是大版本(重大或不兼容升级),Y是小版本/新增功能,Z是BUG修复;纯修复递增Z,不一律递增Y。已发布标签不移动,发布不自动安装、升级或重启宿主。
|
|
31
32
|
|
|
32
33
|
1. 修改版本号与锁文件;更新 [变更记录](CHANGELOG.md) 和 [发布说明](RELEASE-NOTES.md)。
|
|
33
34
|
2. 完成测试、差异检查和独立安装验证后,提交、推送,并创建对应 vX.Y.Z 标签。标签一旦进入发布流程就不再移动。
|
|
34
35
|
3. 等待标签 CI 的 Ubuntu/Windows × Node.js 22/24 四组测试全部成功。
|
|
35
|
-
4. 在 Actions 的 CI 工作流选择该标签,设置 publish: true
|
|
36
|
+
4. 在 Actions 的 CI 工作流选择该标签,设置 publish: true,并将 ci_run_id 填为第3步成功的push标签CI运行ID,仅触发一次正式发布。发布不再重复四矩阵;先核验同仓库/工作流/标签/提交/当前attempt及四组npm test成功证据,缺失或变化直接失败。
|
|
36
37
|
5. 发布任务打包一次、验证安装、保存安装包,再发布 npm。随后下载 npm 实际安装包,检查它与保存的原包是否一致。
|
|
37
38
|
6. 核验通过后,把同一安装包与 SHA256SUMS.txt 附到 GitHub Release,并使用发布说明作为正文。
|
|
38
39
|
7. 下载 Release 的实际附件,与原包逐字节比较,核验 SHA-256、SHA-512 及校验清单。
|
package/README.md
CHANGED
|
@@ -132,10 +132,36 @@ 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`
|
|
135
|
+
这是两个版本端点的比较,**不是逐一审查区间内的每个提交**。revision 使用带引号的十进制数字,不写 `r7315`、`HEAD` 或日期;同一路径比较要求旧版本小于新版本;不同分支可使用相同 revision(见下一节)。`svnRevision` 与区间参数不能同时使用,也不能混用 Git 版本参数。
|
|
136
136
|
|
|
137
137
|
`svnAllowNetwork:true` 只允许读取本次工作副本对应仓库的固定版本,不授权更新、合并或任意远端 URL。本地 `file:` 仓库通常无需此参数。
|
|
138
138
|
|
|
139
|
+
### 比较 SVN 两个分支
|
|
140
|
+
|
|
141
|
+
跨分支、有效继承属性和独立基线替换从正式版 v0.80.1 提供。请先确认当前 DSH 加载的版本;仅更新仓库不会升级宿主插件。
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{"svnBaseRevision":"7315","svnTargetRevision":"7315","svnBasePath":"branches/release","svnTargetPath":"trunk","svnAllowNetwork":true,"autoContext":true}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
分支路径相对于当前SVN仓库根,不是本地目录或任意URL。旧、新两侧分别固定URL、peg与operative revision;同revision可以比较不同分支。只能在同仓库UUID内比较;嵌套重叠根和不明确来源拒绝,不能推断merge提交归属。
|
|
148
|
+
|
|
149
|
+
### 查看有效继承 mergeinfo
|
|
150
|
+
|
|
151
|
+
```json
|
|
152
|
+
{"svnRevision":"7315","svnAllowNetwork":true,"svnEffectiveMergeinfo":true}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
显式允许读取选中节点及最近祖先的合并属性,额外读取受共享预算限制;工作副本模式也可使用该开关并保持离线。空属性屏蔽继承,祖先证据不完整、混合BASE或不安全来源显示unknown;结果仅为属性导航,不证明相关revision已经审核。
|
|
156
|
+
|
|
157
|
+
### 审查未提交替换
|
|
158
|
+
|
|
159
|
+
```json
|
|
160
|
+
{"selectedPaths":["src/module","src/module/old.cpp","src/module/new.cpp"],"svnReplacementBaseRevision":"7314","svnReplacementAllowNetwork":true}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
替换比较的旧侧是你显式选择的目标URL固定历史节点,不是本地BASE,也不证明它就是被删除节点的原始revision。目录后代必须独立选入;只选父目录不能算后代均已批准。远端读取使用独立许可,默认不访问。没有可确认旧来源时明确拒绝,不读取复制源冒充旧节点。
|
|
164
|
+
|
|
139
165
|
### 加入业务要求、规则和调用方
|
|
140
166
|
|
|
141
167
|
```text
|
|
@@ -156,9 +182,9 @@ dsh plugin add https://github.com/f-e-n-g-0531/dsh-code-review.git
|
|
|
156
182
|
|
|
157
183
|
这些文件和目录需要实际存在,路径相对于所选仓库:
|
|
158
184
|
|
|
159
|
-
- `contextPaths`:手动加入辅助文件,不代表该文件本身完成了主审。SVN
|
|
185
|
+
- `contextPaths`:手动加入辅助文件,不代表该文件本身完成了主审。SVN工作副本的未变更文件须通过离线正常节点/属性及来源检查;标准、固定宽度及受支持的复合自定义关键字经过 BASE 核验后可用于上下文;关键字名可由空格、制表符或换行分隔,格式内空格使用 `%_`。引号配置、未知格式及特殊或不可确认来源仍明确拒绝,已选择的可审查变更复用快照。
|
|
160
186
|
- `autoContext:true`:自动补充最多三层文本依赖,不是全仓扫描或编译器分析。
|
|
161
|
-
- `callerScopePaths`:在明确指定的非根目录中寻找字面引用。预览可能扫描该目录内不匹配的候选正文;只有捕获的匹配上下文随执行发送模型。SVN
|
|
187
|
+
- `callerScopePaths`:在明确指定的非根目录中寻找字面引用。预览可能扫描该目录内不匹配的候选正文;只有捕获的匹配上下文随执行发送模型。SVN受支持的关键字候选经 BASE 核验后支持,扫描及核验正文共同计费;不支持配置明确失败,不保证找到全部调用方。
|
|
162
188
|
- `rulePaths`:最多四个 UTF-8 Markdown 或文本规则文件,不能同时列为上下文。
|
|
163
189
|
- `businessRequirement`:帮助确定审查目标,本身不是缺陷证据。
|
|
164
190
|
|
|
@@ -222,8 +248,8 @@ Git / SVN 历史审查也能使用这些参数;依赖和调用方按对应版
|
|
|
222
248
|
- 插件遵循 DSH 工具权限;确认预览不等于绕过宿主权限。不执行项目代码、构建脚本或模型生成的 shell 命令。
|
|
223
249
|
- Git 支持工作区、单提交、两版本比较。SVN 支持工作副本和固定历史端点;**尚未完整支持所有 SVN 状态**。
|
|
224
250
|
- SVN 根目录属性可预览;同仓库复制新增以空目标旧侧审查,复制来源只作信息;移动的新增/删除分别覆盖。目录后代须逐项纳入,选择父目录不自动批准所有后代。
|
|
225
|
-
- SVN
|
|
226
|
-
-
|
|
251
|
+
- SVN 标准、固定宽度和受支持的复合关键字展开,以及工作副本变更/自动依赖/命中调用方、固定历史变更及上下文的换行元数据保留原文证据;不以规范化结果证明行为等价。自定义/固定宽度关键字、未提交替换、冲突、特殊节点、切换/外部工作副本及跨仓库比较等仍有限制。同仓库跨分支与独立基线替换需要下文列出的显式参数。已提交固定历史替换与未提交替换的支持不同,详见 [SVN 支持矩阵](SVN-SUPPORT-MATRIX.md)。
|
|
252
|
+
- 二进制、不能解码的文件、普通源码路径中的链接和超限内容会明确阻断;已跟踪的 SVN 链接只审查 `link 目标` 记录,不读取目标正文,不静默截断后声称完成。文本导航不证明语义绑定、执行可达或完整调用覆盖。
|
|
227
253
|
|
|
228
254
|
## 规模限制
|
|
229
255
|
|
package/RELEASE-NOTES.md
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
# v0.
|
|
1
|
+
# v0.80.2 发布说明
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 修复
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
- 替换树中,后代读取前检查祖先目录的状态、来源和属性,并绑定祖先指纹。祖先具有externals/special等不安全属性时阻断后代;祖先属性变化要求重新预览。不因父项仅缺少后代批准就禁止独立选择安全子项。
|
|
6
|
+
- 修复换行分隔svn:keywords被拒绝的问题。支持SVN原生ASCII空白分隔,并正确解码SVN XML中的数字字符引用;保留字面实体文本,不做二次解码。原文及BASE核验继续保持。
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
- 预览映射元数据标出自定义名称和格式,BASE核验读取计入原共享来源预算。
|
|
9
|
-
- 覆盖标准关键字名、重复自定义名、复合格式、其他占位符、固定宽度和不完整展开继续明确拒绝,不宣称完整自定义格式支持。
|
|
8
|
+
## 文档更新
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
重新区分使用指南、当前支持范围、维护者证据和历史记录。纠正失败标签v0.80.0被写作正式版本、固定宽度/链接已支持却仍被列为一律拒绝、SVN同revision跨分支比较限制及“功能对齐”等过强表述。历史发布与小样本试跑不作为当前能力或模型质量保证。
|
|
12
11
|
|
|
13
|
-
|
|
12
|
+
本次不增加新的读取权限或自动修复操作,不修改业务工作副本。升级后请确认DSH已加载新插件;旧预览不要跨升级复用。
|
|
13
|
+
|
|
14
|
+
操作见 [README](README.md),具体模式和拒绝条件见 [SVN支持矩阵](SVN-SUPPORT-MATRIX.md)。
|
|
@@ -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
|
+
| 历史、上下文、特殊状态 | 不在本子批新增范围 | 仍按上表未完成项推进,不由元数据功能推断支持 |
|