Home › Vastu API › Validation Pack
A versioned corpus of 282 unique test cases across 23 families, with independent geometry expectations and separate verse or convention labels. Original inputs, expectations and disagreements are preserved.
Exact census: 282 inputs, 282 unique IDs, 23 families, zero exclusions. Five cases expect rejection and the remaining 277 expect successful product output; all 282 responses were scored. The strict checker has no unchecked cases.
219 passed; 63 differ from corpus expectations; 282 original cases; zero exclusions. All original inputs and expectations were retained. A case counts as passed only if the response matches its original expectation in every checked field.
tests/vastu-lab/q1_vastu_12/acceptance.py)
against https://api.vedika.io, with the checker and capture code at commit
67c107e2027c of the Vedika repository. That commit identifies the test code only.
The API's own deployed build is not observable from outside, so this run does not identify it.type field, so unchanged they return 400 where the corpus expects 200 (the first
pass over all 282 cases already scored 219 passed and 63 failed: 54 table
differences plus these nine 400 responses). The nine were re-sent with only type set to
underground, via a documented overlay in the repository
(overlay_water_storage_type.json). The original request and expectation are
preserved and each case is scored against the original expectation. The choice of
underground is ours; overhead was not run. After the re-run the
result is still 219 passed and 63 differ: the nine now return 200 and differ on the
forbidden-zone table like the other families.The 63 differences are in room-placement tables, nine cases in each of seven families. Every one of the 63 differs in the forbidden-zone table; 18 also differ in the ideal-zone table, and 18 also differ in the resulting verdict. Two store cases also differ in the citation label. The product columns below are what production returned; the corpus columns are the original expectations. Per-case differences are in the machine-readable result.
| Family with differences | Cases | Production output | Corpus expectation | Verdict also differs | Review finding |
|---|---|---|---|---|---|
| room/store | 9 | Ideal SW, NW; forbidden NE, CENTER, SE | Ideal NW; forbidden S, CENTER | 4 | Pack expectation conflicts with Brihat Samhita 53.118; product follows the verse. Pack correction pending. |
| room/pooja | 9 | Forbidden S, SW, SE, CENTER | Forbidden S, SW, CENTER | 1 | Conventional tables differ; no classical verse settles it. Both sides labelled convention. Differs only at south-east. |
| room/staircase | 9 | Forbidden NE, CENTER, N, E | Forbidden N, NE, CENTER | 1 | Conventional tables differ; no classical verse settles it. Both sides labelled convention. Differs only at east. |
| room/study | 9 | Ideal NE, E, W; forbidden SW, S, CENTER | Ideal NE, N; forbidden S, SW | 4 | Conventional tables differ; no classical verse settles it. Both sides labelled convention. Differs at north, east, west and the centre. |
| room/living | 9 | Forbidden SW, CENTER, S | Forbidden S, SW | 1 | Product marks the centre as a defect without verse or common-convention support. Product correction pending. |
| room/dining | 9 | Forbidden SW, CENTER, SE | No forbidden zone | 3 | Product marks south-east and the centre as defects without support; south-west is a convention choice. Product correction pending. |
| room/water-storage (type underground) | 9 | Forbidden E, SE, SW, S, W, NW, CENTER | Forbidden S, SW, W | 4 | Pack expectation conflicts with Brihat Samhita 53.119; product follows the verse. Pack correction pending. |
| Total differences | 63 | Zero excluded cases. | 18 | 18 / 27 / 18 by kind, below. | |
What the review found. Each of the 63 differences was reviewed source by source on 2026-10-18. They are not one kind of difference, and no single explanation covers all of them.
Sources. Only Brihat Samhita 53.118 and 53.119 (Iyer 1884) were checked word for word. The other sources in the review are secondary scholarship or unverified tradition, such as practitioner and property-site compilations. “Convention” on this page means unverified tradition, not a classical verse.
Next. After the corrections are made, a bounded live re-run will follow and this page will be updated. No date is promised. Until then the 63 cases stay in the count of differences; none is reclassified as a pass.
The south-west master-bedroom case passes with its convention label.
Not proven by this run: physical native devices; a customer-account run; the identity of the deployed API build; and that the planned corrections give the expected result, which a bounded live re-run must show.
| Family | Original cases |
|---|---|
| plot/shape | 19 |
| plot/ratio | 9 |
| entrance/pada | 33 |
| room/kitchen | 9 |
| room/bedroom | 36 |
| room/store | 9 |
| room/pooja | 9 |
| room/toilet | 9 |
| room/staircase | 9 |
| room/study | 9 |
| room/living | 9 |
| room/dining | 9 |
| room/water-storage | 9 |
| placement/well | 9 |
| placement/borewell | 9 |
| placement/septic-tank | 9 |
| placement/overhead-tank | 9 |
| placement/tree | 9 |
| placement/garden | 9 |
| placement/balcony | 9 |
| placement/window | 9 |
| placement/main-gate | 8 |
| mandala/project/9-zone | 24 |
| Total | 282 |
Geometry expectations use independent shoelace area, Sutherland-Hodgman clipping, centroid and compass-bearing arithmetic. Citation checks distinguish the passage supported by a verified edition from a convention extension. The archived 2026-10-03 runner covered only kitchen and bedroom among the ten room families; store, pooja, toilet, staircase, study, living, dining and water-storage account for its 72 cases without semantic checks. The strict checker used for the 2026-10-18 run checks every case.
A complete result needs all 282 recorded inputs, explicit status checks, nonempty successful output where expected, semantic and citation checks for every family, a serving identity, and numeric receipts reconciled with independent wallet snapshots. Missing or skipped cases remain failures or unproven evidence, never passes. The 2026-10-18 run meets these conditions except for serving identity: only the checker and capture code commit is recorded, not the API's deployed build.
Explained as a reference attribution error. The previous page attributed a south-west master bedroom to Brihat Samhita 53.118. That wording is unsupported. In N. Chidambaram Iyer's 1884 translation, chapter 53, verse 118, the south-west room is for household utensils and the north-west rooms are the treasury and granary. The passage also places the kitchen in the south-east and the Devas' apartment in the north-east. It does not prescribe a master bedroom.
| Placement | Attribution |
|---|---|
| Master bedroom in SW | Traditional Vastu convention; verified:false. |
| Household utensils in SW | Brihat Samhita 53.118, Iyer 1884. |
| Treasury and granary in NW | Brihat Samhita 53.118, Iyer 1884; distinct from general household-utensil storage. |
| Kitchen in SE; Devas' apartment in NE | Brihat Samhita 53.118, Iyer 1884. |
The case v2_vastu_room_bedroom_master_bedroom_SW is retained.
Its current source expectation already labels the bedroom rule as convention.
The 63 table differences in seven other room families remain visible in the
production result; explaining this attribution does not remove them.
The previous page reported 281/282 on 3 October with a canary key and a USD 5 cap. That report is preserved as historical evidence. Its per-family rows summed to 282 passes while its summary said 281, and the runner's missing 72 semantic checks prevent treating that aggregate as full acceptance. It is superseded by the 2026-10-18 production run above, which used the strict checker.
Withdrawn for seven room types. The 3 October 281/282 figure, and any 99.65% or 100% figure in earlier reports, did not compare full response bodies for the store, pooja, staircase, study, living, dining and water-storage room types. Those pass figures are withdrawn for these seven room types.
No spend or wallet delta is inferred from the historical claim.
To reproduce a complete result, retain every original case and its recorded response, validate the census and every semantic family, and keep source checks separate from production receipts. Use an approved canary and spend contract for any billed run; do not substitute a sandbox response for production wallet proof.