fix(consult): Chinese-only terms, one name per thing in answers (BUG-1148)
Independent Staging Quality Gate / validate (push) Successful in 12m47s
Independent Staging Quality Gate / publish (push) Canceled after 0s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
This commit is contained in:
Jesse_Chen
2026-10-01 19:21:28 +08:00
co-authored by Claude Opus 5.5
parent 282455cc83
commit fa6d026f12
6 changed files with 43 additions and 3 deletions
@@ -298,3 +298,14 @@ test("a follow-up turn answers directly and the thinking bar says so (TASK-consu
const settled = applyThinkingSectionProgress(plan, "不是。4 宫主落 10 宫,她把心力投在你的前途上。", { settled: true });
assert.equal(settled.every((section) => section.steps.every((step) => step.status === "done")), true);
});
test("answers name things in Chinese only, one name per thing (BUG-1148)", () => {
// 10-01 real-model run over ten domains: sade sati, vargottama, rupas and
// Ketu leaked into the body, and 计都 / 子运 had three spellings each.
for (const instruction of [natalAnswerShapeInstruction(), followUpAnswerShapeInstruction()]) {
assert.match(instruction, /名词只用中文/);
assert.match(instruction, /不写英文或梵文音译/);
}
assert.match(natalAnswerShapeInstruction(), /罗睺、计都/);
assert.match(natalAnswerShapeInstruction(), /大运、子运、小运/);
});
@@ -275,3 +275,11 @@ test("the voice answers the sentence asked: no motive guessing, yes/no first, co
// BUG-1134: the empty-house rule is also in the natal Never list.
assert.match(voice, /Draw a conclusion from an empty house alone\. Say where its lord sits and in what state instead/);
});
test("the voice pins Chinese-only terms and one spelling per thing (BUG-1148)", () => {
assert.match(voice, /名词只用中文,同一个东西全篇一个叫法/);
for (const term of ["克图", "凯图", "中运", "sade sati", "vargottama", "rupas"]) {
assert.ok(voice.includes(term), `the voice names ${term} as a spelling not to use`);
}
assert.match(voice, /力量只说强、中、弱/);
});