v1.21.1 上线收尾——批注复验/观察周工具/运维钳位/落地页诚实化
v1.21.1 上线收尾——批注复验 + 观察周工具 + 运维保险丝 + 落地页诚实化
冲突弧上生产后的四件收尾(#258 #259 #260 #261)。
批注复验(先测后改)
- 脆弱记忆放行条款(复验发现缺失,已实现):冲突态"召回不给脆弱记忆喂料"加了放行——用户自己提起伤心话题时必须接得住("我又梦到我爸了"),她不能因断粮装失忆。确定性同义组桥接(用户说"我爸"、记忆写"父亲"),零新增 LLM;她仍不得主动引用;危机 ≥medium 全放行。沙箱实测:cold 中她回"抱抱你……我懂那种感觉",哀伤话题不误触危机干预
- hurt 72h 消化门控(复验确认 v1.21.0 已正确):消化要求期间正常互动 ≥5 轮,零互动走加重路径——伤了她又消失从来不是自动原谅。补两条精确断言 + 文档补"复合场景合成规则"(wound 挂着时重逢不解锁修复,该道歉还是得道歉)
观察周日报:npm run arc:digest
纯只读报表(readonly 连接硬约束,零回写零自动调参):红线触发(应为 0,非 0 高亮置顶)/ arc 态危机接管 / 新建事件流水(regex|llm|both 来源推断)/ 道歉判定流水(matched|generic + 原文)/ 状态转移 / 当前分布。埋点下沉源头单一卡口(scrubConflictRedline / applyCrisisOverride 内部),fail-open 有 smoke 盯防。
ARC_MAX_STATE 运维钳位
生产误伤时的保险丝(默认空=不钳;hurt|cold|withdrawing):状态封顶、事件照常落库、存量超限状态 30min 批内压回。与未成年保护性质相反——safe_mode 是安全底线不可关,这是风险功能的可调上限。
落地页诚实化
删除不可兑现承诺:"端到端加密存储"(架构上为假)/"仅你本人可见"/"永不用于训练"(无限定版),替换为逐句可兑现的版本(HTTPS 传输加密、第三方模型商受其条款、不出售、不用于我们自有训练、原文 60 天自动清理)。provider 数字删去防漂移。
门禁
conflict_arc_smoke 92→99 · redline_guard 45→51(含 fail-open 断言)· p0 127 · 全家绿。
⚠ 随版 hotfix(#263,发版当晚生产排查)
发版后例行观察发现生产 error 日志:活跃用户的 normal 主动消息自 v1.20.0 部署起静默断供 8 小时(665 次失败)。根因是 v1.20.0 "事前反复读注入"的 systemPrompt += 撞上 v1.15 以来的 const 声明——TypeError 被 tick 的 catch 吃成日志,进程不崩、health 200、冒烟全绿,恰好只打死"有对话上下文的活跃用户"这一最核心场景。修复一行(const→let);防回归上了通用门禁:全 src 扫描"const 声明 + 同名 +="病灶(红色验证过,能精确抓出坏版本)。