Repository navigation
v0.1.198 release blockers found in final pre-release review | v0.1.198 发版前终审发现的阻塞项清单 #3516
Copy link
Copy link
Closed
Labels
Description
来源: #3511 (#3511) 分析 v0.1.197..master 发版窗口终审时发现
查重: 无(open/closed issue 与在途 PR 均检索过,无同签名条目)
v0.1.197→master(~120 个 PR,CORE 矩阵绿但 windows-node-24/e2e/registry 车道缺席)终审发现以下问题。同一「v0.1.198 不能安全发布」症状家族,按机制拆成子缺陷清单管理。除特别标注外,当前默认配置下多数条目休眠;P0 与 P1-3 是真实生效路径上的缺陷。
发布阻塞(必须修完 + 发版头 full 矩阵绿才能切 v0.1.198)
— P0 jimp 把 zod 静态带进 dist(可用性级):#3425 图片缩放换 jimp@1.6.1(devDependencies,tsup 内联),jimp 内部依赖 zod → 本地构建实测 dist/index.js 16 处、dist/agent/pi-native.js 16 处静态 from"zod"(opencode-native.js 0 处合规)。违反 AGENTS.md KDD#1(dist/index.js 零外部依赖)。后果:不带依赖树的安装(dsh profile 副本等主流插件路径)+ pi 插件启动即 ERR_MODULE_NOT_FOUND,流量静默直连上游不压缩。修:jimp 改运行时动态导入(失败降级跳过缩放)+ CI 静态断言禁止 dist/index.js 与 dist/agent/pi-native.js 出现静态 zod 导入。
- P1-3 guardrail 旋钮生产全死(修复中:fix(#3516): keep jimp out of dist (P0 release blocker) + wire pi/omp guardrail knobs #3524):
src/agent/pi.ts:754调用wireToolGuardrails(pi)无参;src/knobs.ts:237/244/251三个旋钮函数零生产调用方;guardrails未注册进KNOWN_TOP_LEVEL_KEYS(src/config.ts:1974)。后果:owner 已批的本期默认(bash 60s 超时注入、50KB cap、重复熔断)里超时注入从未生效,且文档承诺的guardrails.*/BILI_GUARDRAIL_*关闭开关全部无效。修:调用点接 knobs 解析 + 注册 key。
增量/线程车道开灰度前必修(当前 rollout 0% 休眠)
- P1-4a
src/incremental-lane.ts:146PASSTHROUGH_HEADERS 缺x-api-key(Bearer-only 上游会 401)。一行。 - P1-4c omp 增量门不对称:
ompIncrementalBeforeSend只查 state.origin+prompt_cache_key,无 dsh 同类路径的 toolsReady 门。 - P1-4d
src/server/threads-lane.ts:375reforge 摘要副调用裸 fetch,绕过 proxyDispatcher(compress-loop/degenerate-retry/preflight 均走 dispatcher)。 - P1-4b(kernel,human-gated)kernel/src/wire/anthropic.ts 块 switch 仅 text/tool_use/tool_result/thinking/image/redacted_thinking,无 default——未知块(document/audio/web_search_tool_result…)canonical 转换时静默丢弃。需 kernel-change 声明 + owner 批准。
存储(需完整影响分析后排期)
- P1-5
src/storage/ingest.ts:289planner 只按 state.blocks 建行:[Bug][proxy] unframed host-side history deletion leaves zombie fold blocks rendering carriers forever — one carrier flaps in/out every turn (persistent prefix-cache churn) #2695 僵尸回收后 blockContents 孤儿条目不落 unified 表 → full 模式重启丢原文面;shadow 模式 digest 校验漂移循环。与 [Bug][proxy] unframed host-side history deletion leaves zombie fold blocks rendering carriers forever — one carrier flaps in/out every turn (persistent prefix-cache churn) #2695/影子存储(默认开启)每次落盘把整个会话重新序列化+哈希,大会话明显变卡;jsonWriter=off 时连防抖合并都没了 #3133 交互,需定向复现确认边界。
安全层级(人工评审)
- P1-6 security.adminRelay 开启后 dsh-web 浏览器可经 /__bili.* 免认证触达本机代理管理面(信任转移)。保持默认关;开启前需人工安全评审。
P2 小缺陷(顺手修或排期)
-
src/persist.ts:1884foldResidentTail 缺!this.enabled守卫(兄弟函数 dropResidentBlockContents/Metadata 均有;saveContentStore 在 !enabled 时 no-op 返回 true,writeNow 仍走到折叠点)。一行。 -
kernel/src/report.ts:443-455acp_status ⚠ 投影错误裸 catch,一律标 "refs unresolvable",吞掉 zone/split 诊断。(kernel) -
src/launcher.ts:3573启动 marker 年龄判定无负龄防护(未来时间戳恒真 → CI flake 机制成立)。 - kernel/src/recommend.ts projectUnit O(n·m) 每轮重算(性能,非正确性)。
流程项
Reactions are currently unavailable
Activity
ranxianglei commentedon Oct 17, 2026
接单
ranxianglei commentedon Oct 17, 2026
(ai: vllm-qwen/qwen3.8-27b)
进度同步(#3511 终审会话):P0 与 P1-3 的修复 PR 已在途 — #3524(分支 2026-10-17_fix-p0-jimp-zod-dist,两个独立标注 commit):
其余条目(P1-4a~d、P1-5、P1-6、P2)本 PR 不碰,继续按清单排期。若其他会话接手了其中某项,以本评论标注的 P0/P1-3 归属为准,避免重复开 PR(loop guard)。
test(#3516): pin the dist-no-zod build gate (static caught, dynamic a…
merge: master into #3516 P0 branch — keep jimp external, keep the ext…
Merge pull request #3524 from ranxianglei/2026-10-17_fix-p0-jimp-zod-…
ranxianglei commentedon Oct 17, 2026
(ai: vllm-qwen/qwen3.8-27b)
P0 与 P1-3 已解决并合入 master(两条并行修复均合入,合并后状态已逐行核对自洽):
optionalDependencies.jimp保留;build 门禁保留check-dist-external-zod.mjs(我的 check-dist-no-zod.mjs 去重时丢弃,同一失败类无覆盖损失);薄拷贝安装启动问题消除(隔离复现验证过)。guardrailskey 注册,完整在 master。master @6dc41f6 CI:静态门全绿,test 矩阵在跑。其余条目(P1-4a~d 开闸前必修、P1-5 存储、P1-6 adminRelay 人工安全审、P2×4、流程 P1-1/P1-2)不变,继续按清单排期。另:#3518 全矩阵唯一红车道
real dsh headless profile lane已本地按 CI 同配方(dsh@0.2.0-rc.2 + 两个 e2e 文件)复现——base 2/2 绿、persona 2 pass/0 fail(exit 0),判定 runner 抖动,需重跑该车道刷新基线(check-runs rerun API 对本 token 404,请 owner 或平台侧重跑)。fix(ranxianglei#3516): keep jimp out of dist — externalize + lazy-loa…
fix(ranxianglei#3516): wire pi/omp tool-guardrail knobs end-to-end (r…
fix: load the mysql2 driver lazily at backend-open time so dist stays…