Files
Jyotisha/docs/tasks/PROGRESS-rectification-same-year-probe-dedupe-20260908.md
T
Jesse_Chen 8ae17a2630 fix(rectification): drop same-year probes after a dated answer (BUG-592)
Point-choice used one compare packet, so a May existence card and the same-domain year card both stayed eligible. Hard-exclude same domain+year; keep adjacent years downranked.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 15:47:25 +08:00

42 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PROGRESS · 同域同年点选题去重(2026-09-08)
工作树:`.worktrees/rectification-same-year-probe-dedupe-20260908`
分支:`codex/rectification-same-year-probe-dedupe-20260908`
任务书:`docs/tasks/TASK-rectification-same-year-probe-dedupe-20260908.md`
基线:`origin/staging` @ `f17af254`(含 BUG-592 修复单 `f3a1a583`;代码基线仍是 `7ca6ade2`
本单状态:**待验收**。
未改:引擎 `asked_probe_keys``SCORE_DELTA`、四选项合同、采用门、确认门、Skill 版本(仍 10.0.15)。相邻年仍只降权。
## 做了什么
- **决策 1** `sameYearProbeAsked`:同 `domain` 且同 `year``SEMANTIC_YEAR_KEY` 解析)硬排除。`inspectDiscriminatorProbes``rankRenderableDiscriminators`event / contrast)都 `dropped_probes(reason="same_year_asked")``year=0` 分盘风格题不受影响。
- **决策 2** 相邻年(±1)仍走 `existenceProbeAsked``rankDiscriminatorScore` 降权,不硬排除。`remainingReverseVerifyProbes` 继续按邻近年排除(采用后核对,不动)。
- **决策 3** `remainingConflictProbes` 改用 `sameYearProbeAsked`,让邻近年事件探针还能进排序降权,而不是在进目录前被整年砍掉。
- **决策 4** 记录 BUG-592(复发自 BUG-559)、CHANGELOG、手测脚本第 9 条。
## 三栏(被触碰断言)
| 用例 | 原值 | 新值 | 理由 |
| --- | --- | --- | --- |
| 答完 `career.2023.05.*` 后选 `career.2023.dasha_activation` | 会问(inspect 无年份规则;followup 只降权) | 不问,`dropped_probes.reason = same_year_asked` | 决策 1 |
| 同列表 `career.2024.04.*` | 可问 | 仍可问 | 决策 2 |
| 事故五题回放第五题 | `career.2023.dasha_activation` | D10 风格题或交付 | 决策 1 |
| 核心 `isDuplicateProbe` | 不同 key 不算重复 | 仍不算;inspect 负责硬排除 | 旧防线缺口 |
## 测试
- `frontend` `./node_modules/.bin/tsc --noEmit`exit 0
- 任务书指定 TS 切片(`tests/rectification-*.test.ts` + `agent-voice-copy-contract.test.ts`,排除 database):**1012 passed / 0 failed**
- `.venv/bin/python -m pytest tests/test_rectification_event_probes.py -q`34 passed
- `npm run lint`:本机对改动文件 ReadLints 0 error;全量 `npm run lint` 未在本轮沙盒跑完
- 浏览器真人走查:本轮未跑,见 `docs/testing/rectification-scenarios-20260907.md` §9
- 工作期间 `origin/staging` 又合入 `06e44104`BUG-593)。本分支仍基于 `f17af254`,未自动 merge(工作区有未提交文档与代码,且与 BUG-593 改了同一批 changelog / BUG_HISTORY / 手测脚本)
## 偏离
1. 任务书开工基线写 `7ca6ade2`。本 worktree 跟 `origin/staging` 尖端 `f17af254`(多了 BUG-593 修复单文档,无代码差)。
2. `sameYearProbeAsked` 放在 `probe-question-contract.ts`,避免 `candidate-contrast-packet``method-followup` 循环依赖。
3. `remainingConflictProbes` 从邻近年硬排除改为仅同年硬排除,否则 event 探针路径仍会把有信息量的 2024 题提前砍掉。