fix(ephemeris): include nutation in the sidereal frame
恒星黄道改为与 Swiss Ephemeris FLG_SIDEREAL 同一套含章动岁差。 产品默认路径不再用平岁差去减含章动的视位置。上升和宫头用同一个岁差。 校正身份升到 rectification-v5-matrix-scoring-12。 BUG-1275。未推送,未部署。v5 先验头名三格下降 1.3 个百分点,不调参。
This commit is contained in:
@@ -13,7 +13,7 @@ import { dossierFixture } from "./rectification-v9-test-support.ts";
|
||||
|
||||
test("dated contract is a generation threshold, not one literal", () => {
|
||||
assert.equal(FIRST_DATED_SCORING_GENERATION, 9);
|
||||
for (const version of ["rectification-v5-matrix-scoring-9", "rectification-v5-matrix-scoring-10", "rectification-v5-matrix-scoring-11", "rectification-v5-matrix-scoring-100"]) {
|
||||
for (const version of ["rectification-v5-matrix-scoring-9", "rectification-v5-matrix-scoring-10", "rectification-v5-matrix-scoring-11", "rectification-v5-matrix-scoring-12", "rectification-v5-matrix-scoring-100"]) {
|
||||
assert.equal(isDatedScoringAlgorithmVersion(version), true, version);
|
||||
}
|
||||
for (const version of ["rectification-v5-matrix-scoring-8", "rectification-v5-matrix-scoring-1", "rectification-v5-matrix-scoring-09",
|
||||
@@ -22,14 +22,14 @@ test("dated contract is a generation threshold, not one literal", () => {
|
||||
}
|
||||
});
|
||||
|
||||
test("receipt default and Python identity agree on scoring-11", (t) => {
|
||||
test("receipt default and Python identity agree on scoring-12", (t) => {
|
||||
const saved = process.env.RECTIFICATION_ENGINE_VERSION;
|
||||
delete process.env.RECTIFICATION_ENGINE_VERSION;
|
||||
t.after(() => { if (saved === undefined) delete process.env.RECTIFICATION_ENGINE_VERSION; else process.env.RECTIFICATION_ENGINE_VERSION = saved; });
|
||||
// 原值: rectification-v5-matrix-scoring-10;新值: ...-scoring-11;原因: D5/D11 改变同输入分数(BUG-1260)。
|
||||
assert.equal(v9EngineVersion(), "rectification-v5-matrix-scoring-11");
|
||||
// 原值: rectification-v5-matrix-scoring-11;新值: ...-scoring-12;原因: 章动修正改变同输入分数(BUG-1275)。
|
||||
assert.equal(v9EngineVersion(), "rectification-v5-matrix-scoring-12");
|
||||
const python = readFileSync(new URL("../../scripts/rectification/scoring_service.py", import.meta.url), "utf8");
|
||||
assert.match(python, /^ALGORITHM_VERSION = "rectification-v5-matrix-scoring-11"$/m);
|
||||
assert.match(python, /^ALGORITHM_VERSION = "rectification-v5-matrix-scoring-12"$/m);
|
||||
});
|
||||
|
||||
test("no source file compares the algorithm identity with a scoring-N literal", () => {
|
||||
@@ -85,5 +85,20 @@ test("a scoring-10 history opens read-only under scoring-11 and offers a recompa
|
||||
const policyVersion = historical.decision_policy_version;
|
||||
const underEleven = resultIdentityView(dossier, { algorithmVersion: "rectification-v5-matrix-scoring-11", policyVersion });
|
||||
assert.deepEqual([underEleven.read_only, underEleven.can_recompare, underEleven.algorithm_version], [true, true, "rectification-v5-matrix-scoring-10"]);
|
||||
const underTwelve = resultIdentityView(dossier, { algorithmVersion: "rectification-v5-matrix-scoring-12", policyVersion });
|
||||
assert.deepEqual([underTwelve.read_only, underTwelve.can_recompare, underTwelve.algorithm_version], [true, true, "rectification-v5-matrix-scoring-10"]);
|
||||
assert.ok(dossier.latestResult!.candidates.every((candidate) => typeof candidate.candidate_date === "string"));
|
||||
});
|
||||
|
||||
test("a scoring-11 history opens read-only under scoring-12 and offers a recompare (BUG-621)", () => {
|
||||
const historical = JSON.parse(readFileSync(new URL("./fixtures/rectification-midnight-date-anchor.delivery.scoring-11.native.json", import.meta.url), "utf8")).response;
|
||||
assert.equal(historical.algorithm_version, "rectification-v5-matrix-scoring-11");
|
||||
const latest = { ...historical, candidates: historical.candidate_decisions };
|
||||
const dossier = parseV9CaseDossier(dossierFixture({ stage: "minute", latestResult: latest }));
|
||||
assert.ok(dossier);
|
||||
assert.equal(dossier.latestResult?.algorithmVersion, "rectification-v5-matrix-scoring-11");
|
||||
const policyVersion = historical.decision_policy_version;
|
||||
const underTwelve = resultIdentityView(dossier, { algorithmVersion: "rectification-v5-matrix-scoring-12", policyVersion });
|
||||
assert.deepEqual([underTwelve.read_only, underTwelve.can_recompare, underTwelve.algorithm_version], [true, true, "rectification-v5-matrix-scoring-11"]);
|
||||
assert.ok(dossier.latestResult!.candidates.every((candidate) => typeof candidate.candidate_date === "string"));
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user