Graha Yuddha periods
calendar.graha-yuddha
Planetary-war entry, closest approach, victor, and exit are derived for tara graha pairs.
Assurance
| Level | Current statement |
|---|---|
| Documented and traceable | Yes — the canonical record includes the process and a worked example. |
| Regression or reproduction checked | Linked to 1 repository test file(s). |
| Independently source-supported | Not independently verified at this level; current behavior is regression-pinned. |
Computation method
Method type: algorithm
Scan every selected Tara-graha pair for geocentric longitude separation below one degree, refine threshold crossings and closest approach, then choose the more northerly planet as victor.
Process
- Generate unordered pairs from Mercury, Venus, Mars, Jupiter, and Saturn.
- Scan at six-hour steps from 120 days before the range through 60 days after it.
- When angular separation crosses one degree, bisect the entry or exit with 44 iterations.
- Ternary-search the enclosed interval for minimum separation.
- Compare ecliptic latitudes at that instant; the greater latitude wins, and retain only periods overlapping the requested range.
Formulae
War admission
delta = min(abs(lambda_1-lambda_2) mod 360, 360-(abs(lambda_1-lambda_2) mod 360)); in_war = delta < 1 degree- lambda_1, lambda_2: geocentric ecliptic longitudes
Worked example
Venus-Jupiter, June 2026
Inputs
- Range: 2026-06-01 through 2026-06-30
- Pair: Venus and Jupiter
Calculation
- The scan brackets entry and exit at the one-degree threshold.
- Minimum longitudinal separation rounds to 0.000 arcminutes.
- Venus has the greater ecliptic latitude at closest approach.
Result
- Starts: 2026-06-08 19:18:54 UTC
- Exact: 2026-06-09 19:59:14 UTC
- Ends: 2026-06-10 20:43:12 UTC
- Winner: Venus; loser: Jupiter
Method notes
- Ayanamsa cancels in pairwise longitude difference, so the implementation uses tropical coordinates for the separation search.
Contract
Owning layer: calendar
Claim kind: textual-rule
Time basis: UTC Julian-day numerical search.
Inputs
- date range
- planetary longitudes and latitudes
Outputs
- entry
- minimum separation
- exit
- winner
- loser
References and evidence
Evidence classes: astronomical, textual
Verification states: engine_pinned, needs_locator
Numerical boundaries are tested; the one-degree admission and latitude-victor rules need claim-level registry locators.
No registered claim ID; the provenance note below is the current disclosure.
The complete machine-readable source registry is available in provenance.json. A regression fixture or same-code reproduction is not independent verification.
Reproduce and review
Run the linked tests, then the complete offline contract:
python tools/verify_project.pyPublic surfaces
python-librarymcp
Limitations
- The result implements the project's documented one-degree and latitude rule, not every tradition's definition.
Implementation
- owner:
telugu_panchangam/graha_yuddha.py—graha_yuddha_periods
This route is generated from computations.json. Edit the registry and canonical reference prose in the same pull request as a behavior change.