feat(narayana): label the product Narayana as the legacy algorithm (T4, BUG-1215)
Round-4 ruling Q4 / product decision A: scoring and the consultation and report time axes keep the old Narayana (from the Lagna, always zodiacal) until the Rath trial is decided; every user-visible Narayana now says so. narayana_legacy_label adds profile=legacy_reference_only and the note (zh/en) at the consumers (consultation modules, full reading Step 4.13, CLI), not in the frozen narayana_dasha.py (ERR-110/115). The card's timing.narayana carries 'algorithm'; the projection allowlist passes algorithm_note; the reference report's Narayana section and the dasha-family table show '算法:…' (English twin in the phrase table). The unused narayana-dasha --variant-profile flag, the one place offering a Chara Dasha author's profile for Narayana, is removed. 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:
co-authored by
Claude Opus 5.5
parent
7cb332bce6
commit
9eb22f6363
@@ -615,6 +615,9 @@ function baseTiming(timing: Record<string, unknown>, gaps: string[]) {
|
||||
}
|
||||
const remaining = copy(currentNarayana.remaining_years);
|
||||
if (remaining !== undefined) narayana.remaining_years = remaining;
|
||||
// BUG-1215: say which Narayana this is (legacy: from the Lagna, always zodiacal).
|
||||
const algorithmNote = record(timing.narayana_dasha).algorithm_note;
|
||||
if (narayana.md && typeof algorithmNote === "string" && algorithmNote) narayana.algorithm = algorithmNote;
|
||||
if (!narayana.md) gaps.push("base.narayana.md");
|
||||
return { vimshottari, narayana };
|
||||
}
|
||||
|
||||
@@ -346,6 +346,8 @@ const timingKeys = new Set([
|
||||
// Without these keys the projection kept `current_dasha` as an empty object
|
||||
// and dropped the pratyantar dates, although the engine had both.
|
||||
"md", "ad", "pd", "years", "startage", "endage", "remainingyears", "pratyantardashatimeline",
|
||||
// BUG-1215: the running Narayana is the legacy algorithm; its label travels with it.
|
||||
"algorithmnote",
|
||||
]);
|
||||
|
||||
const validationKeys = new Set([
|
||||
|
||||
Reference in New Issue
Block a user