Vedākṣha v2.0.0 shipped a full ephemeris and the core Jyotish layer — nakshatras, dashas, vargas, yogas, Shadbala, Drishti. v2.1.0 closes the gap on four primitives that any serious agent or product needs: combustion detection, Ishta/Kashta Phala, Ashtakavarga, and Jaimini Chara Karakas.
All four are sourced to specific verses of the Brihat Parashara Hora Shastra. Implementation cites chapter and verse directly so the lineage of every formula is traceable.
1 · Combustion orbs (BPHS Ch.7 vv.28-29)
A planet too close to the Sun is said to be combust — its significations are scorched. The classical orbs are not symmetric and are not the same for direct and retrograde motion. Vedākṣha now ships the per-planet table directly from BPHS Ch.7:
Planet Direct Retrograde Moon 12° — Mars 17° 8° Mercury 14° 12° Jupiter 11° 11° Venus 10° 8° Saturn 16° 16°
The API returns one of three states — None, Combust, or DeeplyCombust — together with the exact angular separation from the Sun. Deep combustion is defined as separation under orb / 3, which is a modern convention rather than a BPHS-literal rule and is labeled as such in the source.
Sun, Rahu, and Ketu always return None. The MCP tool is compute_combustion; the WASM binding has the same name.
2 · Ishta and Kashta Phala (BPHS Ch.28 vv.5-6)
Shadbala measures planetary strength on the 0-60 virupa scale. Ishta-Phala (good effects) and Kashta-Phala (ill effects) sit on top of Shadbala and answer a different question: not how strong a planet is, but how favorably or unfavorably that strength manifests.
BPHS Ch.28 v.5 gives the literal formula in the Rasmi (ray) scale of 0-7:
ishta_phala = 5 × (uchcha_rasmi + cheshta_rasmi − 2) kashta_phala = 60 − ishta_phala
Rasmis are computed as a linear transform of the existing virupa values — v × 7 / 60 — so no new astronomical computation is introduced. Both phalas land on the 0-60 virupa scale to match the rest of the Shadbala output. The Ishta value is clamped to [0, 60] against floating-point edge drift, with the complement identity kashta = 60 − ishta preserved by construction.
Because Ishta and Kashta are pure functions of two existing Shadbala components — Uccha-Bala and Cheshta-Bala — they are now stored fields on every Shadbala result rather than gated behind a separate call. The new compute_shadbala MCP tool surfaces the entire structure including the new uccha_bala, ishta_phala, and kashta_phala fields.
3 · Ashtakavarga (BPHS Ch.66 vv.13-68)
Ashtakavarga is a transit-strength scoring system. For each of the seven planets, eight contributors — the seven planets plus the Lagna — vote on which signs they consider favorable. The contributor casts a bindu (point) when the target falls in one of its favorable houses-from-self. Per-planet totals are fixed by the rules and serve as a correctness gate:
Sun: 48 bindus Moon: 49 bindus Mars: 39 bindus Mercury: 54 bindus Jupiter: 56 bindus Venus: 52 bindus Saturn: 39 bindus ───────────────── Sarva: 337 bindus (sum of the 7 planet tables; Lagna is a contributor, not a target)
These canonical totals are invariant under any permutation of the input positions, which makes them the natural correctness gate. The full BPHS bindu matrices are encoded as bitmasks; flipping a single bit in the wrong direction is detected immediately because the planet total no longer matches its canonical value. Unit tests assert each total on every build.
v2.1.0 ships Bhinna Ashtakavarga (raw per-planet tables) and Sarvashtakavarga (the per-sign sum across the seven planet tables). The downstream rectifications described in BPHS Ch.67-69 operate on top of the raw tables you get today.
The MCP tool is compute_ashtakavarga. Input is eight sign indices (the seven planets and the Lagna). Output is the seven per-planet tables plus the 12-element Sarvashtakavarga vector.
4 · Jaimini Chara Karakas
The Chara Karaka system from the Jaimini school assigns role significators — Atmakaraka (soul), Amatyakaraka (minister), and the rest — by ranking planets by degrees-within-sign. Highest degree wins Atmakaraka; lowest wins Darakaraka.
Two schemes are supported. The 7-karaka scheme uses Sun through Saturn. The 8-karaka scheme adds Rahu (using 30° − degree-within-sign because Rahu moves backwards) and inserts Pitrikaraka into the role list. Vedākṣha exposes both via the same compute_karakas tool, switched by a scheme parameter.
The implementation is a strict ranking on degrees within the planet's current sign — no longitudinal magic, no implicit sidereal conversions inside the function. The longitudes you pass in are used as-is, which means any ayanamsha you have already applied at the chart level is the ayanamsha used here.
What changed across the surface area
Everything below is additive. v2.1.0 is a minor release; existing v2.0.0 callers do not need to change a line.
Calling the new tools
A minimal MCP request for a Sarvashtakavarga reading on a sample chart looks like this:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "compute_ashtakavarga",
"arguments": {
"sun": 3, "moon": 7, "mars": 1,
"mercury": 10, "jupiter": 5,
"venus": 8, "saturn": 11,
"lagna": 0
}
}
}The response carries seven AshtakavargaTable objects and a 12-element sarvashtakavarga vector indexed by zodiac sign. An agent can read the vector directly to identify the strongest signs for transits.
Upgrade: cargo update -p vedaksha · Tool catalog: /docs/mcp · Vedic features: docs.rs/vedaksha-vedic