fix(consult): project the running Narayana period and pratyantar dates to the model (BUG-1054)

timingKeys now admits current_dasha.md/ad/pd (sign, lord, years,
start_age, end_age), remaining_years and pratyantar_dasha_timeline. Depth
and item caps unchanged. Golden regression over three public AA engine
captures asserts values, not key presence.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
This commit is contained in:
Jesse_Chen
2026-09-27 02:54:11 +08:00
co-authored by Claude Opus 5.5
parent c33701a4bd
commit 75a1844cdf
5 changed files with 198 additions and 6 deletions
@@ -334,6 +334,12 @@ const timingKeys = new Set([
"charadasha", "transits", "sadesati", "triggers", "triggercount", "searchperiod", "window", "sequence", "durationyears",
"fromage", "toage", "phase", "phasename", "moonsign", "saturnsign", "intensity", "active",
"date", "target", "kind", "orb", "boundary", "claimboundary",
// BUG-1054: the engine writes the running Narayana period under
// `current_dasha.md` / `ad` / `pd` (sign, lord, years, start_age, end_age)
// and the Vimshottari pratyantar window under `pratyantar_dasha_timeline`.
// 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",
]);
const validationKeys = new Set([