#1292·jcode

fix(config): config-cache 指纹中缺少 JCODE_WAKE_MODE

作者: ianalitis创建于 2026年9月18日更新于 2026年9月18日

□ 问题

0735c75317e644ecb440e0c3dddb7a6b3cd8bf',Config:apply-env overrides'为JCODE-WAKE MODE',但CONFIG-ENV-KEYS'在`crates/jcode-base/src/config.r.rs'中不包括它。

`ConfigCacheFingerprint::current ()'使用允许列表来检测相关的环境变化. 因此,运行过程中对该变量的更改本身并不会使缓存配置失效. 用已设定的变量进行初始加载仍然应用了此覆盖 。 这不是声称改变一个单独的外壳的环境会改变一个已经运行的守护进程.

□再现.

在对上述修订进行清查时:

嘘 脚本/ dev cargo.sh 测试 -- 下行 -- 锁定 -- profile selfdev
-p jcode-base -lib
配置 : tests:: config env 指印 tacks every apply env override var
-- --正好 -- test-threads=1


Rust在macOS arm64上观察了"1.100.0-夜" (0dfb098f3 2026-08-31)",通过寄存器的自发包装:

页:1
CONFIG ENV KEYS必须包含由Config 读取的每个env var: apply env overrides; 缺少: ["JCODE WAKE MODE"]
测试结果:失败。 0通过; 1 失败; 0 被忽略; 0 被测量; 1379 被过滤出

预期:每个环境都参与指纹和现有完整性回归。

□ 建议的固定和验证

CONFIG ENV-KEYS'中添加JCODE WAKE MODE'。 确切的回归不变,然后通过。 所有78个现有的`配置:测试:' 测试还传递了自定义的夜用工具链和Rust 1.94.1, 包括醒目模式解析、只运行时间的可变排除以及文件/保存缓存无效。

复制的结果是现有的回归。 上面的缓存后果通过生产代码来追踪,而不是现场守护者醒悟测试. 不需要解析器、默认、 API、 依赖性或测试断言更改 。

相關:#1067引入了"唤醒"功能并已经关闭. 本报告具体涉及它从缓存中省略的无效性. 搜索“JCODE-WAKE-MODE”和“指印警钟”时没有发现关于这一遗漏的现有报告。

在大赦国际的协助下编写,并与消息来源核对,并记录测试结果.