Files
Jyotisha/docs/tasks/PROGRESS-rectification-range-reading-20260906.md
T
Jesse_Chen 814c924e4a
Independent Staging Quality Gate / validate (push) Successful in 9m20s
Independent Staging Quality Gate / publish (push) Successful in 6m51s
fix(rectification): exhaustion exit, explain layer, range reading, unknown-time scan (BUG-565–568)
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>
2026-09-07 09:10:37 +08:00

2.1 KiB
Raw Blame History

PROGRESS · 生时校正可信区间成为一等公民(2026-09-06)

工作树:.worktrees/rectification-convergence-exit-fix-20260906 分支:codex/rectification-convergence-exit-fix-20260906(叠在 BUG-565567 与 explain-layer 之后) 基线:origin/staging @ b938c76a;文档头 43a26a3c

未改 SKILL.md、未改 contracts/probe-question-v1.json、未改采用/确认门、未改 page.tsxjyotish_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_rangeread_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 frontend npm 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 --noEmit0
  • ./node_modules/.bin/eslint --quiet src tests0 error