814c924e4a
Keep askable cards after exhaustion, explain each probe, read the adopted credible range in reports and chat, and compare declared periods before the minute grid when the clock is unknown. Co-authored-by: Cursor <cursoragent@cursor.com>
2.6 KiB
2.6 KiB
PROGRESS · 完全不知道出生时间时先比时段(2026-09-06)
工作树:.worktrees/rectification-convergence-exit-fix-20260906
分支:codex/rectification-convergence-exit-fix-20260906(叠在 BUG-565~567、explain-layer、range-reading 之后)
基线:origin/staging @ b938c76a;文档头 43a26a3c
未改 SKILL.md(stage 不是 Case status,不 bump 10.0.15)、未改 contracts/probe-question-v1.json、未改采用/确认门、未改 page.tsx。jyotish_api_server.py 只加了 /api/rectification/v5/block_scan 薄注册。
本单状态:待验收。
| 任务 | 状态 |
|---|---|
C1 引擎 minute_step + block_scan |
完成 |
C2 Case stage / block_scan 列与 RPC;unknown 开全日窗 |
完成 |
| C3 采集门槛后出时段卡;选 A/B/C 进分钟;D 再采集;intake / 开场线索 | 完成 |
| C4 记录 | 完成 |
实现要点
- 引擎请求可选
minute_step1–15,默认 1。minute_step=1输出与改前一致。block_scan以 10 分钟步长扫 24 小时,只聚合五段相对支持,不写探针、不出分钟卡。 - Case 打开:
birth_time_source=unknown且无填报钟点 →candidate_range=00:00–23:59、stage=block_scan。有填报钟点仍走分钟。 - 时段比较门槛用带年月经历 3 件、领域 2 个,不用训练/holdout 门(holdout 预留会把 3 件事收成 2 件训练,永远不出卡)。
- 四选卡 A/B/C 是支持最高的三段;选中后
advance_agentic_rectification_case_from_block_scan把窗口改成该时段并切stage=minute。D / 说不好只写declined_at_fingerprint,不采用、不停止会话。 block_scan阶段can_adopt/selection_allowed恒 false;latest_result 不投影分钟候选。家人birth_time_clue只进开场旁白,改不了搜索窗口。- intake「完全不清楚」改为可以直接开始校正,先从记得的经历比出大致时段;删劝退句。
测试
见 docs/testing/rectification-unknown-time-20260906.md。
本工作树隔离验收:
- 非 DB
rectification-*.test.ts+agent-voice-copy-contract(排除 database):931 pass / 0 fail .venv/bin/python -m pytest tests/test_rectification_v5_services.py -q:31 pass / 0 fail./node_modules/.bin/tsc --noEmit:0./node_modules/.bin/eslint --quiet src tests:0 error- Docker
frontendnpm run test:db(单独跑,约 214s):37 pass / 0 fail。中间曾因||拼布尔得到true:f:f:true失败 1 条;改成concat_ws后全量重跑通过。
随本分支推 origin/staging。