feat(rectification): 少问几道就出卡,交付卡以范围为主(D1–D4)
- D1 引导窗口题每个校正最多 2 道(前端 GUIDED_WINDOW_CASE_LIMIT;引擎 GUIDED_COLLECT_LIMIT 未动:event_probes.py 属冻结评分身份,改它需重新冻结) - D2 七条定向线与跳过线重问问完即出卡,没问到的引导窗口不再挡卡,出卡后也不再挂窗口题 - D3 卡头加副标题「最可能 HH:MM」 - D4 前两列相差 ≥5 个百分点才显示相对可能性,否则一句「这几个时刻目前区分不开……」 - 离线回放 scripts/research/fewer_probes_card_replay.py:真值不降、宽度中位 ±1 分钟、提问 11.4→7.8 - Skill 10.0.29 → 10.0.30;DESIGN / VOICE / CHANGELOG / PROGRESS / 真机清单 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
7ddce2c96a
commit
4e6e8d87ef
@@ -6,6 +6,8 @@ import {
|
||||
RECTIFICATION_USER_COPY,
|
||||
REPRESENTATIVE_MINUTE_DISCLAIMER,
|
||||
rangeDeliveryEventCopy,
|
||||
rangeDeliveryMostLikely,
|
||||
rangeDeliveryShowsPercents,
|
||||
} from "@/lib/rectification-agentic/user-copy";
|
||||
import type { RangeDeliveryProjection } from "@/lib/rectification-agentic/v9/divergence-panel";
|
||||
import {
|
||||
@@ -51,11 +53,21 @@ export function RectificationRangeDelivery({
|
||||
// it actually does — swap the charting clock — instead of the neutral 「更像这个」.
|
||||
const recordConflict = delivery?.record_conflict ?? null;
|
||||
const caption = delivery?.narrow_hint ?? null;
|
||||
// D3: the range is the title; the representative minute is the subtitle.
|
||||
const mostLikely = delivery?.representative_time ?? result.representativeTime;
|
||||
// D4: per-column numbers only when the first column leads by ≥ 5 points.
|
||||
const showPercents = rangeDeliveryShowsPercents(columns);
|
||||
const indistinct = columns.length >= 2 && !showPercents;
|
||||
|
||||
return (
|
||||
<section className="rectification-candidates rectification-range-delivery" aria-label="生时校正区间">
|
||||
<div className="rectification-candidates-heading">
|
||||
<strong>{title}</strong>
|
||||
{mostLikely ? (
|
||||
<span className="rectification-range-delivery__most-likely">
|
||||
{rangeDeliveryMostLikely(mostLikely)}
|
||||
</span>
|
||||
) : null}
|
||||
</div>
|
||||
{caption ? (
|
||||
<p className="rectification-range-delivery__narrow">{caption}</p>
|
||||
@@ -71,6 +83,11 @@ export function RectificationRangeDelivery({
|
||||
{delivery?.tie_break_note ? (
|
||||
<p className="rectification-range-delivery__narrow">{delivery.tie_break_note}</p>
|
||||
) : null}
|
||||
{indistinct ? (
|
||||
<p className="rectification-range-delivery__indistinct">
|
||||
{RECTIFICATION_USER_COPY.rangeDeliveryIndistinct}
|
||||
</p>
|
||||
) : null}
|
||||
{sharedTraits.length > 0 ? (
|
||||
<ul className="rectification-range-delivery__shared">
|
||||
{sharedTraits.map((line) => (
|
||||
@@ -93,11 +110,13 @@ export function RectificationRangeDelivery({
|
||||
>
|
||||
<div className="rectification-range-delivery__time">{candidateDate ? `${candidateDate}${relativeDay} ${column.time}` : column.time}</div>
|
||||
{candidateDate ? <p className="rectification-range-delivery__muted">采用后,排盘使用这一日期和时间;原填报日期保留。</p> : null}
|
||||
<p className="rectification-range-delivery__likelihood">
|
||||
{RECTIFICATION_USER_COPY.rangeDeliveryRelativeLikelihood}
|
||||
{" "}
|
||||
{column.probability_percent}%
|
||||
</p>
|
||||
{showPercents ? (
|
||||
<p className="rectification-range-delivery__likelihood">
|
||||
{RECTIFICATION_USER_COPY.rangeDeliveryRelativeLikelihood}
|
||||
{" "}
|
||||
{column.probability_percent}%
|
||||
</p>
|
||||
) : null}
|
||||
{columnHasTraits(column) ? (
|
||||
<div className="rectification-range-delivery__block">
|
||||
{column.traits.d9 ? <p>{column.traits.d9}</p> : null}
|
||||
|
||||
Reference in New Issue
Block a user