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.1 KiB
2.1 KiB
PROGRESS · 生时校正可信区间成为一等公民(2026-09-06)
工作树:.worktrees/rectification-convergence-exit-fix-20260906
分支:codex/rectification-convergence-exit-fix-20260906(叠在 BUG-565~567 与 explain-layer 之后)
基线:origin/staging @ b938c76a;文档头 43a26a3c
未改 SKILL.md、未改 contracts/probe-question-v1.json、未改采用/确认门、未改 page.tsx。jyotish_api_server.py 只加了 /api/rectification/v5/range_reading 薄注册。
本单状态:待验收。BUG-568。
| 任务 | 状态 |
|---|---|
A1 采用落库 adopted_credible_range,报告 RPC 优先读它 |
完成 |
| A2 引擎 ≤31 逐分钟,>31 等距 31 点 | 完成 |
A3 verified_chart(accepted) 聊天接同一份敏感度 |
完成 |
A4 采用旁白稳定/随分钟变两句 + range_reading |
完成 |
A5 declared_birth_window 粗看复用 |
完成 |
| A6 记录 | 完成 |
实现要点
- 迁移
20260906020000_adopted_credible_range.sql:加列;先 DROP 五参采用函数再 CREATE 六参p_credible_range jsonb。采用写adopted_credible_range,不改candidate_range。read_report_candidate_range仍只返回{start_time,end_time}。 flexible_birth_time_profile上限从 15 提到 31,错误码改为candidate_count_must_be_two_to_thirty_one。任务书按 2~31 上限写;仓库原先是 15。- 采用旁白在
validateAdoptNarration之后追加两句;引擎不可用则省略,不报错。 confirmed不附区间。accepted才带birth_time_accuracy=provisional+candidate_range。
测试
见 docs/testing/rectification-range-reading-20260906.md。
本工作树隔离验收:
- 非 DB
rectification-*.test.ts+agent-voice-copy-contract(排除 database):931 pass / 0 fail - Docker
frontendnpm run test:db:本单当时 36 pass / 0 fail(约 310s)。unknown-time 叠入database-rectification-block-scan.test.ts后,同一工作树再单独跑为 37 pass / 0 fail(约 214s)。 ./node_modules/.bin/tsc --noEmit:0./node_modules/.bin/eslint --quiet src tests:0 error