- Functional default = PVR Table 30 (functional_profile=pvr_table_30); the former
product table is bphs_exception_profile, scored only when named (rectification
names it, scores unchanged). profile_divergence shows both roles side by side;
movable-lagna Moon by the table's paksha note; dual-lordship note; prior rulings
BUG-1570/1590/#166 Q4 checked against Table 30.
- Shadbala: six open items labelled parameter_sensitive; every option combination
computed; only planets whose pass/fail flips get minimum_check=parameter_sensitive.
- Vimshottari AD/PD rows carry parent_period_start / visible_period_start; the
consult card cuts the balance MD from its full parent and clips at birth.
- KP DBA: full first parent, clipped at birth (no balance rescale).
- Mudda: balance fields + balance_method (angle default, time comparison apart),
nominal_year_days, her crossing wording; Harsha combined blocked reason lists items.
- D30 _meta describes the unequal parts (as her r40).
- Golden recaptured with TTL=0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
The r2 re-eval showed 14/70 answers naming 起运/年数 as this chart's
undetermined step, copied from the open-item sentence, while the card said
unknown or ad_direction. The sentence now names no step and says not to
infer one. Golden recaptured with TTL=0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
- BUG-1729 (P0): the execution receipt capped methodologySections at 12 while
the loader allows 32; a wealth turn delivers 14 and every receipt failed.
The cap now lives in consultation-methodology-limits.ts and both read it;
a sweep of all 2509 domain combinations x 3 questions passes the receipt.
- BUG-1730 (tooling): the offline model-input manifest moves to
tests/helpers (scripts must not import tests, BUG-1140); the fact-checker
reads the timing route's nested slow_transits.
- BUG-1731: the card carries the engine's calendar_year (both Tajika years
and the splitting return); runtime contract rule A-08 (her Q2).
- BUG-1732: narayana_method_status names the undetermined / disputed step
(seed, years, dual_lord, ad_direction) from the engine, "unknown" when it
cannot; B3/B4 recorded as open; chat_use single_system_candidate /
no_judgment; her Q1 sentence in the contract; B-02 rewritten.
- BUG-1733: the conclusion's first sentence answers the question; the
frozen time range follows it (her Q5).
- Golden recaptured with TTL=0 (method_status; VedAstro offline reason is
environment-dependent).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
Sealed 20 and reported-offset 900 rerun with the protocol's own scripts
(exported from c1a69445^, baseline reproduced 166d 20/20 and 900/900),
overlay recorded in the .patch. Old 166d records kept. Live astrologer
stage v5 77x3 sensitivity script added. Sensitivity numbers, not accuracy.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
- _consultation_dasha_sub_periods rebuilds mahadashas from the birth moment
(only when they reproduce the chart's shown periods) and cuts antardashas with
chart_dasha.birth_moment.antardashas instead of the frozen
dasha_analyzer.build_antardasha (integer days from midnight starts).
- Pratyantar cut from the antardasha's full-precision clock; the merged-field
bridge keeps that ready timeline. Output shape unchanged.
- Regression test against cmd_dasha for two public charts; golden recaptured.
- BUG_HISTORY: BUG-1715..1718.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
Product 2026-11-07: sync the astrologer's working branch (ea2a9d65..d09feab7).
- 0266b6ad: year lord picks by the native five-fold Panchavargiya only; a
PyJHora score (research switch) is attached per candidate as
external_oracle_comparison (observation_only_not_selection_input) and
never selects. panchavargiya_selection_policy on the result; candidate_list
and the reader-report candidate table carry the five components and raw total.
The legacy Sun/Mars/Saturn table relabel is not applicable: calc_sodhita_av
was already removed here (BUG-1209).
- 8c4bff8a + a5b75886: Sodhita no longer votes in finance adjudication; the
bridge keeps raw 2/11 scores with prediction_scoring_allowed false.
- ba8e36ec: finance delivery inventory (raw, no vote), wrapped producer status
counts as blocked in machine-evidence sections, transit section, report gate
evidence_claims bindings, finance support review readiness.
- 5962368d: dispositor chain dispositor_sign is the dispositor's own sign.
- 8813c851: BCP observed at the reading date (bcp_reference, PL9 row).
- d09feab7: nakshatra_advanced.calculate_stellar_jeeva_sareera and the
nadi-stellar-roles CLI; specialized-jyotish SKILL.md, usage packs, ontology
and gap scanner mirrored.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
Three-way parity audit 2026-11-07 (U ea2a9d65 / F frozen / P f70ae94e):
- Vimsopaka: look vargas up by "D{n}_" prefix (D60 key was misspelt, every
D60 fell to Neutral) and score only the sign-owner relation (upstream
ab5b8709, BPHS 7.21-27). All 16 varga scores now equal U on 3 charts.
- Narayana: age = total_seconds / (86400 x 365.25) keeping the birth time
(upstream ab5b8709); Rath rows carry start_date / end_date from the
unrounded ages; consult layer, report facts, API and calendar read them.
- Ascendant degree_raw / lon unrounded (engine and chart API).
- position_mode label: legacy is the apparent frame since BUG-1275; the
profile and module labels now say "apparent" (legacy still accepted).
- Functional profile label v2 -> v3_166q4 (the table actually used).
- full-reading Sade Sati uses the dated transit Saturn (upstream e628118d):
Jobs 2026-11-07 peak, owner / Obama not active, as U.
Consult evidence card golden recaptured.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
Astrologer's plan 2026-11-07 (items 1, 2, 3, 5, 7, 10, 11; 最终产品结构建议):
- answer mode decided on the server from the user's own words (consultationAnswerMode:
latest explicit request in this turn or session history wins; default professional,
plain on 白话/简单点/听不懂...) and bound into the system prompt via agent context
- professional VISIBLE VOICE: ## route, parameters, executed techniques + raw data,
vargas per domain, multi-dasha both directions, A/B/C grades, conflicts/blocked,
conclusions last, Technique Audit Table with Functional Benefic/Malefic,
MEVG / Global Web Evidence, Real Case Calibration rows, read from the card's route table;
plain voice keeps the old shape, same backend method; safety red lines shared
- period-first rule; interpretation statuses (parameter_sensitive,
user_history_verification_required, blocked, not_available_yet) replace
"reference only / blocked = cannot read"; KP used conditionally (on card)
- methodology delivers sub-skill SKILL.md per skill_family_router (parashari-core always;
jaimini-timing, kp-event, tajika-annual, financial-astrology, prashna-muhurta by domain);
widest plan 55k chars, untruncated
- follow-ups: red lines + precision line in the prompt, post-filter for death, disease,
divorce, pregnancy, child sex, exact-day wealth, third-party identity, exact days
- entries: children prompt without 缘分; presets 12.3 counting rule, 12.5 sends exact
days to the ephemeris page; third starter asks for a period, or the time check first
when the birth time is an estimate
- tests updated with 原值/新值/原因; new consult-professional-mode-20261107.test.ts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
Product order 2026-11-07: birth-time rectification follows the astrologer's
skill (yinduzhanxing 5fb8379c) in full. The chart-choice page stays; her
method is added as a stage and both results are shown side by side.
- scripts/chart_choice/astrologer.py, POST /api/chart_choice/astrologer:
minute-by-minute scan of D1/D2/D3/D4/D7/D9/D10/D12/D20/D24/D30/D60
(D60 reference only), ascendant nakshatra/pada, KP sub-lord, A7/UL/A10;
her five stages (intake, appearance/birthmark screens, event verification
with Vimshottari MD/AD/PD + Narayana MD/AD per event and the >=5-event
gate, D9/D10 trait correction, report); her 40/35/15/10 scoring, match-rate
tiers (80/60), report confidence (90/70) and engine confidence; family
(六亲) event categories; D30 only with health-type events; Gochara blocked;
our 77-case backtest caveat on every result.
- active_rectification_questions.py synced to upstream (question_bank,
bindings, workflow_status), local adaptations marked LOCAL, accepts an
in-process minute_scan.
- Frontend: /api/chart-choice/astrologer and an AstrologerStage step,
reachable from the result, the no-line case and the current record.
- Consultation reads the other version for domains kept 「两版都读」
(provenance now records other_saved_at).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
- root SKILL.md is her upstream file (body byte-identical to the 5fb8379c mirror; description quoted so YAML parses and Mastra can load the skill)
- chat binds the whole SKILL.md plus references/product_runtime_contract.md (safety-only) instead of a ~477-character excerpt
- every turn carries her full strict-workflow-router (synced to upstream) and the domain's event-judgment file; product lists follow as an extra layer
- import her 10 sub-skills, family router, interpretation status contract, technique ontology and the 54 files her method names
- tests/test_upstream_skill_parity.py (in the quick gate) fails whenever her skill and ours drift
- 18 frontend guards that locked the excerpt design updated with 原值/新值/原因 notes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
- Shadbala on every card that judges a planet; strength only from Shadbala, sign only says how comfortable the placement is; SAV stays with the house (BUG-1690)
- wealth: A2 / A11 (projection now lets them through) and Jupiter / Saturn transits; earning vs keeping read separately, both sides (BUG-1691)
- family: 2H / 3H, Mars, D3 for siblings; parents / children / education / migration get slow transits and time rules (BUG-1692)
- a question about a period opens with the period; the pattern phrase is for lifelong questions and holds both sides (BUG-1693)
- houses keep more than one meaning; 8 / 12 placement is how, not where from; canned education verdict removed (BUG-1694)
- time reading takes both Narayana levels (BUG-1695)
Not shipped: needs the blind eval first (no model key on this machine).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
Astrologer 2026-11-07: a spouse's memoir or anniversary statement of the
marriage date counts as a party statement of the legal date; Tina Turner is
admitted with Brownsville, Tennessee (UTC-6) and 22:10 from the registrar
birth note. Usable for round 1: 54 career and 33 relationship people.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
Astrologer 2026-11-07: primary legal_marriage needs an explicit legal basis
(inferred dates go to appendix and sensitivity only); Clooney and Macron go
to the development set; Tina Turner deferred, Gloria Estefan observation only.
Research across the web (astrologer posts and discussions used only as
pointers; rectified times never admissible): 11 more marriages get an
explicit basis (Hemingway–Gellhorn legal date is 1940-11-21), 4 rest on
party statements for the astrologer to rule on; Hillary Clinton's hour digit
and Woody Allen's date stay unresolved; Tina Turner's place points to
Brownsville. Usable: 53 career and 30 relationship people.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
- marriage_match keeps Rajju (same group) and Vedha (paired) as flags, which
read the same either way round; Mahendra, Stree Deergha and the in-law
star rules are recorded as not used (gender-directed / in-law risk).
- pair_promise_links lists where one person's 7th lord, UL, DK, A7 or Moon
sits in the other's ascendant, Moon or Venus sign (same sign or 1-7 axis).
- Appendix shows both.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXp2su8Vzqv3jNvkCSqt
`relationship_promise` reads both full charts: 7th lord and 7th-house
occupants, Venus and DK with sign, house, dignity and functional role; UL
with its lord, occupants and the 2nd from UL; D9 ascendant, D9 7th lord and
Venus in D9 (vargottama). Missing charts stay `not_available`. The appendix
adds one promise line per person under their structure line.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXp2su8Vzqv3jNvkCSqt
The appendix read keys the dossier does not have: the profile is per person
(`calculation_profile.person_a/person_b`), kuta scores sit under
`ashtakoota_36.international_core.scores`, and the Raman packet is the match
object itself. Parameters were always 「未标明」 and the traditional block was
one sentence. Now: per-person ayanamsa / node / house system, the seven-kuta
total out of 35 with each item and its ceiling, Bhakoot / Nadi exception
candidates (raw score unchanged), Kuja per reference frame with mitigations
and the comparison, Papasamya per person, and the Raman Kuja variant.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXp2su8Vzqv3jNvkCSqt
- Contents in three groups: 解读 (the eight reading sections, each anchored),
推运 (dasha / annual chapters by title), 本命数据 (the rest, folded to
"N 项" until opened or read into).
- Reading: section numbers, a row of section chips, 17px / 1.85 body; the
article restores paragraph spacing that Tailwind preflight zeroed.
- Fact tables and calculation charts move into the article column; one
hairline row per table, custom chevron, the shared status said once.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXp2su8Vzqv3jNvkCSqt
- Engine rows: lowercase planet names map to Chinese; `direct_to_retrograde`
reads as 停滞转逆 (Jupiter 12-13, Mars 01-11 were shown as 转顺); ingresses
read `to_sign` and stations take sign/degree from `longitude`, so the
eleven sign changes in the window show again.
- List: one row per day, date + "N 天后" (tappable), neutral glyph + planet
+ event; same-day events share the date.
- Ask card names the selected day and stacks on phones; the draft is the
owner's option A and the jump is a client navigation when the app router
is mounted.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXp2su8Vzqv3jNvkCSqt
After the lines draw, houses 1 → 10 → 7 → 4 (top, right, bottom, left)
crossfade one into the next; the cycle is 6s. The 生时纠正 loading step
drops its text card for the centred ChartDrawLoader + 「正在计算…」.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXozbkyFNqbu8pVEtZ7W
The 星历 page gets a month calendar for the chosen person: every day is
吉 / 平 / 凶 with two or three life themes from transits against their own
chart, the selected day opens to its themes and "为什么", and below it
「接下来要留心」, 「这几天」 and 「回看」 (owner, 2026-11-07: A's grid plus
C's lower half).
Engine: scripts/personal_calendar.py joins existing calculators on one
date axis (one call, <0.5 s for 45 days): Panchanga in the subject's own
ayanamsa, Tara / Chandra bala, Moon house from Lagna and Moon,
Ashtakavarga SAV + Moon BAV, transit conjunctions with natal points,
functional benefic / malefic, activity verdicts with native inputs,
ingress / station / combustion / eclipse / Vimshottari AD+PD boundaries,
and a month backdrop (Vimshottari MD/AD/PD, Narayana, Sade Sati / Kantaka,
slow-graha contacts, Jupiter+Saturn double transit). New endpoint
/api/personal_calendar.
BUG-1666: check_activity_muhurta ignored Vishti karana, Vyatipata /
Vaidhriti and an avoided Chandra bala, so a Vishti day could be 大吉.
BUG-1667 (closes BUG-703 / BUG-707): /api/panchanga_range now honours the
requested ayanamsa; the day view asks for the subject's own and drops the
Lahiri note.
Frontend: /api/ephemeris/month (own rate-limit bucket, cached),
/api/ephemeris/checks + migration 20261107010000_ephemeris_day_checks
(answers kept with the birth declaration they were made under). Copy is
life-first with the sky events folded under 为什么; draft wording pending
the astrologer. TASK-ephemeris-page decisions 4/6 and hard lines 3/7/9
superseded per the owner; DESIGN.md §16 updated.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXozbkyFNqbu8pVEtZ7W
55 more marriages checked: 6 with an explicit legal act, 35 jurisdictional
(the officiated wedding is the legal act there, no separate civil act
found), 2 ceremony only, 17 unconfirmed (date conflicts or no place). 7
inferred dates got a stating source; one stays low confidence. Usable for
round 1, counting each person once: 57 career; 27 relationship with explicit
legal dates only, 41 if jurisdictional dates count (astrologer to decide).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
About 230 names screened against both repos before any research; 70 unused
names researched, 48 rated AA or A, all re-checked against raw Astrotheme
pages. Strict legal-marriage rule applied on merge (48 downgraded to
unconfirmed). The 16 round-1 marriages were verified: 9 confirmed (3 with a
different legal date than first recorded), 1 not legal, the rest unconfirmed.
Usable for round 1, counting each person once: 57 for career and 23 for
relationship. Still a draft: no annual facts were run for these people.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
Astrologer 2026-11-06: Hillary Clinton not admitted (time source conflict);
admission per person (traceable date, time, place and historical zone,
rating consistent with its source); primary marriage event is the legal
effective date, ceremony only secondary; round 1 tests career and
relationship only.
Re-audit of both repos found 24 of the 36 kept candidates already used
(rectification holdout v5 roster, celebrity test fixtures, standard test
charts, adjudicator audits, consult backtests, website e2e eval); the first
audit only read subject.name fields. 9 unused plus 2 listed in another
study's pool remain for review; 16 of their marriage events need the legal
date confirmed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
Walked sign-up → profile → chart → question → answer as a first-time user
and fixed what got in the way:
- 星盘档案 showed 「出生时间待补全」 for a reported time the chart already
draws at; period profiles showed the raw key (BUG-1662).
- Phone header: title, person chip and guide pill overlapped at 360–390px
(BUG-1663).
- Birth time: a recorded time no longer demands an earliest/latest range;
design B folds the six sources into one row with 更改 (BUG-1664). Intake
hints trimmed with the owner's approval.
- Page switch rendered the new page twice; the copy in the leaving slot took
/?account=… and its dialog vanished with it (BUG-1670). The leaving page now
keeps its own router context.
- 新手指引 design C: 「下一步:…」 pill plus count, no prices, no 去做 buttons;
short labels on narrow phones. 「这次提问免费」 removed.
- Login: consent box above the button, 「登录或注册」, plain two-step copy.
- Place: no false 「搜索」 claim, 北纬/东经 first, UTC offset with 夏令时 note,
Chinese country names in pinyin order.
- One name 「生时纠正」 on user-facing copy; middle dots off the main path;
calmer delete and error styles; no frosted glass or in-page card shadows.
- Type scale B: every page uses 13 / 16 / 20 / 28 px (chart drawings excepted).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXozbkyFNqbu8pVEtZ7W
Product, 2026-11-06: 「生成中的报告是不是应该加一个动画,而且告诉用户进度」,
「为什么就只有上面那一个边」, 「报告页里面的 UI 不是重新设计了吗?为什么没有应用上」.
- The list GET reads section rows and the job phase for generating reports
and returns stage + finished/total, computed with the waiting screen's own
describeReportProgress (never a percentage, DESIGN.md · 报告生成等待态). A
failed progress read leaves the list unchanged.
- A generating row shows the app's chart-draw motion in its icon slot (also on
phones), 「已完成 N / M 章」 and one cell per chapter along the bottom.
- 过往的报告 is one bordered card like the 年运 row; hairlines only between rows.
- 生成报告 opens the report already being written (「查看生成进度」) instead of
meeting 「已有报告正在生成中」.
- Reader direction A, the part BUG-1631 left out: the report opens on a cover
(kicker, 「名字的星盘」, birth and generated line, AI notice, hairline); the
bar names the person. The generating page's bar gets ‹ 我的报告.
Four source-literal tests updated with 原值/新值/原因.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyeZrYn6ryNcSe5Y2Y
- BUG-1661: Avastha states were translated by the general glossary, which had
Young as 青年期 and Youth as 壮年期 (the calculator says 少年期 / 青年期) and
left Old, Dina, Sabha and others in English ("Deep 睡眠"). One table taken
from the calculator's enum comments now names them in the report body, the
appendix and the frontend fact table. The Python export also uses a comma
for simultaneous Deeptadi states in English (BUG-1391 fixed only the
frontend).
- Nakshatra dasha context: natal Moon nakshatra, the current MD and AD lords'
nakshatras and Taras, and the nakshatra of each AD lord in the MD. Both
Ashtottari applicability rules are listed; when they disagree the report
says no ruling has been made.
Frontend: report-fact-tables.test.ts assertions updated with 原值/新值/原因.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyeZrYn6ryNcSe5Y2Y
- BUG-1660: the six Shadbala columns used generic labels (合计 / 内容 / 分数 /
年数 / 落座度数 / 容许天数). They are now Sthana, Dig, Kala, Cheshta,
Naisargika and Drik, with totals, the BPHS minimum and the ratio, plus Sthana
and Kala sub-part tables. Values are unchanged.
- Vimsopaka: per-varga dignity, points, weight and weighted score.
- Divisional mapping: per-varga sign, sign lord and sign-only dignity
(Moolatrikona inside vargas awaits BUG-1622, so it is not marked).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyeZrYn6ryNcSe5Y2Y
Product decision 2026-11-06: follow the upstream export for these tables.
- Lagna Kendradi: upstream profile kendradi_narayana_duration_candidate_v1
(Lagna sign, then kendra / panaphara / apoklima order, Narayana sign years,
the same years Drig uses). Major periods only; labelled as not checked
against a book example.
- Niryaana Shoola: sub-periods forward from the MD sign, twelve equal parts;
the research chapter adds the third level. Labelled: PVR gives no separate
rule, comparison only.
- Conditional dashas whose classical gate fails (Satabdika, Shodashottari,
Dwadashottari, Dwisaptatisama, Panchottari, Chaturshitisama) get a separate
reference copy with the existing standard-table profile. The reading's own
modules stay not_applicable, so consultation, convergence and
rectification are unchanged; the report states the unmet condition.
Tests that locked the old omissions are updated with 原值/新值/原因.
Pre-work ledger: notes from this session (restore, CRLF files, baseline failures).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyeZrYn6ryNcSe5Y2Y
Compared against the upstream customer export of 2026-11-05.
- BUG-1657: detected yogas carry the planets the rule bound (structured
evaluators, solar/lunar rows, loop-free custom expressions via AST; an
`or` over different planets names nobody). The report lists participants
and current-Dasha overlap instead of 未判定.
- BUG-1658: the dated transit table reads transit_positions, so all nine
bodies have sign, degree, speed and retrograde.
- BUG-1659: Navamsha AD durations, current convergence (12 houses), Pancha
Pakshi and Rashi Tulya Navamsa are put on the worksheet and rendered;
Pancha Pakshi uses the birth weekday instead of always Sunday.
- Opening: timeline (next PDs, Narayana current period) and career /
finance / relationship evidence (house lords, AmK/DK, A10/UL, D10/D9/D2/D11)
under 「重点」, then a reading guide. The focus card stays under the title
(BUG-1316).
- Traditional supportive practices are wired to the remedies module (reference
only, mistranslations fixed, duplicate table removed).
- Appendix: Argala per-source detail, nakshatra reference with lord, gana,
degree and KP sub-lord, and verified calculation notes.
tests/test_full_data_parity_chapters.py: the four "public gap" sections now
must carry real cells (原值/新值/原因 in the test).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyeZrYn6ryNcSe5Y2Y
The full reading and the dasha registry called the Kalachakra module without
the Moon longitude, so BUG-1487's PVR ch.24 sign periods never ran in the
product. The report printed the legacy approximation (planet lords, 7..18
years) under a "simplified model" label.
Both callers now pass the Moon longitude. The dasha family carries
method_profile. Classical results keep their own AD/PD rows instead of the
rotated simplified table, and the reader and research tables list signs.
The PyJHora comparison was rerun: majors now agree, sub-period division still
differs (documented).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyeZrYn6ryNcSe5Y2Y
48 public figures not in the development set; kept the 36 with Rodden AA or
A on Astrotheme. Ratings, sources, birth dates and times re-checked against
the raw pages (all match); 129 of 133 day-precise event dates found verbatim
on their source page, 4 marked derived_needs_review. Draft only: no annual
facts were run for these people, and they are not admitted or frozen.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
From yinduzhanxing branch codex/local-web-verification-20261026 (remote SHA checked):
- kernel: a 180-degree opposition keeps its 180 target (it was matched as 0);
exact and equal-speed states are no longer called applying or separating
- named-yoga authority rows carry source_review_status and
factor_promotion_allowed: false; the annual year-chart layer honours the
flag, so no Tajika yoga (Ithasala / Easarapha included) becomes a factor
- the five annual oracle cases go back to template_only (archived text kept);
the dashboards no longer claim annual closure
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyn7Hj3LCW3BUs5bZ8
Every save keeps a record (chart_choice_records via chart_choice_adopt_v3);
the page opens on the current result with its time scale and the history
list, a past record can be adopted again while the birth declaration is
unchanged. Comparison cards are all open with a 60px mini chart per side
following the north/south board setting. Saving shows one toast.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXozbkyFNqbu8pVEtZ7W