Commit Graph
3015 Commits
Author SHA1 Message Date
Jesse_ChenandCursor baf4ae8b34 feat(narayana-rath): follow book p.43 for dual lords and node years (BUG-1227~1229)
Independent Staging Quality Gate / validate (push) Failing after 16m17s
Independent Staging Quality Gate / publish (push) Skipped
Round-7 option A is text-first, so Scorpio and Aquarius lords, the Ketu-only degree reversal, and node exaltation years now live in the Rath display layer. Scoring files stay unchanged.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-04 18:37:34 +08:00
Jesse_ChenandClaude Opus 5.5 64c652eea2 docs(tasks): astrologer rulings batch 6 (round-7: p.43 dual lord option A, only-Ketu reverse degree, node year +/-1); round-7 reply filed
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-04 11:14:49 +08:00
Jesse_ChenandClaude Opus 5.5 561d8c5c92 docs(testing): manual checklist for astrologer rulings batches 1-5
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-04 09:47:26 +08:00
Jesse_ChenandClaude Opus 5.5 6b533f956c docs(research): astrologer questions round 7 (standard-nativity dual lord, debilitation scope, node longitude)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-04 09:27:27 +08:00
Jesse_ChenandClaude Opus 5.5 153c6e99eb test(report): reader annual-conflict case follows the corrected return instant (BUG-1220)
Independent Staging Quality Gate / validate (push) Successful in 13m33s
Independent Staging Quality Gate / publish (push) Successful in 3m35s
The fictional chart's 2026 return moves 08:48:04 -> 08:41:55 (PyJHora within
0.09 min); the annual Lagna crosses from Taurus 1.3 to Aries 29.6 and the
current-year lord becomes Jupiter. Not in the quick gate, so the BUG-1220
acceptance missed it. Full Python suite: 62 failures before and after,
identical lists.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-04 09:03:31 +08:00
Jesse_ChenandClaude Opus 5.5 3333aa66bf docs(tasks): batch-5 acceptance notes
Independent Staging Quality Gate / validate (push) Successful in 15m31s
Independent Staging Quality Gate / publish (push) Canceled after 3m28s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-04 08:51:01 +08:00
Jesse_ChenandClaude Opus 5.5 92c78d4e82 docs: astrologer rulings batch 5 records (BUG-1223~1227; T1 p.43 dual lord blocked by red line; T6 v5 re-run)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-04 08:39:53 +08:00
Jesse_ChenandClaude Opus 5.5 1dd8e11bff feat(narayana-rath): flag Wadiyar pairs as book_software_rule8_exception (BUG-1226)
Round-6 ruling Q6b: Table 25 Gemini/Sagittarius and Virgo/Pisces are the
book software's seventh-level Rule 8 special case; keep the general result
(Sagittarius, Pisces at level 5), every Rath output carries the note
(known_book_differences), test pins the two pairs.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-04 07:35:37 +08:00
Jesse_ChenandClaude Opus 5.5 57ef4560ce feat(narayana-rath): AD direction checked against p.51, book divergence listed (BUG-1225)
Round-6 ruling Q7: default by the AD start sign's odd/even (Table 13, as in
Table 25); Saturn in the MD sign -> always zodiacal (Table 11); Ketu ->
reversed (Table 14); both -> Ketu first. Each AD rule now carries
direction.book_divergence (p.47 J.S. 1.1.34; J.S. 2.4.31-32), not applied;
reference report shows one line, English twins added. Table 25 Taurus 12/12.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-04 07:35:11 +08:00
Jesse_ChenandClaude Opus 5.5 61bd4425cd feat(narayana-rath): Rahu/Ketu dignity and debilitation at level 3 (BUG-1224)
Round-6 ruling Q2: node dignity by Rath Table 9 p.41-42 (own Aq/Sc, MT Vi/Pi,
Phalita exaltation Ge/Sg), debilitated ranks below none (p.67: debilitated
Ketu weaker than Mars by Rule 3). Rath module only; natal table unchanged.
Book acceptance unchanged (15/17 general, 18 explicit 12/12, 28/30, 24/36).
Goldens recaptured (only rath.source text changes).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-04 07:33:55 +08:00
Jesse_ChenandClaude Opus 5.5 7dda1b45c3 fix(tajika): year lord blocked instead of Muntha-lord stand-in (BUG-1223)
Panchadhikari blocked -> status blocked + reason, year_lord None, sentence
「年主暂无法确定(原因)」 on card and report; Tri-Pataka blocked with it;
Mudda unchanged. Aligned with upstream 03bea6ed. Nine public charts: both
producers byte-identical before/after.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-04 07:25:48 +08:00
Jesse_ChenandClaude Opus 5.5 77645ce25f docs(tasks): astrologer rulings batch 5 (round-6: Rath dual lord, node dignity, AD direction; year lord no fallback; v5 re-trial)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-04 07:15:48 +08:00
Jesse_ChenandClaude Opus 5.5 2455b1e418 docs(tasks): batch-4 acceptance notes
Independent Staging Quality Gate / validate (push) Successful in 13m38s
Independent Staging Quality Gate / publish (push) Successful in 3m49s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 23:45:49 +08:00
Jesse_ChenandClaude Opus 5.5 98352da765 docs: batch 4 records (BUG-1221/1222 progress, changelog, index, blocked)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 23:37:44 +08:00
Jesse_ChenandClaude Opus 5.5 a6cf8f8f7a feat(tajika): annual strength layer uses the Tajika five-fold Panchavargiya (BUG-1222)
Product decision 2026-10-03: the annual Harsha / Panchavargiya strength
layer's Panchavargiya column is the same `_calc_native_panchavargiya_bala`
score the year-lord selection compares (BUG-1217): five components, score
out of 20, labelled 「Tajika 五分力量」 / "Tajika five-fold strength". The
unreachable dignity-proxy block is removed; Harsha Bala unchanged; the
combined figure stays blocked (not ruled).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 22:52:12 +08:00
Jesse_ChenandClaude Opus 5.5 11225171ee feat(consult): Rath running MD on every domain card, budget 12,500 / 18,500 (BUG-1221)
Product decision 2026-10-03 (changes the BUG-1160/1161 budget): every
domain card carries the Sanjay Rath Narayana running MD beside the legacy
one, in its short form (label, start sign, MD sign, start / end age).
Card budget 12,000 -> 12,500, with the method checklist 18,000 -> 18,500;
three budget assertions rewritten with old / new / reason notes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 22:49:30 +08:00
Jesse_ChenandClaude Opus 5.5 8ca06c4f20 docs(tasks): batch 4 (Rath MD on all domain cards with 12.5K budget; annual strength table five-fold)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 22:41:46 +08:00
Jesse_ChenandClaude Opus 5.5 0ca0da05ee docs: BUG-1220 deployed to staging 01929bae
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-03 22:37:22 +08:00
Jesse_ChenandClaude Opus 5.5 01929baea6 fix(solar-return): return instant in the solver's frame, annual chart keeps seconds (BUG-1220)
Independent Staging Quality Gate / validate (push) Successful in 20m3s
Independent Staging Quality Gate / publish (push) Successful in 4m2s
The natal Sun target came from compute_chart_data while the solver iterates
on _get_sun_lon_jd (swe sidereal flags); the frames differ by up to ~17",
moving the return by up to ~7 minutes. The annual chart was also cast at the
truncated minute. Ports upstream yinduzhanxing 7cc6425d / 46ed9399 (these two
hunks only). PyJHora reference: 3 cases within 0.03 min. 243 public-figure
annual charts: annual Lagna changes 13, year lord 11, Mudda first lord 0.
v5 77 cases identical to 3c27c38e; consult goldens re-captured byte-identical.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-03 22:10:20 +08:00
Jesse_ChenandClaude Opus 5.5 d0b783bd05 docs(research): astrologer questions round 6 (Rath strength details, AD direction, Mudda year length)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 21:41:44 +08:00
Jesse_ChenandClaude Opus 5.5 3c27c38e46 docs(tasks): batch-3 acceptance notes; batch 1/2 README status deployed
Independent Staging Quality Gate / validate (push) Successful in 15m7s
Independent Staging Quality Gate / publish (push) Successful in 4m1s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 21:17:43 +08:00
Jesse_ChenandClaude Opus 5.5 a1da24a60c docs: batch 3 records after T4/T5 (red line 3 revised, Rath shown alongside, v5 trial results)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 21:09:48 +08:00
Jesse_ChenandClaude Opus 5.5 bf8d704708 feat(narayana): show the Sanjay Rath version beside the legacy one (T4, BUG-1218)
Display only; scoring and timing conclusions keep the legacy algorithm.
narayana_legacy_label attaches a Rath view (seed, deciding level, direction,
24 MDs, running MD/AD) under modules.narayana_dasha.rath for the consultation
modules, full reading Step 4.13 and the CLI. Reference report: one summary
line under the legacy line plus Rath MD / running-MD AD tables (English terms
added). Evidence card: narayana_rath (label, seed sign, level, running MD) on
timing / annual cards only — other cards sit at 11,979 of 12,000 characters.
Goldens re-captured from the real engine.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 21:09:40 +08:00
Jesse_ChenandClaude Opus 5.5 3264831a23 docs: astrologer rulings batch 3 records (BUG-1216..1219, PROGRESS, CHANGELOG, BLOCKED, T5 note)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 21:09:40 +08:00
Jesse_ChenandClaude Opus 5.5 735d66fd65 feat(narayana): Table 18 as a flagged book example with the explicit seed; book software-verdict and Table 25 tests (BUG-1218)
Red line 3 revised by the product owner (2026-10-03 evening, audit da95d92d):
Indira Table 18 is a book-internal contradiction. calc_narayana_rath(...,
seed_sign_idx, book_example="rath_p66_indira_ak") reproduces it 12/12 flagged
book_example_exception and carries the general rule's Capricorn unchanged.
New tests: five D1 software-verdict tables 28/30 (two Wadiyar level-5 misses
pinned), co-lords 8/10, Table 25 sub-periods 24/36 (Gemini MD 0/12 pinned).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 21:09:31 +08:00
Jesse_ChenandClaude Opus 5.5 f5d24f42d2 test(tajika): three-column note on the rewritten Mudda assertion (BUG-1216)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 21:09:31 +08:00
Jesse_ChenandClaude Opus 5.5 5c509e40db test(consult): re-capture the evidence-card golden from the real engine (BUG-1216/1217)
Annual layer: Mudda segments now start from the natal Moon nakshatra (10 rows
cropped to the Varsha year), year-lord basis reads 「按 Tajika 五分力量」, and
one chart's year lord changes under the five-fold Panchavargiya.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 21:09:31 +08:00
Jesse_ChenandClaude Opus 5.5 c41555f69e feat(narayana): Rath start-sign seven-level rule, Ketu/Saturn exceptions, AD start rule; Table 18 not reproduced, not wired (BUG-1218)
Astrologer round-5 Q1-Q4 in scripts/narayana_rath.py (frozen narayana_dasha.py
untouched). Levels 1-2 are upstream c7117f92's rath_p36_role_conjunction_v1
counting (test compares with the upstream function); Ketu reversal is the
upstream rath_ketu_table12_v1 branch; Ketu first when Saturn shares the seed.
Book tables: 15 Cancer (level 1) and 17 Pisces (level 2) reproduce; 18 gives
Capricorn at level 5, so the Indira AK example (full tie only) is never
reached -> red line 3: no T4 wiring, no T5 trial.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 21:09:31 +08:00
Jesse_ChenandClaude Opus 5.5 1c39988b3c feat(tajika): year lord compared by the Tajika five-fold Panchavargiya (BUG-1217)
Ports _calc_native_panchavargiya_bala and its helpers verbatim from upstream
yinduzhanxing c7117f92 (astrologer round-5 Q5). calc_panchadhikari_year_lord
now scores candidates with it (engine tajika_native_five_fold); the
D1/D2/D3/D9/D12 dignity proxy no longer selects a year lord, and a missing
annual planet blocks instead of falling back to it. Basis note reads
「按 Tajika 五分力量」 / "by Tajika five-fold strength".

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 21:09:31 +08:00
Jesse_ChenandClaude Opus 5.5 9d81f15afa feat(tajika): Mudda Dasha from natal Moon nakshatra + completed years, not the year lord (BUG-1216)
Ports calc_mudda_with_dasha_balance verbatim from upstream yinduzhanxing
c7117f92 (astrologer round-5 Q7). tajika_mudda.annual_mudda_dasha is the one
product entry for solar_return_full_report, cmd_tajika and full-reading
Step 9; periods are cropped to the Varsha year and carry months for the
month-window consumers. The consultation card re-anchors the engine's dates.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 21:09:31 +08:00
Jesse_ChenandClaude Opus 5.5 59bb7da385 docs(tasks): batch-3 red line 3 revised (Table 18 book contradiction); solar-return frame fix confirmed after batch 3
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-03 19:59:47 +08:00
Jesse_ChenandClaude Opus 5.5 da95d92db2 docs(research): shared-engine reuse audit (Narayana/Tajika/annual return) + task brief for solar-return frame fix
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-03 19:45:39 +08:00
Jesse_ChenandClaude Opus 5.5 ac588172a1 docs(tasks): astrologer rulings batch 3 (Mudda from birth nakshatra, Tajika five-fold PVB, Rath Narayana redo)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 19:03:50 +08:00
Jesse_ChenandClaude Opus 5.5 2fc0f9cd11 docs(research): astrologer questions round 5 (Rath seed strength, Tajika PVB/Muntha/Mudda)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 17:29:45 +08:00
Jesse_ChenandClaude Opus 5.5 503c1190a9 docs(tasks): batch-2 acceptance notes
Independent Staging Quality Gate / validate (push) Successful in 15m58s
Independent Staging Quality Gate / publish (push) Successful in 3m57s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 17:28:56 +08:00
Jesse_ChenandClaude Opus 5.5 dda966e656 fix(yoga-rules): English siblings for reference_only_reason (batch-1 left test_report_english_dictionary red)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 17:24:26 +08:00
Jesse_ChenandClaude Opus 5.5 e31c2064b4 docs: astrologer rulings batch 2 records (BUG-1213..1215, PROGRESS, CHANGELOG, BLOCKED, T5 note)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 17:19:03 +08:00
Jesse_ChenandClaude Opus 5.5 693467bf0c fix(consult): card carries the engine's short Narayana label; AD/PD drop derivable years (BUG-1215)
The full note pushed steve_jobs/marriage to 12,028 characters (budget
12,000), and cutting it in the card broke the 'nothing rewritten' contract.
The engine now also writes algorithm_label 旧算法(从上升起、一律顺行), the card
copies it verbatim, and Narayana AD/PD rows drop years (end_age - start_age).
Largest card 11,979 (baseline 11,983). Goldens re-captured; the biography
golden now keeps the Narayana label keys too.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 16:48:19 +08:00
Jesse_ChenandClaude Opus 5.5 921b336ba5 test(consult): re-capture consultation goldens from the real engine (BUG-1213/1214/1215)
capture_consult_evidence_card_golden.py and capture_consult_biography_backtest_golden.py
(PYTHONHASHSEED=0, JYOTISH_API_CHART_CACHE_TTL_SECONDS=0). Differences are this
batch's own: yogas d9_dignity_modifier (BUG-1213, all None on these charts),
annual year lord / varshesha_basis / Mudda segments (BUG-1214), Narayana
profile + algorithm_note (BUG-1215; capture keeps the two keys). Card test
gains one assertion: timing.narayana.algorithm is the legacy note.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 16:42:15 +08:00
Jesse_ChenandClaude Opus 5.5 9eb22f6363 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
2026-10-03 16:42:15 +08:00
Jesse_ChenandClaude Opus 5.5 7cb332bce6 feat(narayana): Sanjay Rath profile replayed against the book tables; not wired (BUG-1215)
Round-4 ruling Q4. scripts/narayana_rath.py builds the Rath sequence from the
rule ledger and book rows ported verbatim from upstream yinduzhanxing c7117f92
(sanjay_rath_narayana_book_ledger JSON + md, chara_narayana_book_golden_cases):
Table 10 order (Saturn -> Table 11, Ketu -> reversed), years by
jaimini_odd_footed_dignity_v2 with jaimini_dual_lord_source_v1, ADs twelve
equal parts from the MD sign (Table 13 / 11 / 14), start sign by the existing
select_narayana_seed_sign, ties reported as parameter_sensitive with both
sequences.

Given the book's start sign, Tables 15 / 17 / 18 match 36/36 MD signs and
years. The start sign does not: Table 17 picks Virgo (book Pisces), Table 18
ties (book Cancer). Task red line 2: the profile stays out of every
user-visible surface and out of scoring; T5 trial not run. A test pins that no
script imports it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 16:36:31 +08:00
Jesse_ChenandClaude Opus 5.5 0afcc2d9a3 feat(tajika): year lord by the Panchadhikari rule, ported from upstream c7117f92 (BUG-1214)
Round-4 astrologer ruling Q3. tajika.calc_panchadhikari_year_lord and its
missing pieces (Tri-Rasi tables, planet index maps, ayanamsa-aware PyJHora
lookups) plus references/tajika_panchavargiya_rules.json (blob e8c15ac3) are
ported verbatim from yinduzhanxing c7117f92, with one keyword added
(muntha_sign_idx): upstream builds the Muntha-lord candidate from the annual
Lagna + years; ours stays natal Lagna + completed years (BUG-1212).

Both annual producers (solar_return_full_report, cmd_tajika) call the new
tajika_year_lord.select_annual_year_lord, so the pack conflict gate compares
the same rule. Output carries candidates / candidate_list with Panchavargiya
score and engine, aspect flags, selection_basis and a one-sentence basis
(zh/en). The product path always uses the native proxy (PyJHora is AGPL, absent
from the API image and CI); JYOTISH_YEAR_LORD_PYJHORA_REFERENCE=1 restores the
upstream PyJHora lookup for research. Card varshesha_basis and the report
'Selection basis' rows show the sentence; the BUG-1212 stand-in label is gone.
Mudda Dasha and Tri-Pataka follow the selected year lord.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 16:30:28 +08:00
Jesse_ChenandClaude Opus 5.5 bc03bba26b fix(yoga): D9 debilitation only weakens Pancha Mahapurusha (BUG-1213)
Round-4 astrologer ruling 2026-10-03 Q1: the yoga stays formed with
d9_dignity_modifier='weakened' and the reason 'D9 落陷,兑现减弱'; only a failed
D1 condition is not_formed. The D9 sign is derived from the longitude when the
caller does not pass navamsa_sign, so the card, report and /api/pancha_mahapurusha
paths all check it. None of the nine public celebrity charts change.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 16:18:06 +08:00
Jesse_ChenandClaude Opus 5.5 52b3061fe5 docs(tasks): astrologer rulings batch 2 (D9 modifier, Tajika panchadhikari, Narayana Rath profile + trial)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 16:15:05 +08:00
Jesse_ChenandClaude Opus 5.5 e7eeb4045a docs(tasks): batch-1 acceptance notes
Independent Staging Quality Gate / validate (push) Successful in 17m28s
Independent Staging Quality Gate / publish (push) Successful in 3m51s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 15:24:31 +08:00
Jesse_ChenandClaude Opus 5.5 14d5c7613e test(rectification): confirmation gate reads the batch-1 re-freeze record (ERR-110)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 15:24:05 +08:00
Jesse_ChenandClaude Opus 5.5 57c56dbb8e docs: astrologer rulings batch 1 records (BUG-1204..1212, CHANGELOG, PROGRESS, BLOCKED)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 15:14:24 +08:00
Jesse_ChenandClaude Opus 5.5 9392f0601b chore(rectification): re-freeze research records for astrologer rulings batch 1 (ERR-110); scores unchanged, no version bump
scripts/jaimini.py (BPHS 8-karaka order), scripts/ashtakavarga.py (calc_sodhita_av
removed) and scripts/shadbala.py (local house score renamed and dropped from the
result) are in the frozen production identity. Records re-frozen under the label
astrologer_rulings_batch1_2026_10_03 (--freeze, then replay; PYTHONHASHSEED=0,
chart cache TTL 0); the upstream_sync5 records become 'previous', byte-for-byte
preserved. Replays identical to upstream_sync5: reported offset 0 of 900 trials
changed, sealed holdout 20 trials and metrics identical. v5 77-case evaluation
unchanged (see PROGRESS). ALGORITHM_VERSION stays rectification-v5-matrix-scoring-10.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 15:00:46 +08:00
Jesse_ChenandClaude Opus 5.5 b1185c63ac fix(yoga): full-reading yoga re-run passes the retrograde flag (T1 follow-up, BUG-1207)
Nine-figure check: Judy Garland's report said Bhadra 'combust within 14°' while
the card said 12° (retrograde Mercury). The full reading builds cmd_yoga's
planets string without retrograde; an optional 5th field 'R' now carries it.
Test pins report vs consultation reductions on that public chart.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 14:56:05 +08:00
Jesse_ChenandClaude Opus 5.5 0d6af77cea test(consult): regenerate consultation goldens from the real engine; card shadbala rows (T1-T9)
consult-evidence-card-golden.json and consult-biography-backtest-golden.json
re-captured with their capture scripts (JYOTISH_API_CHART_CACHE_TTL_SECONDS=0,
PYTHONHASHSEED=0). Differences are the batch's own: Sodhita chain and
house_scores sav_sodhita (BUG-1209), shadbala minimum fields (BUG-1208),
varshesha_basis (BUG-1212), traditional_yogas names (BUG-1205/1207: Neecha
Bhanga with conditions, Mahapurusha with 部分减弱, Taylor's trikona Hamsa gone),
chart.yogas Kemadruma rows (BUG-1206), Rahu/Ketu status and D9 dignity and
fixed-lord rule hits in the health sieve (BUG-1211).

Card: shadbala rows are rupas / minimum_check / level (the engine's other
three fields restate them; keeps the 12,000-character card budget).
Changed assertions (three columns in PROGRESS): career 10H SAV keys, annual
chart keys, Obama traditional-yoga names.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-03 14:52:13 +08:00