Files
小唯 9b7b969cd3 feat(memoryweave): GA-P0-1 拆分 not_useful_count → human_not_useful_count / dedup_downweight_count
背景:not_useful_count 被两种语义混写——用户人工点「没用」(feedback.go
MarkNotUseful) 与 dedup/合并流程自动降权(core.go Dedup demote) 都写同一字段。
实测 35010 行里 509 条非零但 human useful 仅 21 ⇒ 字段被混写。P2 自适应阈值
要靠它当标签,统计即垃圾。

改法(AC1-5,禁部署):
- LanceDB(arrow_schema) + sqlite(create/alter) 两侧同步新增
  human_not_useful_count / dedup_downweight_count(additive,不删旧列)
- 两个写入点各写各的:feedback.go→IncrementHumanNotUseful;
  core.go dedup→IncrementDedupDownweight
- not_useful_count 保留 deprecated,新代码不再读(读侧仅 Scan/迁移保留)
- 存量迁移工具 cmd/split_notuseful(--dry-run 默认,apply 需终审);
  实测存量无可按来源判定行(M=0)→ 全部归 unknown(K=109 存活行),apply=no-op
- 单测 TestSplitNotUsefulFieldIsolation:两写入点写不同字段,相对增量断言

go build/vet/test + rust build 全绿;rust open() schema 演进在副本上
实测补列 human_not_useful_count/dedup_downweight_count 成功。
2026-10-12 14:17:31 +08:00
..