Commit Graph
3046 Commits
Author SHA1 Message Date
Jesse_ChenandClaude Opus 5.5 c76fdda7ab refactor(consult): chat binds the method's truth boundaries, not the engine manual (BUG-1256 step 2)
Independent Staging Quality Gate / validate (push) Successful in 14m35s
Independent Staging Quality Gate / publish (push) Successful in 3m37s
The method block bound into every chat turn quoted most of SKILL.md (benchmark
scores, CLI flags, oracle queues, file paths) plus the shared method, whose
output contract asks for JSON verdicts, A/B/C/D confidence, audit tables, raw
data and web verification - the opposite of the chat shape. Chat now quotes
only the truth-boundary sections and adds CHAT_METHOD_BOUNDARIES for the
limits from the dropped sections it still has to keep. SKILL.md and the shared
method file are unchanged for reports and skill_read.

Natal system prompt 55,242 -> 26,591 characters. DeepSeek A/B on public
golden charts (flash 10 questions): input 24,560 -> 14,025 tokens, 37.8 ->
30.3 s, no regression in automatic checks or reading; a high-rigor request
still says plainly that no external check was done. Full suite 4970 / fail
24, identical to b8385adb; build keeps / Static.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-07 08:48:04 +08:00
Jesse_ChenandClaude Opus 5.5 6a372bc3a8 refactor(consult): state the answer shape once in the natal prompt (BUG-1256 step 1)
The English shape summary sat in the system prompt four times (contract,
index, natal heading rule, skill skeleton) and the contract restated the
Chinese ANSWER SHAPE point by point. Keep the summary in the contract only and
drop the restatements; the Chinese ANSWER SHAPE stays the one full statement.
General answer-policy bullets no longer sit under the reference_transparency
header.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-07 08:36:05 +08:00
Jesse_ChenandClaude Opus 5.5 d40febcd95 docs(bugs): record staging deploy of BUG-1255 (b8385adb)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-07 08:13:58 +08:00
Jesse_ChenandClaude Opus 5.5 b8385adbfe feat(consult): warm older-sister voice; read feelings within three rules (BUG-1255)
Independent Staging Quality Gate / validate (push) Successful in 14m48s
Independent Staging Quality Gate / publish (push) Successful in 3m29s
Product 2026-10-07: the answer voice becomes a knowing, gentle older sister,
matching the homepage greeting, and may read feelings: after the answer, one
sentence, with 可能 / 多半, never a guess stated as fact or a question
rewritten into a need; another person's feelings need chart evidence and only
on an unafflicted line (afflicted lines keep the range rule, BUG-1182).
Overturns the feelings part of BUG-1070.

Also removes rules that contradicted the answer shape: 'restate the same
constraint', the rectification 'say progress' line, 'answer concisely', and
'every time say what to do' (now only when things are hard).

Full suite 4969 / fail 24, identical to 52d14e8f; tsc 0; lint 0 errors;
build keeps / Static, first-load gzip unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-07 07:53:39 +08:00
Jesse_ChenandClaude Opus 5.5 6f2b173cad docs(bugs): record staging deploy of BUG-1252~1254 (52d14e8f)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-06 23:49:43 +08:00
Jesse_ChenandClaude Opus 5.5 52d14e8fef fix(test): wait for a PostgreSQL fixture slot while the queue moves (BUG-1254)
Independent Staging Quality Gate / validate (push) Successful in 14m10s
Independent Staging Quality Gate / publish (push) Successful in 4m3s
The slot wait was a fixed 5 minutes from the moment a file started queueing.
With 46 fixture files sharing 2 slots the queue outlasted that, so whichever
file came last failed the gate at random (runs 1742 and 1746). The deadline
now restarts whenever a slot changes hands; only 10 minutes with no slot
changing hands (a hung holder) fails. The 2-slot cap from BUG-281 stays.

Full suite 4967 / fail 24, identical to 171a3f25; tsc 0; lint 0 errors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-06 23:21:48 +08:00
Jesse_ChenandClaude Opus 5.5 fe9d03a9b7 docs(bugs): BUG-1254 gate flake — PostgreSQL fixture slot wait times out
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-06 23:12:01 +08:00
Jesse_ChenandClaude Opus 5.5 171a3f25ac fix(consult): plain wrapping for answer prose; stop reading the analysis checklist aloud
Independent Staging Quality Gate / publish (push) Canceled after 0s
Independent Staging Quality Gate / validate (push) Canceled after 12m33s
BUG-1252: answer prose drops text-wrap: pretty. WebKit (every iPhone browser)
applies it to the whole paragraph, so lines came out evenly short with a blank
strip on the right and every streamed character re-broke the lines above.

BUG-1253: the condensed checklists and shared reading open with an
analysis-only note; PLAIN_SPEECH_RULE (one definition) tells the writer not to
quote layer names, signal counts, rules or house-counting, caps evidence in
brackets at two, and gives everyday words for card fields with no Chinese name
(no coined names like 合力星). Marriage layers become everyday wording; career,
wealth and health say not to announce layers.

Full suite 4966 / fail 24, identical to baseline d2c22ca2 (4962 / 24); build
keeps / Static; first-load gzip unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-06 20:19:50 +08:00
Jesse_ChenandClaude Opus 5.5 d2c22ca206 docs(bugs): record staging deploy of BUG-1244/1245 (e62d0a32)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-06 17:16:04 +08:00
Jesse_ChenandClaude Opus 5.5 a2bc9f6726 docs(tasks): brief for rectification in chat, step 1 (BUG-1247~1251)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-06 16:17:29 +08:00
Jesse_ChenandClaude Opus 5.5 e62d0a3257 fix(rectification): match the delivery inside the acknowledged reply (BUG-1241)
Independent Staging Quality Gate / validate (push) Successful in 14m30s
Independent Staging Quality Gate / publish (push) Successful in 3m52s
The answered choice persists the acknowledgement, a blank line, and the
rewritten delivery. The exit fill-in required equality and wrote the
deterministic delivery again. Check containment instead, and pin it on the
real answer path. The suspected widen staleness regression did not hold;
keep a guard test.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-06 16:14:24 +08:00
jesse-uxandJesse_Chen 6e16dc5e16 fix(rectification): keep one delivery and adopt with the birth date
Accept and GET now decide with the same birth snapshot as the answer, so an under-age probe cannot flip can_adopt. The exit skips a second write when this reply already delivered. The card stays without an adopt button when adoption is not allowed, and a refusal shows the Chinese sentence.
2026-10-06 16:03:57 +08:00
Jesse_ChenandClaude Opus 5.5 da226db1d4 fix(consult): blank-line paragraphs, drop the H2 contract line, remove the assistant avatar
Independent Staging Quality Gate / validate (push) Failing after 18m5s
Independent Staging Quality Gate / publish (push) Skipped
Acceptance fix for 28113fa0 (TASK-consult-conversational-answer-fix-20261006):
- F1: chat-answer-detail no longer pins 'Every H2 must start its own line'
  (first turns carry no H2), assertion change noted in three columns.
- F2: Good examples separate paragraphs with a blank line and the shape says
  so; .message p is pre-wrap, so a single newline only wraps.
- Product request: remove the assistant avatar on every surface (consult,
  rectification, onboarding); --assistant-content-inset back to 0px.

Full suite 4941 / fail 24, identical to baseline 86cafe68 minus a timing flake;
build keeps / Static; first-load gzip -0.1%.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-06 15:58:40 +08:00
jesse-uxandJesse_Chen 5a589a9058 fix(consult): write the first turn as chat, not a sectioned report
Ordinary consult first turns drop Markdown headings and the required
action list. People are named in the paragraph, and pinned examples no
longer contain copyable advice. BUG-1244, BUG-1245.
2026-10-06 15:58:40 +08:00
Jesse_ChenandClaude Opus 5.5 6d28298226 docs(tasks): drop the screenshot date from the dup/adopt brief
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-06 13:57:53 +08:00
Jesse_ChenandClaude Opus 5.5 2799c53ce0 docs(tasks): acceptance fix sheet for duplicate delivery and widen staleness (BUG-1241, BUG-1246)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-06 13:57:36 +08:00
Jesse_ChenandClaude Opus 5.5 4ecf8ee556 docs(tasks): acceptance fix sheet for conversational first-turn answers (BUG-1244)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-06 13:49:35 +08:00
Jesse_ChenandClaude Opus 5.5 86cafe6845 docs(tasks): brief for conversational first-turn answers (BUG-1244~1245)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-06 12:45:46 +08:00
Jesse_ChenandClaude Opus 5.5 65b61ed523 docs(tasks): brief for duplicate delivery turn and refused adoption (BUG-1241~1243)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-06 11:52:09 +08:00
Jesse_ChenandClaude Opus 5.5 e3f3a1fcde docs(research): accept nadi second-level falsification study (BUG-1240)
Independent Staging Quality Gate / validate (push) Successful in 26m35s
Independent Staging Quality Gate / publish (push) Successful in 4m3s
Normalize results JSON to LF (content identical to the Windows run),
add close-ayanamsa N4 supplement, record acceptance.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-05 23:26:20 +08:00
jesse-uxandJesse_Chen 9abf2da5f9 research(rectification): nadi second-level study fails the preregistered gates (BUG-1240)
N1, N2, N3, and N5 do not pass. Switching ayanamsa moves level-5 lords and
equal-division D150 past the 20% wording line. Two full runs are byte-identical.
No production scoring change. closed_by_design.
2026-10-05 23:26:13 +08:00
jesse-uxandJesse_Chen b64b590a99 research(rectification): preregister nadi second-level rules before v5 (BUG-1240)
Lock the N1–N5 rules, grids, placebos, seeds, and gates before the first
scoring run on the public v5 cases. Later changes cannot decide the gate.
2026-10-05 23:26:05 +08:00
jesse-uxandJesse_Chen a855512ecc research(rectification): put scripts on the path before nadi imports (BUG-1240)
Running the study as a file does not put scripts/ on sys.path, so the
production chart imports failed before any scoring. The library inserts
that directory itself. No rule or threshold changed.
2026-10-05 23:26:05 +08:00
jesse-uxandJesse_Chen c40f23c20e research(rectification): nadi second-level study helpers and N0 checks (BUG-1240)
Five-level Vimshottari and equal-division D150 helpers, plus a runner that
refuses to score until the preregistration file exists. First three lords
match the production chain on the v5 events. No production files changed.
2026-10-05 23:26:05 +08:00
Jesse_ChenandClaude Opus 5.5 45ec6e55a1 docs(tasks): accept consult latency quickwins (BUG-1231/1232)
Independent Staging Quality Gate / validate (push) Successful in 14m12s
Independent Staging Quality Gate / publish (push) Successful in 3m38s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-05 08:38:12 +08:00
jesse-ux 137ed6f408 fix(consult): stop the consult-gate VedAstro wait and record step timing
Consult turns reuse a same-day official snapshot inside the rectification gate, or record deferred_in_consultation instead of starting another 4-second snapshot. Classification, step 0, step 1, and the time to the first answer character go into the existing usage metadata and a new admin usage column.

BUG-1231, BUG-1232
2026-10-05 02:33:36 +08:00
Jesse_ChenandClaude Opus 5.5 4c64733f91 docs(tasks): nadi second-level rectification falsification research brief (BUG-1240)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-05 00:31:23 +08:00
Jesse_ChenandClaude Opus 5.5 853772bcea docs(tasks): consult latency quick wins (no 4s VedAstro wait in consult gate; per-step timing)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-05 00:24:25 +08:00
Jesse_ChenandClaude Opus 5.5 1252de3e63 fix(frontend-tests): expand test files in run-tests.mjs so Node 20 still runs the suite (BUG-1230)
Independent Staging Quality Gate / validate (push) Successful in 26m0s
Independent Staging Quality Gate / publish (push) Successful in 5m15s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-04 23:22:08 +08:00
jesse-ux 2c64b66423 fix(gate): keep quality-gate logs readable (BUG-1230)
Summarize successful steps, print the failing check and error text,
and split the validate job into seven steps. Local npm test stays TAP.
2026-10-04 22:58:17 +08:00
Jesse_ChenandClaude Opus 5.5 06bfae92d8 docs(tasks): gate log volume (quality-gate summary, CI test reporter, split validate step)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-10-04 21:58:34 +08:00
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