@feng0531/dsh-code-review 0.16.0 → 0.16.1
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 +5 -0
- package/README.md +5 -1
- package/package.json +1 -1
- package/src/model-approval.mjs +5 -1
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -4,12 +4,16 @@
|
|
|
4
4
|
|
|
5
5
|
## 当前状态
|
|
6
6
|
|
|
7
|
-
当前代码版本为 0.16.
|
|
7
|
+
当前代码版本为 0.16.1,包含有界覆盖预检、显式项目规则及候选证据与反证复核;发布状态以 npm 和 GitHub Release 为准。已通过真实临时 Git/SVN 仓库测试,以及隔离进程中的真实 DSH ToolRuntime 注册验证。当前开发会话的实际预览已返回0.6.0的plan/rules字段,空变更预览与默认关闭外发已验证;已进行经宿主审批的六次小规模真实试跑,累计12次模型调用;四组合成正负例与历史修复对照符合预期,历史引入方向检出候选但引用复核未完成(partial)。不是独立盲测或整体质量证明。详情见 [试跑结果](evaluation/PILOT-RESULTS.md)。
|
|
8
8
|
|
|
9
9
|
## 工作区下多个子仓库(0.11.0)
|
|
10
10
|
|
|
11
11
|
当会话目录不是仓库而其子目录含Git/SVN仓库时,预览可指定 `repositoryPath`,例如会话位于工作区根时传 `{ "repositoryPath": "c3animation" }`。该参数必须是工作区相对路径(正斜杠),指向明确仓库根;不能使用绝对路径、上级路径或链接目录。文件、上下文、规则路径仍相对此次选定仓库。多个子仓库分别预览和审批执行,不混用快照;execute只接收previewId,不能另改目标。省略参数保持原行为。使用此参数需宿主安装0.11.0或更新版本;仓库发布不会自动更新当前宿主。
|
|
12
12
|
|
|
13
|
+
## 完整文件权限与审批策略
|
|
14
|
+
|
|
15
|
+
宿主文件权限和approval policy为独立设置。已核对安装宿主实现:`approval.effectivePolicy(session) === "never"` 时,无论文件权限是否 `danger-full-access`,主动审批请求直接返回rejected且不弹卡片;never不是自动批准。插件保留独立外发批准,不以文件权限代替。若想实际审核,需要用户选择approval policy为ask的宿主权限预设并一次性批准;宿主 `/permission` 命令(不带参数)可列出当前/可用预设,具体映射依宿主配置,不假定哪个名字为ask。本插件不修改该策略。
|
|
16
|
+
|
|
13
17
|
## C++关联与审批诊断(0.16.0)
|
|
14
18
|
|
|
15
19
|
批准文件中的同目录唯一头/实现命名与字面量引号include进入现有关联分组,最多4文件的综合仍共享原读取/调用/生命周期预算。显式context注释保留from/to与include原行,current内容不冒充old历史。无需扫描新文件或执行编译器;系统include、构建搜索路径、条件宏和不支持文本不解析,同目录命名不证明绑定。
|
package/package.json
CHANGED
package/src/model-approval.mjs
CHANGED
|
@@ -4,5 +4,9 @@ export async function requestModelApproval(approval, request) {
|
|
|
4
4
|
const outcome = await approval.request(request);
|
|
5
5
|
if (outcome === 'allowed-once') return true;
|
|
6
6
|
const status = ['rejected', 'cancelled', 'unavailable'].includes(outcome) ? outcome : 'invalid-outcome';
|
|
7
|
-
|
|
7
|
+
let policy;
|
|
8
|
+
// Diagnostic only: policy never changes the grant decision or host audit request.
|
|
9
|
+
try { if (typeof approval.effectivePolicy === 'function') policy = approval.effectivePolicy(request.agent?.session); } catch {}
|
|
10
|
+
const policyHint = policy === 'never' ? ' Host approval policy=never: approval requests are automatically rejected; full filesystem access does not grant model sending. Select a host permission preset with approval policy=ask, then approve once.' : '';
|
|
11
|
+
throw new Error('Model sending approval denied or unavailable (' + status + '):' + policyHint + ' no code sent, review not performed. Check host approval policy/UI availability; obtain allowed-once after a new preview. confirmed=true does not replace host approval.');
|
|
8
12
|
}
|