Files
Jyotisha/skills/jyotish-birth-time-rectification/references/candidate-comparison.md
T
Jesse_Chen a03756bf18
Independent Staging Quality Gate / validate (push) Failing after 11m51s
Independent Staging Quality Gate / publish (push) Has been skipped
feat(web): hang Agent-authored A/B/C/D cards under rectification replies
Conflict nodes stay server-owned; the Agent writes the question and option copy so users can tap instead of typing through an interrogation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 17:36:32 +08:00

4.8 KiB
Raw Blame History

Candidate ComparisonV9

候选比较是服务器计算产物,Agent 只负责解释与引导,不负责产生候选、分数或范围。

1. 三层语义

含义 表达
candidate 引擎对当前证据的归一化比较结果 “当前候选”“相对支持度”
accepted 用户明确选择的当前排盘时间 “校正采用时间”
confirmed 通过服务器确认门且用户明确同意 “已确认校正时间”
  • candidate_accepted 不是“唯一出生分钟已确认”,默认仍可继续补充证据。
  • accepted 后用户仍可在同一批有效候选中改选(幂等 RPC 支持)。
  • confirmed 只能由服务器确认门 + 用户明确同意触发,同时写 completed_at

2. 何时提供候选

  • 只有本轮完成 rectification-offer-candidates 且返回 selection_allowed=true 时,界面才展示候选卡。
  • selection_allowed 只表示可以采用代表性时间,不是本轮必须出示卡片。提出门看 latest_result.propose_allowed,并且没有挡住出牌的 method_followup_plan.next_followup(占问和精度阶段追问不挡;职业挡出牌)。唯一领先和宽度≤5只挡确认门。
  • next_user_action.id=adopt_representative,或用户停止且 on_user_stop 为 adopt 时,本轮才 offer/accept。服务器会拒绝访谈未停的 offer。这是采用代表性时间,不是 confirmed。
  • 继续收集证据时不得边追问边提供采用。
  • 候选卡内容来自持久化 Candidate Snapshotagentic_rectification_results),不是 Agent 文本解析。
  • 候选卡拥有时间、排名、相对支持度、采用动作与选中状态;Agent 正文在出牌轮复述候选窗、代表分钟、相对支持与八法理由。卡片仍作 adopt 控件。

3. 表达边界

  • 相对支持度是候选间归一化比较,不是概率、统计置信度或确定性。80%/60% 只描述事件吻合率。
  • 出牌轮正文写入事件–DashaGochara 表、D9/D10 类型对照和技法审计;不暴露隐藏分钟证据或把分数说成唯一分钟概率。
  • 候选范围必须说明“待核对边界”,不得表述为已确认出生分钟。
  • 外部验证状态按服务器字面读取:not_evaluated 表示未调用(入口门未就绪),不是“调用了但失败”。

4. 证据变化与重算

  • 证据有效变化时由服务器重算候选;Agent 不必等用户说“没有更多了”才 compare。
  • 相同 evidence 指纹 + 引擎版本复用缓存;不要对同一指纹再 compare。
  • 分钟窗口扫描只在服务端,结果进入候选卡 / 不可分平台语言。不得把若干事件说成已确定到 ±5 分钟。
  • 普通澄清轮若不改变账本指纹,不重复播报。
  • 出生资料基线变化 → needs_rebaseline,旧候选失效;不得静默继续用旧结果。
  • needs_rebaseline 下不引用旧候选、不提供采用。

5. 不可分平台与确认门(必须说出来)

服务器 latest_resultconfirmation_gateindistinguishable_width_minutesconfirmation_allowedselection_allowedmargin_percent(若有)。confirmation_gate 是确认门权威,不是让 Agent 另算一分钟。

  • 宽度大于 maxConfirmationWidthMinutes5),或 top 候选 tied_minute_count > 1,或 confirmation_allowed=false 时:正文必须说这是一段不可分区间,必须把代表分钟说成代表性候选,不得说已定位到唯一分钟,也不得学本地扫分钟后的 1 分钟尖峰。
  • vedastro_minute_sensitivenot_evaluated 表示官方分钟敏感校验尚未跑通,不是 fail;缺它不能写 confirmed。
  • 若官方分钟层已 passedpublic_aa_holdoutnot_ready:可以说已区分相邻分钟,仍不得确认唯一分钟或发布准确率。
  • public_aa_holdoutnot_ready 时不得声称已校准到精确分钟,也不得把确认门放到更细宽度或发布准确率。
  • 用户仍可 accepted 代表性候选;accepted ≠ confirmed。session_outcome=adopt_representative 时正文必须说还不能确认唯一分钟。
  • confirmation_allowed=true 才允许进入唯一分钟确认门;平台结果禁止把 confirmation_allowed 说成已确认。
  • 候选卡仍可展示代表性时间;Agent 不得把该时间写成“已校正到 HH:MM”。

6. 保存边界

  • accepted 写入 active_birth_time,保留 reported_birth_time 原填报,不写兼容 birth_time
  • 采用后界面按采用分钟重算本命宫位表,并折叠展示本轮技法审计。这不是唯一分钟确认,也不自动进入咨询 Agent。
  • confirmed 同样保留原填报;不自动写入,需要用户明确同意。
  • 失败、空流、Skill 未加载或未完成必要工具链时不保存、不扣费。