fix(rectification): stop spoken collect once the training gate opens (BUG-1084..1087)
Once the discriminator training gate is open, only choice cards are asked and the range card goes out when they are exhausted; targeted lines, their re-ask and guided windows no longer hold the card or invite more events. Delivery body says how many choice questions were used instead of the event fit percent; narration names an excluded cluster instead of "range unchanged"; a delivered turn no longer carries a collect question. Offline replay (v4, 3 radii x 2 directions): truth in range 20/20 in every cell; guided-window injections give the same width in truth and opposite directions, so red line 1 was revised by product to truth-in-range only. Skill 10.0.31 -> 10.0.32 (10.0.31 kept as deprecated for pinned cases). 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
bcf0c86feb
commit
ea21743b09
@@ -999,9 +999,12 @@ test("read-case follows method plan and keeps D9/D10 type tables when SQL missin
|
||||
// 原值: 训练门开后不再按方法轮转采集
|
||||
// 新值: D9 仍换升且感情未覆盖,先定向补事
|
||||
// 原因: 带年月池空后按剩余层定向补事(BUG-654);SQL 缺类仍不得压过此问
|
||||
assert.equal(projection.method_followup_plan.next_followup?.intent, "collect_method_evidence");
|
||||
assert.equal(projection.method_followup_plan.next_followup?.domain, "relationship");
|
||||
assert.match(projection.method_followup_plan.next_followup?.kind_hint ?? "", /targeted/);
|
||||
// 原值(2): 下一问 relationship 定向补事(collect_method_evidence / kind_hint targeted)
|
||||
// 新值(2): next_followup === null(门开后不再口述采集;刷新还没试过,决策仍停在 collect_evidence,
|
||||
// 刷新发生在空闲持久化里);「SQL 缺类不得压过」仍由下面的 doesNotMatch 保证
|
||||
// 原因(2): BUG-1084,2026-09-29 D1
|
||||
// assert.equal(x, null) 会把后面的属性访问收窄成 never(tsc),这里比较布尔值
|
||||
assert.equal(projection.method_followup_plan.next_followup === null, true);
|
||||
assert.doesNotMatch(
|
||||
projection.method_followup_plan.next_followup?.domain ?? "",
|
||||
/relocation|health|finance/,
|
||||
@@ -1015,8 +1018,10 @@ test("read-case follows method plan and keeps D9/D10 type tables when SQL missin
|
||||
// 原值: 整份投影不得出现 A/B/C/D(定向补事是口述)
|
||||
// 新值: 存在题卡带 choice_frame,不计分
|
||||
// 原因: BUG-661 定向补事改为逐条点选
|
||||
assert.equal(projection.method_followup_plan.next_followup?.choice_frame?.scoring, false);
|
||||
assert.match(projection.method_followup_plan.next_followup?.choice_frame?.prompt ?? "", /订婚或结婚|哪一年都算/);
|
||||
// 原值(2): 存在题卡 choice_frame.scoring=false、题干「订婚或结婚 / 哪一年都算」
|
||||
// 新值(2): 没有定向存在题卡
|
||||
// 原因(2): 同上(BUG-1084)
|
||||
assert.equal(projection.method_followup_plan.next_followup?.choice_frame ?? null, null);
|
||||
});
|
||||
|
||||
test("accepted batch evidence resolves a spoken collect focus before the next question", async () => {
|
||||
@@ -1458,7 +1463,8 @@ test("public tool surface stays at 14 and new cases bind 10.0.26", () => {
|
||||
// 原值: "10.0.28" / 新值: "10.0.29" / 原因: 年月阶段改口述并禁止追问本人
|
||||
// 原值: "10.0.29" / 新值: "10.0.30" / 原因: D2 出卡句与 D4 卡上百分比规则写进 Skill(2026-09-26)
|
||||
// 原值: "10.0.30" / 新值: "10.0.31" / 原因: 开场改大白话、题干带例子和示例回答写进 Skill OpeningPolicy(BUG-1049,2026-09-26)
|
||||
assert.equal(RECTIFICATION_SKILL_VERSION, "10.0.31");
|
||||
// 原值: "10.0.31" / 新值: "10.0.32" / 原因: 训练门开后只问点选卡、交付正文去吻合率写进 Skill(BUG-1084/1085,2026-09-29)
|
||||
assert.equal(RECTIFICATION_SKILL_VERSION, "10.0.32");
|
||||
const deprecated = resolveExactSkillPackage(
|
||||
"jyotish-birth-time-rectification",
|
||||
"10.0.2",
|
||||
@@ -3136,12 +3142,13 @@ test("offer-candidates may proceed once method coverage leftover collect is clos
|
||||
// 原值: offer 可走(BUG-648 训练门开即可)
|
||||
// 新值: offer_not_allowed
|
||||
// 原因: D5 + D6——定向七条线仍未问完,offer 继续被挡(BUG-751)
|
||||
await assert.rejects(
|
||||
() => (tools["rectification-offer-candidates"] as unknown as {
|
||||
execute(input: unknown): Promise<unknown>;
|
||||
}).execute({ caseId: CASE_ID }),
|
||||
/offer_not_allowed/,
|
||||
);
|
||||
// 原值(2): offer_not_allowed
|
||||
// 新值(2): offer 可走(题名原意)
|
||||
// 原因(2): 门开后定向线不再挡卡(BUG-1084,2026-09-29 D1)
|
||||
const offered = await (tools["rectification-offer-candidates"] as unknown as {
|
||||
execute(input: unknown): Promise<unknown>;
|
||||
}).execute({ caseId: CASE_ID });
|
||||
assert.ok(offered);
|
||||
});
|
||||
|
||||
test("paused case with selection_allowed may offer the escape hatch", async () => {
|
||||
|
||||
Reference in New Issue
Block a user