叫我小杨同学
|
d1eff01eb6
|
fix: 补丁 rc.2/rc.5 双版本适配,版本 1.1.88
|
2026-11-02 01:31:15 +08:00 |
|
叫我小杨同学
|
335ddee90f
|
fix: 全仓审计加固与死代码清理,版本 1.1.87
- 回滚/备份:空 bak 改名 .bad 跳过;升级刷新 bak 补上单数 marker 补丁;统一原子写
- 补丁命中:optional 命中不符记软失败;#42 插入型替换加探针防重复插入
- Windows:进程枚举改用 | 分隔 + UTF-8,修复中文路径换包不杀旧进程;换包失败拉起原版
- 安全:asar 解包防越界;红队路径校验 realpath 防空 symlink;更新仅 https;报告回放去换行注入
- 提示词钩子:停用后 rewriteFn 返回原装配文本并清理 assemble guard;缓存签名纳入红队/策略/override
- 红队:listEngagements 默认不算统计;listVulns/报告支持 evidenceLimit
- 子代理名额占位即时生效并回退;--apply 有失败项退出码 1
- 清理:删除 lib/mnemon-settings.js 及 13 处死代码/未使用 import;移除 test 目录与 test 脚本
|
2026-11-01 21:47:03 +08:00 |
|
 叫我小杨同学andClaude
|
6f9c500bb5
|
fix: 补丁失配判定加 drifted,宿主版本门禁与 expect 命中数契约(#188 通用部分)
从 PR #188(Pluto-Yt,fix/drift-detection)手改取通用部分落地,不含
0.2.1-rc.3 专属适配:
- 补丁失配不再静默成 skipped:文件在、marker 没有、pattern 一条都不中
→ 新增 drifted 状态(filePatchOutcome / patchStatus / rollupPatchStatus)。
以前这种情况一律返回 skipped 并被当软成功,官方一升级插件就静默失效,
状态页却全绿
- isSelfMarkedPatch() 例外:pattern 本身就是本插件写进宿主的痕迹
(#80 撤销型),找不到 = 本来没加过或已撤过,仍算 skipped
- ALWAYS_SOFT_STATUSES 去掉 skipped;skipped 改为只有可选/自标记型才算
软成功;drifted 看得见(状态页标红、不计入 ready)但不阻断 Apply,
免得把 0.1.6 / 0.2.0 / 0.2.1-rc.2 上的用户堵死
- tallyDisplayPatches / rollupDisplayStatus:drifted 压过 applied
- ensureHostClean 不再过滤 pattern_not_found:没打上就是没打上
- 宿主版本门禁:读 package.json 的 dshTarget,比对宿主真实版本,
gatherState 暴露 host_version / host_target / host_supported,
CLI 与状态页在未适配时直接告警
- applyReplacementsToText 支持 { pattern, replace, expect } 命中数契约:
命中数与声明不符就整条拒写,并回传实际命中数
- #77 锚点容错:写死 5 行改成锚首尾 + 非贪婪窗口 (?:(?!isRewindMarker)[\s\S]){0,300}?,
官方在中间插一行也照样命中;窗口排除 isRewindMarker 保证二次应用不叠加
额外修的 bug:
- rollupPatchStatus 的 lastError 提到最前:以前只在 strictFiles 分支里返回,
一个文件写成功就把别的文件 EACCES / read_error 吞成绿
- applyReplacementsToText 的 expect 契约原先只对字面量 pattern 生效,正则
分支直接 continue 掉了 —— 官方把同一段代码复制成两份时正则会把两处一起
改掉,补上正则分支的命中数检查
- patchStatus 的 drifted 计数排在 strictFiles 的 unmatched 之前:严格补丁的
文件宿主一定在,原文对不上只可能是上游漂移,报 drifted 比 unmatched 更准
- 与 PR 的有意偏差:rollupPatchStatus 里 drifted 排在 already 之后。
多文件补丁(#50/#57/#62)有个别文件本来就不含这段代码(barrel 文件),
按 PR 的顺序会把这几条从 already/applied 翻成 drifted,制造假告警
未取(0.2.1-rc.3 专属、与通用逻辑无法拆开):新增 targetFiles 键
(harness-dev-context / skill-badge)、#32/#53 扩到 rc.3 新位置、
新增 #89 SANDBOX_POLICY_BRAND_NEUTRAL 与 #90 SKILL_BADGE_DESCRIPTION_NEUTRAL
新增 test/patch-status.test.js(29 条,全量 74 条全过)
Based-on: PR #188 by Pluto-Yt
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-10-30 13:09:35 +08:00 |
|
叫我小杨同学
|
95102b0bb2
|
fix: Apply 不再覆盖 npm 全局 dsh 软链;pnpm/plugin add 补本体 insert(#157 #154 #155)
|
2026-10-24 20:38:05 +08:00 |
|
叫我小杨同学
|
679a3db1cc
|
1.1.73: open-source local-lab only; drop skills and knowledge base.
|
2026-10-23 15:55:53 +08:00 |
|