Daily Sankramana assignment
panchangam.sankramana-day
Exact solar ingress is assigned to a Panchangam day with the project's after-sunset convention.
Assurance
| Level | Current statement |
|---|---|
| Documented and traceable | Yes — the canonical record includes the process and a worked example. |
| Regression or reproduction checked | Linked to 2 repository test file(s). |
| Independently source-supported | Not recorded as independently verified. The disclosed provenance state remains authoritative. |
Computation method
Method type: algorithm
Detect a solar-sign change across today's daylight or after yesterday's sunset, bisect the exact 30-degree crossing with the selected engine Sun, and assign after-sunset ingress to the following Panchangam day.
Process
- Compare Sun-sign indices at today's sunrise and sunset.
- If they differ, bisect the engine Sun between sunrise and sunset at the entered sign's boundary.
- Otherwise compare yesterday's sunrise and sunset with today's sunrise.
- When the sign changed after yesterday's sunset, bisect in [yesterday sunset, today sunrise] and assign it to today.
- Return no event when neither condition holds.
Worked example
Hyderabad, 2026-06-15, Drik Ganita
Inputs
- Sunrise: 05:41:40 IST
- Sunset: 18:51:22 IST
- Sun changes from Vrishabha to Mithuna during daylight
Calculation
- Sunrise and sunset sign indices differ.
- Bisect Drik Sun longitude at 60 degrees between sunrise and sunset.
Result
- Entered Rashi: Mithuna
- Ingress JD: 2461206.8076462564; local time 12:53:00 IST; assigned to 2026-06-15
Method notes
- Day assignment is a convention separate from the astronomical crossing instant.
Contract
Owning layer: engine-core
Claim kind: regional-convention
Time basis: Ingress after local sunset is assigned to the next Panchangam day.
Inputs
- sunrise
- sunset
- solar longitude crossing
Outputs
- entered Rashi
- ingress Julian day
- Sankranti flag
References and evidence
Evidence classes: astronomical, regional_convention
Verification states: needs_locator
Crossing code is tested; day-assignment semantics need exact locator evidence.
panchangam.calendar_semantics
Evidence class: textual
Verification state: needs_locator
Locator: No precise locator is registered.
Scope: Samvatsara, Ayana, Ritu, lunar-month, Paksha, weekday and Rasi labels combine astronomical calculations with calendar rollover conventions. They require criterion-level locators and regional-scope notes; astronomical correctness alone does not verify the naming convention.
Sources
- Muhurtha (Electional Astrology) — B. V. Raman; UBS Publishers' Distributors, 1993, ISBN 9788185674681, 181 catalogued pages; authority type:
modern_synthesis
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-librarymcpicswebsite
Limitations
- Day assignment is conventional and distinct from the astronomical crossing instant.
Implementation
- owner:
telugu_panchangam/engines/base.py—PanchangamEngine._sankramanam_name_and_jd
This route is generated from computations.json. Edit the registry and canonical reference prose in the same pull request as a behavior change.