Files
Jyotisha/docs/research
ClaudeandClaude Opus 5.5 d4cde02e6f fix(shadbala): fold the Dig Bala arc (BUG-1270) and make Drik Bala deterministic (BUG-1576)
Dig Bala took |powerless point - planet| / 3 without folding arcs above
180 degrees, so 35 of 140 values on the 19 benchmark charts plus Steve Jobs
exceeded the 60 Virupa maximum (up to 98.98). BPHS 27.7 ("hitva
shadbhadhike sati"; Santhanam: "If the sum is above 180 degrees, deduct the
sum from 360") and Raman, Graha and Bhava Balas section 44-45, Ex. 14-15
(Kuja arc 167 05, Digbala 55.70) both fold. PyJHora's default _dig_bala has
the same unfolded formula, which is why the comparison always "matched";
its own _dig_bala_another, VedAstro source, jyotishganit and saravali fold.
After the fix all 140 values equal PyJHora _dig_bala_another.

Drik Bala summed the aspecting planets in set order. Each Sphuta value is
already rounded to 0.01, so the quarter often sits on a .xx5 edge and the
result moved by 0.01 with PYTHONHASHSEED. Sum whole hundredths in sorted
order and round the quarter half away from zero; 14 of 140 values move by
0.01. Formulas, tables and benefic/malefic classification are unchanged.

New tests lock Raman's Standard Horoscope Ex. 13 (Sthana), Ex. 15 (Dig)
and Ex. 55 (Drik), the fold bounds, and seed-independent Drik. Updated
expectations: test_shadbala_precise_context (PyJHora default Dig carried
the bug) and the Jobs Moon total in test_shadbala_moon_paksha_convention.

shadbala.py is in the rectification frozen identity, so per ERR-110 both
fixes were frozen and replayed once as audit_j_2026_11_04. Compared field
by field with moon_paksha_2026_11_04: sealed holdout 20/20 and reported
offset 900/900 identical, metrics and summary unchanged.

Also records BUG-1575 (jyotish_engine MOOLATRIKONA gives the Moon Taurus
0-3; investigating, not changed).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXoyeZrYn6ryNcSe5Y2Y
2026-11-04 16:57:16 +08:00
..

Research Workspace

This directory stores research notes, audits, benchmark packets, and active adjudicator iteration records for the Jyotish project.

Layout

  • active/
    • reserved for current working research fronts that directly support the next implementation cycle
  • archive/
    • historical round notes, sidecar work orders, and local draft research that should not clutter normal implementation work
  • top-level docs/research/*.md
    • current canonical research notes that are still referenced by active engineering work

What Stays Top-Level

Keep a research file at the top level only if at least one of the following is true:

  • it is referenced by an active implementation spec
  • it is referenced by tests, workflow docs, or benchmark dashboards
  • it captures a currently active adjudicator audit or closure board

What Moves To Archive

Move a research file into archive/ when:

  • it is a completed round log or sidecar work order
  • it is a local exploration draft with no active code dependency
  • it is superseded by a newer audit, dashboard, or implementation note

Current Working Rule

When adding new research notes:

  1. put active, decision-driving notes at the top level
  2. move noisy round-by-round drafts into archive/
  3. avoid storing transient terminal captures or scratch outputs here