# 交接说明 — 2026-09-17 > **⚠️ 这不是最新的一份。** 本文写的是 v3.9.36,**当前一份是 > [HANDOFF-2026-10-15.md](HANDOFF-2026-10-15.md)**。状态表与"仍未做"请以最新那份为准。 > 索引在 [README.md](README.md)。交接是 append-only,旧结论不删。 **上一份**:[HANDOFF-2026-09-16.md](HANDOFF-2026-09-16.md)(它停在 v3.9.35,不是现状)。 方法论仍看 [AUDIT-LEDGER.md](AUDIT-LEDGER.md)。本份只写**现在还能接手的事实**。 --- ## 0. 当前状态 ``` 产品 tag v3.9.36 —— 本份随发版改。OTA 跟最新 annotated tag。 master == v3.9.36 的提交已推送到 origin(CI 含一条"默认路径字节"门禁,见 §1) 作者 dwgx。禁止 AI 署名 / Co-Authored-By 活树 D:\Project\WindsurfAPI。不要建 D:\Project\windsurf Mac 路径 D:\Macos\workspace\Project\windsurf 只是联接 Windows Node v24.x;无 /usr/bin/git。**五个真实 Git 夹具现在是带原因的 skip**,本机套件 0 fail ``` 开着的 issue / PR(2026-09-17 核对): | | 状态 | 下一刀 | |---|---|---| | #272 | 开 | assistant 只带图片的回合被整条丢弃(默认路径静默丢图)。**修它 = 默认 wire 变化**,先做 issue 里的最小 A/B | | #273 | 开 | 两处 wire 语义待现场校准:result 先于 call 的历史;同回合多帧的 reasoning 重复 | | #258 | 开 | 旱灾名单:`DROUGHT_SAFE_SELECTORS` 已进 v3.9.28,不扩 `FREE_REACHABLE`,等报告者确认 | | #250 | 开 | **唯一确认的活数据缺陷**:reasoning 泄进 content。LEAK_TRACE 已上,等现场抓包 | | #245 / #239 / #236 / #262 / #208 | 开 | 分别等报告者 / 付费校准 / 复现信息 / 提议决定 / 公告 | ## 1. 接手三分钟内会踩的 1. **不要在 `master` 上 `git commit`**(`.githooks/pre-commit` 拒,且发生在 `git add` 之后)。分支 → ff-only。 2. **`npm test` 不是发布门**;权威是 `npm run test:release`(Linux)。突变规格不在套件里。 3. **不要打开/打印** `.env` / `accounts*` / `*session.env`。OTA 跟 annotated tag。 4. **`docs-consistency-guard` 现在只扫 git 跟踪的 markdown**——但 `scripts/` 是**白名单制** (`.gitignore` 里 `scripts/*` + 逐条 `!scripts/`):新脚本不加白名单就永远进不了提交。 5. **`test/_research/` 被显式排除**在可运行集之外(研究笔记,期望值过期)。往里放 `.test.js` 不会被执行。 ## 2. v3.9.36 改了什么 四条线(细节见 [releases/RELEASE_NOTES_3.9.36.md](releases/RELEASE_NOTES_3.9.36.md)): 1. **PR #271**(贡献者):并行 `tool_calls` 之间的游离 assistant 文本折进交错块;评审后补掉丢图、 空 ID 配对、字段丢失三处。 2. **请求路径**:缓存键门控(裸 key 场景不再白算)、`/v1/messages` 单遍、正则提升、SSE 前缀表、 图像不再逐次 base64;编码器每字段单分配、分帧器线性化。 3. **可靠性**:会话索引淘汰只动自己的键、复用池租户公平份额、额度刷新合并、响应存储拷贝边界 (并把它从 `structuredClone` 换成只复制容器:3 MB 载荷 put 2.79→0.10 ms)、JWT 缓存淘汰、 流失败分层 + 转移间隔。 4. **安全**:凭据库唯一 tmp + 串行写 + 拒绝缩水修复 + 死写者锁回收、登录 `credentialStored`、 可信客户端 IP、主机白名单(带分类,不耗账号错误预算)、stats 导入原型键、日志脱敏。 **门禁**:`test/wire-byte-identity.test.js`(270 帧 vs 上一个 release)+ CI 作业 `Default-path request bytes`;`npm run gate`;突变 sweep 计数断言;`spec-baseline-audit` 定时; `secret-scan` 覆盖未跟踪文件。 ## 3. 该暴露 / 不该暴露 与 09-16 §3 相同,未变:公开的是 `README*.md`、`docs/releases/*`、`docs/ENV-SWITCHES.md`、 `docs/DEVIN-CONNECT-CUTOVER.md`、本交接链、`docs/AUDIT-LEDGER.md`、`HISTORY-LEDGER*`、源码与测试; **绝不进 git / 绝不贴到 issue**:`.env`、`accounts*`、`*session.env`、`.trace/`、`.wire-dump/`、 `docs-internal/`、`.agent/` / `.claude/` / `.grok/` 控制面、根 `CLAUDE.md` / `AGENTS.md`。 ## 4. 仍未做(不是漏做) - 默认开 ACU `^22`:#239 等数据;`FREE_TIER_SELECTOR` 仍是 `swe-1-6-slow`。 - **未审计面**(第一轮那张按风险排序的表,十六轮里从未宣布 CLEAN):`tool-emulation.js` / `langserver.js` / `conversation-pool.js` / `models.js` / `auth.js` 其余部分。 - #272 / #273 需要上游 A/B 与逐帧抓包,不是写代码的事。 - `test/_research/responses-cache-hit-seq.test.js` 重定基(技术债,非缺陷)。 - 家里云生产树:已弃用,不要 SSH、不要覆盖。 ## 5. 发版口令 见 [releases/README.md](releases/README.md)。bump `package.json` 一次、`package-lock.json` **两次**; annotated tag 在 master push 之后打;不要在 master 上直接 commit。