fix(rectification): refresh remaining probes and targeted collect before delivering range (BUG-653/654)
Dated-choice exhaustion is not convergence. Refresh probes from remaining active candidates, then ask a targeted collect, then deliver. Skill 10.0.24. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -954,7 +954,7 @@ test("read-case follows method plan and keeps D9/D10 type tables when SQL missin
|
||||
execute(input: unknown): Promise<{
|
||||
conversation_summary: { missing_evidence_categories: string[] };
|
||||
method_followup_plan: {
|
||||
next_followup: { method_id: string; domain: string | null; intent?: string } | null;
|
||||
next_followup: { method_id: string; domain: string | null; intent?: string; kind_hint?: string } | null;
|
||||
deferred_followup: { method_id: string; domain: string | null } | null;
|
||||
session_outcome: string;
|
||||
};
|
||||
@@ -968,10 +968,16 @@ test("read-case follows method plan and keeps D9/D10 type tables when SQL missin
|
||||
}>;
|
||||
}).execute({ caseId: CASE_ID, projection: "full_diagnostics" });
|
||||
assert.deepEqual(projection.conversation_summary.missing_evidence_categories, ["relocation", "health", "finance"]);
|
||||
// 原值: d9_relationship / relationship
|
||||
// 新值: 三件三类已开训练门,不再按方法轮转采集
|
||||
// 原因: SQL 缺类不得压过收集池/S2(BUG-648)
|
||||
assert.notEqual(projection.method_followup_plan.next_followup?.intent, "collect_method_evidence");
|
||||
// 原值: 训练门开后不再按方法轮转采集
|
||||
// 新值: 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/);
|
||||
assert.doesNotMatch(
|
||||
projection.method_followup_plan.next_followup?.domain ?? "",
|
||||
/relocation|health|finance/,
|
||||
);
|
||||
assert.equal(projection.method_followup_plan.deferred_followup, null);
|
||||
assert.equal(projection.internal_observations.find((item) => item.layer === "d9")?.ask_theme, "relationship_style");
|
||||
assert.equal(projection.latest_result.confirmation_allowed, false);
|
||||
@@ -1410,9 +1416,9 @@ test("rescore failure does not fail the evidence write", async () => {
|
||||
assert.ok(result.rescore.error_code);
|
||||
});
|
||||
|
||||
test("public tool surface stays at 14 and new cases bind 10.0.23", () => {
|
||||
test("public tool surface stays at 14 and new cases bind 10.0.24", () => {
|
||||
assert.equal(PUBLIC_RECTIFICATION_TOOLS.length, 14);
|
||||
assert.equal(RECTIFICATION_SKILL_VERSION, "10.0.23");
|
||||
assert.equal(RECTIFICATION_SKILL_VERSION, "10.0.24");
|
||||
const deprecated = resolveExactSkillPackage(
|
||||
"jyotish-birth-time-rectification",
|
||||
"10.0.2",
|
||||
@@ -3224,6 +3230,14 @@ test("offer-candidates allows a 34/33/33 tie after method coverage when remainin
|
||||
evidenceLedgerFingerprint: scoreableFingerprintForRawEvidence(methodCoverageTieEvidence),
|
||||
decisionReceipt: {
|
||||
propose_allowed: true,
|
||||
inference_state: {
|
||||
...producedInferenceState([
|
||||
{ id: CANDIDATE_ID, time: "05:00", relative_support: 34 },
|
||||
{ id: SECOND_CANDIDATE_ID, time: "05:01", relative_support: 33 },
|
||||
{ id: THIRD_CANDIDATE_ID, time: "05:02", relative_support: 33 },
|
||||
]),
|
||||
refresh_count: 1,
|
||||
},
|
||||
window_scan: {
|
||||
scanned: true,
|
||||
d9_lagna_count: 3,
|
||||
|
||||
Reference in New Issue
Block a user