# Varga engine validated against the reference application

Computed our D-n sign for twelve bodies from their captured longitudes and
compared with the application's own "Rasis occupied in all vargas" table.

    D-1  12/12   D-9  12/12   D-3  12/12   D-4  12/12   D-7  12/12
    D-10 12/12   D-12 12/12   D-16 12/12   D-20 12/12   D-24 12/12
    D-27 12/12   D-30 12/12   D-40 12/12   D-45 12/12   D-60 12/12

**Fifteen of sixteen divisional charts agree on every body.** Not a sample --
every body the application shows, in every division our engine implements.

D-2 was the exception, and it was not a defect. The application's own column
header says `D-2 (US)`: it is running the Uma Shambhu scheme, while
`varga_lib`'s `varga_d2` is Parasara's. Testing every D-2 scheme in
`varga_schemes_lib` against the captured column:

    vs_d2_parasara            2/12
    vs_d2_parivritti_dwaya    5/12
    vs_d2_uma_shambhu        12/12   <- match
    vs_d2_samasaptaka         0/12
    vs_d2_mandooka            0/12
    vs_d2_labha_mandooka      0/12
    vs_d2_jagannatha          3/12

`vs_d2_uma_shambhu` matches all twelve and no other scheme comes close.

## Why this matters beyond the reassurance

It establishes the **identification method** for the eleven schemes we have
never had a rule for. A scheme is a function of (sign, degree); the captured
table gives eighty-odd such pairs at once. Switch one scheme in Preferences,
re-copy the table, and test every candidate against it. The right candidate
hits every row; the wrong ones scatter, as the seven D-2 schemes above show --
the spread between 12 and 5 is not a near miss, it is a different rule.

Where no existing candidate matches, the eighty pairs are themselves the
specification, and the rule can be read off their structure rather than
guessed.

Two D-2 readings also now have a name and a test each, which settles a question
`varga_schemes_lib` had left as an option: the reference application's default
is Uma Shambhu, not Parasara.
