fix(rectification): anchor candidate windows to civil dates across midnight
Carry explicit local date intervals instead of inferring the day from clock order. Cluster width, delivery, adoption, and reports keep the actual civil date; adopted date is stored separately from the reported birth_date. Algorithm identity is scoring-9 / spec-v5. Scoring weights, confirmation thresholds, and Skill version are unchanged. Isolated Linux final-3 gates passed; four pre-existing Python failures remain. This is not a production release.
This commit is contained in:
+9
-1
@@ -2,6 +2,14 @@
|
||||
|
||||
This file adapts the full visual analysis in `CLAUDE_DESIGN.md` to the shipped Jyotisha application. `CLAUDE_DESIGN.md` remains the upstream reference; this file is the implementation contract.
|
||||
|
||||
## 校正跨午夜日期与采用(2026-09-20)
|
||||
|
||||
复用现有时段选择卡追问一次午夜前/后;不知道或跳过保留填报当天凌晨与深夜两段,不补白昼或次日。选项用中文钟点,继续遵守题卡禁止暴露数字钟点的现有校验,不新增入口、状态或等待动画。
|
||||
|
||||
区间交付卡按实际日期序号显示分段;跨申报日明确「前一天 / 后一天」,候选列同时给实际日期与钟点,说明「采用后,排盘使用这一日期和时间;原填报日期保留。」图表库默认显示当前采用的有效日期;原申报日期仍独立保存,不猜补历史结果。沿用原按钮、只读门与代表分钟免责声明,不把采用写成唯一分钟确认。文案已对照 VOICE 的服务端数字来源、短句与采用不等于确认原则。
|
||||
|
||||
本命上升的分段展示给出完整本地日历日期与钟点,避免同一个钟点被误读为同一天;历史缺日期的结果仍显示 HH:MM,不猜补。沿用既有布局与颜色,不增加入口、状态或动画。
|
||||
|
||||
## 校正历史结果身份只读(2026-09-20)
|
||||
|
||||
历史打开、刷新与比较返回的结果若无法核实为当前算法及策略,消息区顶部复用 `rectification-pending-note`、`role="status"` 显示「按旧算法产出。当前暂不能核实结果,请先查看,暂不能选择或采用。」保留原历史内容和来源,不出现强制重算入口;关闭旧结果选项、候选采用及普通输入,输入提示为「当前结果仅供查看」。可信当前身份已知但与旧结果不同,非终止会话可显式点「重新比较」,复用既有发送链路;身份未知时无此入口,服务端再次探测失败也不能重算。此状态不等同 Case 已结束,不显示误导的结束提示或额外「再次校正」按钮。真正终止的历史仍沿用原结束操作。服务端独立核验所有结果写入,不以界面禁用代替权限。无新颜色、加载动画或 Home 状态。
|
||||
@@ -712,7 +720,7 @@ Admin 的 antd `<Spin>` 是独立设计系统,不在此表。
|
||||
- **轴 = 当前搜索窗口(`candidate_range`),不是开场窗口。** 开场窗口不是定值(±15 / ±30 / ±60 / ±120 / 整天),且放宽会顶穿它(BUG-572:±15 → ±30 → ±60 → ±120)。窗口变化时轴重新对到新窗口,区间带与标记用 CSS transition 过渡到新位置(`prefers-reduced-motion` 由全局 `*` 规则收成一帧)。窗口不变时轴稳定,收窄照样读得出来。
|
||||
- **候选标记一律等大,只分在范围内 / 已排除。** 不得按 `relativeSupport` / `probability_percent` 分级(尺寸、深浅、粗细都不行):BUG-560 状态是 blocked,候选间相对支持度 7–9 分(满分 100),校准显示分钟级几乎无区分力,分级显示等于用视觉编码放大统计上不显著的差异。被排除的点留在原地变空心、不消失——用户由此看见自己刚才那一答排掉了哪几分钟。
|
||||
- **时段阶段(`block_scan`)不画分钟点**,区间带覆盖整个窗口。那一刻确实什么都还没排除,写「24 小时」是事实而非占位。
|
||||
- 跨午夜的窗口(`late_night` 是 23:00–03:59,末端早于始端)按次日展开,轴保持单调。
|
||||
- 新日期契约按实际日期与相对序号排列;`late_night` 未知/跳过是同一申报日凌晨与深夜两段,不能因末端钟点较小就展开为次日,亦不能填平白昼间隙。历史仅钟点契约保持只读旧呈现,不猜补或重标日期。
|
||||
- 条上不得出现 `rectification-step-state` 类名(BUG-575 防复发)。
|
||||
|
||||
## 11. 区间交付卡
|
||||
|
||||
Reference in New Issue
Block a user