8ae17a2630
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>
42 lines
3.0 KiB
Markdown
42 lines
3.0 KiB
Markdown
# 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 题提前砍掉。
|