docs/HANDOFF-2026-09-16.md
Rama master · réplica de lectura del repositorio original.
# 交接说明 — 2026-09-16
> **⚠️ 这不是最新的一份。** 本文写的是 v3.9.35,**当前一份是
> [HANDOFF-2026-10-15.md](HANDOFF-2026-10-15.md)**。状态表与"仍未做"请以最新那份为准。
> 索引在 [README.md](README.md)。交接是 append-only,旧结论不删。
**上一份**:[HANDOFF-2026-08-20.md](HANDOFF-2026-08-20.md)(它停在 v3.9.34,不是现状)。
方法论仍看 [AUDIT-LEDGER.md](AUDIT-LEDGER.md)。本份只写**现在还能接手的事实**。
---
## 0. 当前状态
```
产品 tag v3.9.35 —— 本份随发版改。OTA 跟最新 annotated tag。
master == v3.9.35 的提交已推送到 origin(推送触发 CI;突变 sweep 仍是手动)
作者 dwgx。禁止 AI 署名 / Co-Authored-By
活树 D:\Project\WindsurfAPI。不要建 D:\Project\windsurf
Mac 路径 D:\Macos\workspace\Project\windsurf 只是联接
Windows Node v24.x;无 /usr/bin/git;mutate / real-Git 夹具在本机加载即失败,不当产品回归
```
开着的 issue / PR(2026-09-16 核对):
| | 状态 | 下一刀 |
|---|---|---|
| #271 | 开 | Responses 并行工具调用的交错折叠(首贡)。评审 + 参考补丁已发(3 条发现:M1 数组 content 被压平丢图、M2 anchor/基线、M3 空 ID 与字段),等贡献者改 M1 或推分支;**两天无回按 #270 先例**:合方向 + 同批补维护方修正(仍按他的 PR 记账) |
| #272 | 开 | assistant 只带图片的回合被**整条丢弃**(默认路径静默丢图)。**修它 = 默认 wire 变化**,先做 issue 里的最小 A/B(图挂 user vs 挂 assistant);现役兼容锁 = `wire-h1` 的 T4/M5,修时一起换 |
| #273 | 开 | 两处 wire 语义待现场校准:result 先于 call 的历史;同回合多帧的 reasoning 重复 |
| #258 | 开 | 旱灾名单:`DROUGHT_SAFE_SELECTORS` 已进 v3.9.28,不扩 `FREE_REACHABLE`,等报告者旱灾下确认 200 |
| #250 | 开 | **唯一确认的活数据缺陷**:reasoning 泄进 content。LEAK_TRACE 边界追踪已上,等现场抓包 |
| #245 | 开 | Enterprise 配置答疑写完,报告者没回 |
| #239 | 开 | 真实 ACU 计费;默认关,等数据 |
| #236 | 开 | GLM-5.2 工具停滞;要原始 tool 文本 + 绕开 subapi 直连取证 |
| #262 | 开 | SWE-2 ACP 传输提议 |
| #208 | 开 | 公告,故意留 |
## 1. 接手三分钟内会踩的
1. **不要在 `master` 上 `git commit`。** `.githooks/pre-commit` 会拒,且发生在 `git add` 之后,树会脏。
2. **`npm test` 不是发布门。** 权威是 `npm run test:release`;突变规格**不在**套件里(改 `src/` 要跑 `for s in test/mutations/*.json; do npm run mutate -- "$s"; done`,Linux)。
3. **不要打开、不要打印** `.env` / `accounts*` / `*session.env`。OTA 跟 annotated tag;家里云已弃用(Owner 2026-09-04)。
4. **本版新发现的坑**:`test/docs-consistency-guard.test.js` 会走**整棵工作树**找 `.md`(不认 gitignore)——往 `tmp/` 丢带相对链接的 markdown 会让本机全量套件变红(CI 是干净 checkout,不受影响)。把 `tmp/` 清掉即可。
## 2. 本版(v3.9.35)改了什么
三条 wire 层提交(细节与实测数字见 [releases/RELEASE_NOTES_3.9.35.md](releases/RELEASE_NOTES_3.9.35.md)):
- `e0143fd` —— `DEVIN_CONNECT_REPLAY_REASONING` 开启时,只带 reasoning 的 assistant 回合不再被空回合过滤器吞掉;默认路径逐字节不变(270/270 完整请求 Buffer 对拍)。
- `6b8762f` —— orphan 过滤器的注释写准(它是**全史**匹配,不是 earlier)+ `direct`/`normalize`/`strip` 三入口行为守卫。行为不变。
- `40f2320` —— reasoning replay 的三处注释分离「抓包事实 / 当前政策 / 未证明的要求」+ 11 条突变钉死别名优先级与发射次数。可执行语句零变化。
新增 3 个突变规格共 23 条(全部 CAUGHT);基线 6 / 4 / 4 在 Windows 实测,Linux `spec-baseline-audit` 为权威复核。
## 3. 该暴露 / 不该暴露
与 08-20 §2 相同,未变:
**公开(git 跟踪)**:`README*.md`、`docs/releases/*`、`docs/ENV-SWITCHES.md`、`docs/DEVIN-CONNECT-CUTOVER.md`、本交接链、`docs/AUDIT-LEDGER.md`、`HISTORY-LEDGER*`、源码与测试。
**绝不进 git / 绝不贴到 issue**:`.env`、`accounts.json`、`accounts.creds.json`、`*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`。
- #250 / #245 / #236:等报告者或现场抓包。
- **未审计面**(第一轮那张按风险排序的表,十六轮里从未宣布 CLEAN,别读成已审):`tool-emulation.js` / `langserver.js` / `conversation-pool.js` / `models.js` / `auth.js` 其余部分(凭据加密、持久化竞态)。
- #272 / #273 的上游测量(真号 A/B + 逐帧抓包)。
- 家里云生产树:已弃用,不要 SSH、不要覆盖。
## 5. 发版口令
见 [releases/README.md](releases/README.md)。bump `package.json` 一次、`package-lock.json` **两次**;annotated tag 且在 master push 之后打;不要在 master 上 commit。