# 2026-09-02 — nexify 质量闭环 + 跨语料验证(超长会话)

本会话 = Keith 主导的 nexify 绑定质量连续作战:从 graphify 对比报告 → 误绑簇修复(#M4-post-1~4)→ 每版出基线 + compare_versions 报告 → UNRESOLVED 挖矿 → Zed/pdf-inspector 跨语料验证。<!-- project: path:/home/keith/workspace -->

## 版本演进终局数字(v6→v11,INFERRED resolved + resolve 耗时)

| 版本 | commit | 内容 | INFERRED resolved | resolve | 冷建图 |
|---|---|---|---:|---:|---:|
| v6 | 4219072 | 0.2.1 基线 | 24,860 | 17.4s | 38.1s |
| v7 | 2c2db25 | 黑名单(#M4-post-1 前置) | 21,423 | 16.6s | 38.8s |
| v8 | c1d1a19 | pattern 局部变量 | 21,150 | 18.0s | 39.8s |
| v9 | 5804bfc | guard 误杀修复(#M4-post-2) | 21,171 | 16.1s | 38.4s |
| v10 | 0da0a98 | re-export 链穿透(#M4-post-3) | 21,513 | **6.5s** | 31.4s |
| v11 | 8aeafca | crate 直导(#M4-post-4) | 21,622 | 7.3s | 33.5s |

- UNRESOLVED 随版本:31,424→34,915→34,391→34,404→34,062→33,953(v11 已比 v6 低)
- 哨兵恒定:user_home=16、ToolContext::new=617、ViewStack::push=23、FleetRunId::from=57
- 耗时表、完整流程已固化在 **graphify-codewhale/AGENTS.md**(每次出基线必读必更新)<!-- project: path:/home/keith/workspace -->

## 产物位置(全在 graphify-codewhale/ + 基线库)

- 基线库:`~/clawspace/nexify-verify/nexify-cache-baselines/`(cache-<hash>-v<N>.db,含 cache-zed-8372641-v11.db、cache-pdf-inspector-65b7fa1-v11.db)+ 工作区各一份副本<!-- project: path:/home/keith/workspace -->
- 对比脚本:`compare_versions.py`(VERSIONS 列表已到 v11;加版本要同步改 §1/§3/§4 表头列、§2 转移循环、delta 行、§5 判定、intro 份数)<!-- project: path:/home/keith/workspace -->
- 报告:`nexify-version-comparison-v6-v7-v8-v9-v10-v11.md`、`COMPARISON-zed-nexify-v11.md`、`COMPARISON-pdf-inspector-nexify-v11.md`<!-- project: path:/home/keith/workspace -->

## issue 队列(nexify TODO-M4.md,~/.openclaw/workspace/nexify)

- ✅ #M4-post-1 c1d1a19(pattern 绑定)、✅ #M4-post-2 5804bfc(guard 回归)、✅ #M4-post-3 0da0a98(re-export)、✅ #M4-post-4 8aeafca(crate 直导)
- ⏳ #M4-post-5:parse_route_kind 漏网(crate::目录模块形态,3 条)
- ⏳ #M4-post-6:Zed test_fixture 假 crate 误绑(67 条,真 gpui 代码吸到 tooling/lints 假实现)
- ⏳ #M4-post-7:glob re-export 未解析(px/div/rgb 等 28 符号 4,462 条 UNRESOLVED)
- ⏳ #M4-post-8:嵌套局部 fn 遮蔽(zlog search,2 条)
- ⏳ #M4-post-9:单 package crate 根路径 + 模块级 re-export(pdf-inspector 233 条)

## 跨语料验证结论(v11,绑定率恒定 ~38-39%)

- codewhale 38.7% / Zed(245 crate,89s)38.1% / pdf-inspector(单 package,1.5s)39.1%(仅 .rs)
- **误绑簇(Err/Response.json/text/contextual/snapshot)在 Zed/pdf-inspector 上零复现** → 补丁普适非特调
- 每个语料形态暴露一类新缺口:Zed→夹具目录+glob+嵌套 fn;pdf-inspector→单 package 根路径。**nexify 修复节奏 = 每语料挖一层 UNRESOLVED**

## 硬核教训(流程类)

- **nexify-web.service 可能跑旧二进制**:它 systemd --user 启动后常驻,重扫会覆盖 cache.db(实例:v7 缓存被 0.2.1 服务冲回 v6,靠 /tmp 备份抢救)。出基线顺序固定:build → stop service → rm cache.db → scan(记录 extract/resolve 耗时)→ 归档 → 重启 service。WIP agent 编译会 bump EXTRACT_VERSION 污染缓存——先 `git log -1` + 看 rust.rs EXTRACT_VERSION 再扫
- 加版本改 compare_versions.py 后**必须目检每个表都出现新版本**(硬编码点多,漏一个静默丢版本)
- 抽查消失边别只抽 5 条:89 对里 9 条 guard 误杀,5 条样本全中"修正"是运气——数量级几十上百就全量枚举
- sqlite3 python 对比时 row_factory 必须一致(Row vs tuple 差集会假全量)
- UNRESOLVED 挖矿法:std 构造器(Some/Ok/Err)~75% 合理;真矿 = 全库唯一定义长名 + 明确 use 导入却 UNRESOLVED;分机制(跨 crate re-export / crate 直导 / glob / 模块级 re-export / 单 package 根路径)

## 其它

- memory search 索引与 embedding 模型不匹配暂停中(需 `openclaw memory index --force` 重建)
- graphify 源码 ~/.local/share/uv/tools/graphifyy/...(rust extractor 的 _RUST_TRAIT_METHOD_BLOCKLIST 含 err,黑名单在 raw_calls 收集期拦截)
- nexify main 本地领先 ~7 提交未推送(含 TODO 文档提交)
