Yoga/Dosha Pack parashari-core@1 — Specification (V-12)
Status: Draft specification · Task: V-12
· Updated: 2026-10-25 · Implements: a pack for the existing @astrology/vedic evaluator.
The first named pack of yogas (named planetary combinations) and doshas (named afflictions). It deliberately holds three rules, each written in the evaluator’s existing
condition vocabulary, so it runs today on supplied chart facts. Every element where sources
disagree is either a named variant or listed as excluded; nothing contested is silently chosen.
The pack ships as draft until a reviewer confirms each row against a named primary edition (§5).
1. Rules
House counts are whole-sign (each sign is one house) and inclusive (the reference sign is house 1), as in the evaluator’s
house condition. All facts come from the snapshot (Binder signs, lagna, the rising sign) or the supplied
chart-judgment result.
| Id | Kind | Condition | Cancellations |
|---|---|---|---|
yoga.gajakesari |
yoga | Jupiter in house 1, 4, 7 or 10 counted from the Moon | none |
yoga.budhaditya |
yoga | Sun and Mercury in the same sign | none |
dosha.kuja |
dosha | Mars in house 1, 2, 4, 7, 8 or 12 counted from the lagna (YD-V1) | dosha.kuja.own-sign |
dosha.kuja.own-sign |
cancellation | Mars dignity is own or moolatrikona (Aries, Scorpio) |
— |
Pack payload (validated by validateYogaDoshaPack):
{
"id": "parashari-core", "version": "1", "source": "V-12 draft; see §5",
"rules": [
{ "id": "yoga.gajakesari", "kind": "yoga", "cancellations": [],
"condition": { "kind": "house", "body": "jupiter", "houses": [1, 4, 7, 10], "from": "moon" } },
{ "id": "yoga.budhaditya", "kind": "yoga", "cancellations": [],
"condition": { "kind": "conjunct", "bodies": ["sun", "mercury"] } },
{ "id": "dosha.kuja", "kind": "dosha",
"condition": { "kind": "house", "body": "mars", "houses": [1, 2, 4, 7, 8, 12], "from": "lagna" },
"cancellations": [{ "id": "dosha.kuja.own-sign",
"condition": { "kind": "dignity", "body": "mars", "states": ["own", "moolatrikona"] } }] }
]
}
Requirements derived by packRequirements: lagna and judgments. The engine therefore needs a
house observer and runs chart judgments; it never runs drishti (Vedic aspects) for this pack.
2. Named variants
| Id | Variant | Options in sources | v1 choice |
|---|---|---|---|
| YD-V1 | Kuja dosha houses | 1, 2, 4, 7, 8, 12 (most common); 1, 4, 7, 8, 12 (2nd omitted, attributed to Parashara); some omit the 1st | 1, 2, 4, 7, 8, 12 |
| YD-V2 | Kuja dosha reference | Lagna only; also from Moon and Venus | Lagna only |
A different option is a different pack version (for example parashari-core@2 with YD-V1 =
1, 4, 7, 8, 12); the engine never switches variants per request.
3. Deliberately excluded
| Element | Why excluded from v1 |
|---|---|
| Gajakesari from the lagna; “joined or aspected by a benefic”; void when Jupiter is debilitated, combust or in an inimical sign | Attributed to BPHS ch. 36 by one secondary summary only; most sources give the Moon-only form. Combustion and sign-lord relationship also need new condition kinds |
| Budhaditya “Mercury not combust” | Orb disputed (5°, 12° or 14°); at 12–14° it would cancel the yoga in most charts, so it changes the rule’s meaning |
| Other Kuja dosha exceptions (Jupiter conjunction, Rahu conjunction, sign-specific houses, mutual dosha between partners) | Lists conflict widely; one source warns that with all exceptions no chart keeps the dosha. Mutual dosha is a matching rule, not a single-chart one |
| Interpretation, remedies, intensity scores | Out of scope for the engine |
4. Fixtures
Charts use whole-sign houses with the lagna in Aries (5°) unless stated. The judgment table must
give Mars own (domicile) in Scorpio and moolatrikona in Aries 0–12°.
| Id | Facts | Expected |
|---|---|---|
| YD-F1 | Moon 10° Aries, Jupiter 10° Cancer | yoga.gajakesari present (house 4 from Moon) |
| YD-F2 | Moon 10° Aries, Jupiter 10° Taurus | yoga.gajakesari absent (house 2) |
| YD-F3 | Moon 29.99° Aries, Jupiter 0° Libra | Present (house 7); signs, not degrees, decide |
| YD-F4 | Sun 20° Leo, Mercury 2° Leo | yoga.budhaditya present |
| YD-F5 | Sun 29° Leo, Mercury 1° Virgo | Absent: different signs despite 2° separation |
| YD-F6 | Mars 10° Libra (house 7), dignity neutral | dosha.kuja present, not cancelled |
| YD-F7 | Mars 10° Scorpio (house 8), dignity own |
Present and cancelled by dosha.kuja.own-sign; the dosha stays in the result |
| YD-F8 | Mars 10° Gemini (house 3) | Absent |
| YD-F9 | Position-only snapshot (no lagna) | dosha.kuja unavailable with missing lagna; Gajakesari and Budhaditya still evaluate |
| YD-F10 | Mars in house 7, no judgment result supplied | Dosha present; cancellation unevaluated, missing: ["judgments:mars"] |
| YD-F11 | Moon absent from the snapshot | Gajakesari unavailable with missing position:moon |
5. Review gate and sources
Before status becomes reviewed, a reviewer records one named edition per row in the rulebook
manifest. Candidates: Phaladeepika ch. 6 (Gajakesari), BPHS ch. 36 (Moon yogas), and a named text
for Kuja dosha (Maanasaagari is cited by secondary sources; BPHS attribution is disputed).
Evidence consulted (all secondary, 2026-10-25):
- Gajakesari: Paramarsh BPHS ch. 36 summary, Panchangbodh, Anvaya Jyotish.
- Budhaditya: AstroMedha, Dekho Panchang.
- Kuja dosha: Hora Sarvam exceptions, Vijay Alur, Jagannath Hora cancellation rules.