Files
Jyotisha/docs/tasks/PROGRESS-rectification-collect-semantics-20260910.md
T
Jesse_ChenandCursor 52db714ba9 fix(rectification): equal-weight collect, year-cue questions, classifier no/unsure (BUG-641–643)
Ask finance and health like other domains, put year-cued collect questions first, and let the classifier distinguish decline vs skip. Skill 10.0.22.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 21:53:10 +08:00

4.9 KiB
Raw Blame History

PROGRESS · 采集语义三改(2026-09-10

工作树:.worktrees/rectification-collect-semantics-20260910 分支:codex/rectification-collect-semantics-20260910 任务书:docs/tasks/TASK-rectification-collect-semantics-20260910.md 基线:任务书写 82eb3b79;开工接到 origin/staging @ 71eaeb2eBUG-635640、BUG-644/645 已在其上)。

开工回执

  • 编号 BUG-641 / 642 / 643。当时 docs/BUG_HISTORY.md 最大号是 645,但 641~643 未占用,按任务书使用。
  • 顺序:T1 Skill 10.0.22 + 去掉 VOLUNTEER_ONLY → T2 带线索模板与采集优先 → T3 分类器 no/unsure + collect yes 的 expectedWrite → T4 记录。

已完成

  • T1 / BUG-641Skill L84 与 conversation-strategy.md 改为同权采集。删除 VOLUNTEER_ONLYMAX_COLLECTION_PROBES 3→7。live SKILL.mdversions/10.0.22/SKILL.md 逐字节相等。sha256 e3765b20ce6b49a5c7c9ed6b0a8caacc6fc4b8a16a127b93bd92c537330a54e2。10.0.21 仍 deprecatedresolveExactSkillPackage 可打开。
  • T2 / BUG-642COLLECT_QUESTION_YEAR_CUE / collectQuestionForDomainnextDatedCollectFollowup 先排有 evidence_collection_probes 年份线索的领域。未覆盖感情/事业/家人先采集,不再 sameDomainYearlessCard 抢跑。existence 类 D12 仍 yearless_ungrounded_contrast。带年月区分点选题顺序未改。
  • T3 / BUG-643:删除 isCollectDeclineUtterance / isCollectSkipUtterancecollectFocusCloseStatusno→declinedunsure→skipped。分类器失败记 collectIntent=unclassified。collect 焦点 yes/weak_yesexpectedWrite="evidence"
  • T4BUG-641643、BUG-539 补口、CHANGELOG、本文件、任务表待验收、走查第 16~18 条、VOICE.md 带线索对照行。

三栏(既有断言)

位置 原值 新值 原因
Skill 当前钉 10.0.21 / sha256 3ced1073… 10.0.22 / e3765b20… 改 SKILL.md 必须升版
Skill L84 / conversation-strategy 「财务与健康只有用户主动说才问,仍可计分。」 「财务、健康与其他领域同权:服务器按 next_followup 主动问,用户说了就记、就计分。」 决策 1
Python VOLUNTEER_ONLY {finance, health_pressure} 删除 决策 1
MAX_COLLECTION_PROBES 3 7 学业+感情账本仍要发出 finance / health_pressure
家人采集口语(有 2021 线索) USER_COLLECT_QUESTION.family(「记得大概哪年就行」) 「家里在 2021 年前后有没有…别的年份也行。」 推翻 BUG-539 整句去前缀,保留矛盾禁令
家人未覆盖 + D12 sameDomainYearlessCard("family") 可抢采集 感情/事业/家人未覆盖先采集;existence 类 D12 仍记 yearless_ungrounded_contrast,没有「拒答后立刻出 D12 风格卡」断言 决策 2
采集「没有 / 记不清」 isCollectDeclineUtterance / isCollectSkipUtterance 整句相等即短路 分类器 no/unsurecollectFocusCloseStatus 决策 3
collect 焦点 yes/weak_yes 的 expectedWrite "none"(只靠「记下了」文字) "evidence" BUG-635 验收补漏

验收命令(实测)

工作树 codex/rectification-collect-semantics-20260910,相对 origin/staging @ 71eaeb2e

命令 结果
.venv/bin/python -m pytest tests -k "event_probes or collection" -q 45 passed / 0 failcollect-onlyevent_probes 35 + oracle collection 8 + discriminator 1 + tajika 1
cd frontend && ls tests/rectification-*.test.ts tests/skill-registry.test.ts tests/agent-voice-copy-contract.test.ts | grep -v database | xargs ./node_modules/.bin/tsx --test 1156 pass / 0 fail17.7s)。同类 glob 在 yearless 单曾记 1087;本 SHA 含 BUG-635640、644/645 及本单新增用例。
cd frontend && ./node_modules/.bin/tsc --noEmit 0 error
cd frontend && npm run lint 0 error113 warning(既有债务;本单未做无关清理)
git diff --check 干净
python3 scripts/run_quality_gate.py --profile quick --skip-frontend-runtime Quality gate passed. 核心 pytest 731 passed / 1 skipped / 0 fail312s)。未带全量 npm test
cd frontend && npm run build blockedTurbopack node_modules 软链指到 worktree 外(../../../frontend/node_modules)。未核首页 Static / gzip。

环境缺口

  • 无 Docker:未跑 npm run test:db
  • 无登录态、无 Chrome:走查第 16~18 条未做。部署后须先打开 10.0.21 历史校正。
  • next build 在本 worktree 因 node_modules 软链被 Turbopack 拒绝;未核首页 Static / gzip。
  • grep -n "主动说才问" skills/ 在冻结历史包(≤10.0.21)仍有命中;live + versions/10.0.22 为空。不得改历史包哈希。

未做

  • 未提升 main
  • 未改点选题四选项合同、采用门、holdout 计分。