diff --git a/docs/tasks/README.md b/docs/tasks/README.md index 32a84f5c..8179bc6d 100644 --- a/docs/tasks/README.md +++ b/docs/tasks/README.md @@ -67,7 +67,7 @@ | `TASK-rectification-range-reading-20260906.md` | `PROGRESS-rectification-range-reading-20260906.md` | 可信区间成为一等公民:采用时落库 `adopted_credible_range`,报告 `read_report_candidate_range` 与聊天 `verified_chart(accepted)` 都改读它并接同一份 `birth_time_sensitivity`(现在报告读的是开工窗口,BUG-568);引擎 >15 分钟只取 3 样本改为 ≤31 逐分钟;采用旁白加「稳定 / 随分钟变」两句;`declared_birth_window` 复用 | 已验收通过(test:db 37/0 为执行方数字,本机无 Docker) | `814c924e`(BUG-568);两条迁移待应用 | | `TASK-rectification-unknown-time-20260906.md` | `PROGRESS-rectification-unknown-time-20260906.md` | 完全不知道出生时间的两段式路线:`stage=block_scan` 以 10 分钟步长扫 24 小时只做事件计分、出五时段四选卡(不写账本不采用),选定后进现有分钟流程;引擎加 `minute_step`;开场读 `birth_time_clue`;删 intake 劝退文案 | 已验收(带修复单:时段支持度按段长偏置,下午段先天 25%,P1) | `814c924e`;修复单 `TASK-rectification-capability-fix-20260907.md`(BUG-570) | | `TASK-rectification-capability-fix-20260907.md` | `PROGRESS-rectification-capability-fix-20260907.md` | 能力补齐修复单:答后旁白把 `range_start/range_end`(搜索窗口)当范围比较,每题都说「范围没变」;`block_scan` 五段支持度按段内原始分求和,长时段先天占优(24/24/36/30/30 个候选);`TRACK_LABEL` 音译与产品 Vimshottari/Narayana 口径不一;BLK-001 写到 `docs/BLOCKED.md` 应回根目录 | 已验收通过(P2:block_scan 15 s 壁钟断言在门禁里可能间歇红) | `517df002`(BUG-569~570);staging 未部署,需先 Migrate Staging Database | -| `TASK-rectification-declared-uncertainty-20260907.md` | `PROGRESS-rectification-declared-uncertainty-20260907.md` | 出生时间「有多确定」只在 intake 问一次:三档(医院记录 / 家人大概 ±15·30·60·120 / 时段或未知),校正窗口读档案(现在有钟点一律 ±15,声明值被忽略,BUG-571);吻合率 <60% 且代表分钟贴窗口边缘时出服务端一键放宽卡,放宽后重算并写回档案(BUG-572);窗口 >120 分钟先切三子段迭代到 ≤120 再进分钟(BUG-573);日级事件问一次可靠度;四个脚本化手测场景进 docs/testing | 待验收 | `8e31680b`(BUG-571~573);`codex/rectification-declared-uncertainty-20260907`;需 Migrate Staging Database | +| `TASK-rectification-declared-uncertainty-20260907.md` | `PROGRESS-rectification-declared-uncertainty-20260907.md` | 出生时间「有多确定」只在 intake 问一次:三档(医院记录 / 家人大概 ±15·30·60·120 / 时段或未知),校正窗口读档案(现在有钟点一律 ±15,声明值被忽略,BUG-571);吻合率 <60% 且代表分钟贴窗口边缘时出服务端一键放宽卡,放宽后重算并写回档案(BUG-572);窗口 >120 分钟先切三子段迭代到 ≤120 再进分钟(BUG-573);日级事件问一次可靠度;四个脚本化手测场景进 docs/testing | 已验收通过(2 P3 建议:可靠度正则去掉「记得」、档案写回改走 account-profile-patch) | `8e31680b`(BUG-571~573);迁移 `20260907020000` 待应用,部署前先 Migrate Staging Database | | `TASK-api-not-configured-mislabel-20260904.md` | `PROGRESS-api-not-configured-mislabel-20260904.md` | 16 处路由把数据库瞬断(部署切换窗口)兜底翻译成 503「服务尚未配置」;改为仅配置错误用该文案,其余 `service_unavailable`,收敛为共享 helper | 已验收 | `5483649b`(BUG-542);2 条子进程测试留 CI Node 22 复核 | | `TASK-rectification-ux-20260902.md` | `PROGRESS-rectification-ux-20260903.md` | 会话面空白假死与交互摩擦 | 已验收 | `d159f08e`(09-03 在新基线重做后合入,BUG-505~509) | diff --git a/docs/tasks/TASK-rectification-declared-uncertainty-20260907.md b/docs/tasks/TASK-rectification-declared-uncertainty-20260907.md index 27f2b52c..c4acc4c4 100644 --- a/docs/tasks/TASK-rectification-declared-uncertainty-20260907.md +++ b/docs/tasks/TASK-rectification-declared-uncertainty-20260907.md @@ -95,3 +95,28 @@ ln -s /workspace/Jyotisha/frontend/node_modules frontend/node_modules cd frontend && ls tests/rectification-*.test.ts tests/consultation-*.test.ts tests/report-*.test.ts tests/personal-report-*.test.ts tests/birth-time-*.test.ts tests/account-profile*.test.ts tests/agent-voice-copy-contract.test.ts 2>/dev/null | grep -v database | xargs npx tsx --test 2>&1 | grep -E "^# (tests|pass|fail)" grep -o "^## BUG-5[0-9][0-9]" ../docs/BUG_HISTORY.md | tail -1 ``` + +## 验收(Claude,2026-09-07,`origin/staging` @ `7cf7705a`,实现 `8e31680b`) + +| 门 | 结果 | +| --- | --- | +| tsc / lint | 0 错 / 0 error(83 warning,既有类型) | +| 前端 rectification + consultation + report + personal-report + birth-time + account-api + voice(非 DB) | 1899 / 0 | +| Python v5_services / event_probes / engine_convergence / growth contract / flexible engine / input_contract | 全绿 | +| `minute_step=1` 字节级不变(虚构 7 件事新旧引擎复跑) | candidate_scores / result_id / spec_hash 全等 | +| 子段扫描(18:00–22:59 三等分,3 件事) | 0.8 s,步长 5,三段各 20 个候选,支持 48.7 / 41.4 / 9.9,和 100 | +| Docker `test:db` | 执行方 37/0(含 widen 扩大 / 缩小拒绝 / 权限;08:00–11:59 选定后仍 block_scan,08:00–09:00 进 minute);本机无 Docker,取其数字 | + +| 项 | 结论 | +| --- | --- | +| D1 intake 三档 | 通过。三档文案"你对这个时间有多确定",approximate 四个范围按钮,`family_exact` 读档映射"差不多准",校验集合 {15,30,60,120} 两处同改 | +| D2 窗口读档案(BUG-571) | 通过。`deriveDeclaredSearchWindow`:医院/存量准确 → ±15;approximate → 前后各自 clamp(15..120);既有 04:45–05:15 断言只保留给 family_exact,三栏齐 | +| D5 子段扫描(BUG-573) | 通过。`blocks` 进请求契约(1~5 段、须落窗内、除共享端点不重叠);步长随窗宽 10/5/2;`advance_*` 改为"新窗须是当前窗子区间",span>120 且 rounds<3 留 block_scan;最多 3 轮后强制 minute 并有旁白;全零均分改 100/n(执行方偏差合理:写死 20 在三段只到 60) | +| D3 放宽卡(BUG-572) | 通过。触发条件六项齐;RPC 校验含旧窗、inclusive ≤241、stage=minute、未采用;放宽后按 `stageForClockWindow` 决定去向;档案写回 approximate + 新半径,`hospital_record` 只改窗口;C/D 记指纹 | +| D6 可靠度一问 + 脚本 | 通过。只对本回合刚写入的日级事件问一次,答案正则映射 high/medium,薄 RPC 原地写(执行方偏差合理:修订链会改指纹误伤训练门);`docs/testing/rectification-scenarios-20260907.md` 四场景齐 | +| D4 记录 | 通过;四处书面偏差都在进度记录里写明 | +| P3 | `classifyDateReliabilityUtterance` 用「记得」判 medium,用户在该焦点下改说新经历("我记得 2018 年入职")会被顺带记成凭记忆;影响只到 `date_quality` 权重,可接受但建议把"记得"从正则里去掉,只留"凭记忆 / 印象 / 大概" | +| P3 | `patchV9BirthUncertainty` 直接 `from("profiles").update`,绕开 `account-profile-patch` 的校验层,档案由此多了第二条写路径;值是常量所以当前无害,建议改走同一 patch 函数 | +| P2(沿用) | `test_block_scan_seven_events_finishes_within_fifteen_seconds` 壁钟断言仍在,门禁可能间歇红 | + +部署:staging 当前 `72dd5e9d`(迁移到 `20260907010000`),本轮迁移 `20260907020000` 未应用,部署前先 Migrate Staging Database。真实环境走查按 `docs/testing/rectification-scenarios-20260907.md` 四个脚本。