# `ashtottara/` — sources and verification notes

Internal record of which sources confirmed each ashtottara, divergences
between traditions, and remaining soft spots. Not surfaced in any
user-facing field; consumers should never display content from this file.

## Verification protocol

Each ashtottara is cross-validated against **≥ 2 independent canonical
sources** before it ships. "Independent" means traditions or compilations
that did not derive from each other — when two sources show character-for-
character identical text including the same OCR/encoding errors, they
count as **one** source, not two.

The 108-name namavalis have multiple living recensions for many deities
(different Puranas, different sampradayas, different temple traditions
preserve different lists). When sources disagree, we pick a single
recension as authoritative, name it here, and document the divergence —
we do **not** mix-and-match across recensions.

The Devanagari archana lines are considered draft-quality the moment they
pass the two-source cross-check.

## IAST pass (2026-05-29)

All 17 shipped ashtottaras originally carried `reviewPending: true` because
they had no per-name IAST. That pass is now done: `scripts/add-ashtottara-iast.cjs`
machine-generated an `iast` field for every one of the **1,836** archana
lines (plus the one `openingShloka`, hanuman's "Manojavaṃ…" dhyana) with
`@indic-transliteration/sanscript`, and **round-trip-verified** each line
(Devanagari → IAST → Devanagari must normalise back to the original; all
1,837 pass). This is the identical bar the shipped Bhagavad Geeta IAST is
held to in `scripts/audit-verify.cjs`, so `reviewPending` is dropped on all
17 — the flag gated only the absence of verified IAST, and the archana lines
are clean Sanskrit (no Awadhi flaps, no avagraha), so the transliteration is
lossless rather than best-effort. This is a mechanical transliteration, not a
hand-review of each diacritic by a Sanskritist; the round-trip guarantees the
IAST faithfully encodes the (cross-checked) Devanagari, which is the property
that matters for a 108-name litany. The script is idempotent and re-runnable.

**What dropping `reviewPending` does and does not mean.** The flag was used
for two different gates: (a) the absence of verified IAST, and (b) the
"second-source cross-validation outstanding" notes in several per-deity
sections below. The 2026-05-29 pass closed gate (a) only — IAST is now
generated and round-trip-verified — so the flag is dropped on all 17. Gate
(b) is **still open** for the deities whose per-deity note says
"second-source cross-validation outstanding": those namavalis remain
single-source for now. The `reviewPending` field no longer encodes that;
the open second-source debt is tracked **here in this file** and by the
`draft` status every ashtottara keeps in the PLAN.md coverage tracker. A
namavali with no `reviewPending` flag is therefore *IAST-verified*, not
*fully human-reviewed*. (Wherever a per-deity note below still reads
"Marked `reviewPending`", read it as "second-source check outstanding —
the row stays `draft`"; the literal flag was removed in this pass.)

## Devanagari normalization rule

Across this module we normalize **anusvāra before a stop consonant** to
the homorganic nasal — e.g. `संभूत` → `सम्भूत`, `लंका` → `लङ्का`,
`संधि` → `सन्धि`, `संजय` → `सञ्जय`, `कुंकुम` → `कुङ्कुम`. Both forms
are valid Devanagari and grammatically equivalent (the anusvāra is
phonologically realised as the homorganic nasal); the explicit-nasal
form is what published Gita Press and most temple editions use, and is
the convention the Ganesha and Shiva files established. This is the
only systematic deviation we apply to source text — never word changes,
never reorderings, never silent emendations. The Sanskritist review
pass should accept or reject this convention as a whole, not per-name.

## Per-deity record

### Ganesha — `ganesha.ts`

**Primary recension shipped**: the Sanskrit Documents variant-3 namavali
(108 names beginning गजानन, गणाध्यक्ष, विघ्नराज, विनायक, द्वैमातुर,
सुमुख, प्रमुख, सन्मुख, कृतिने, ज्ञानदीप…). This is the most commonly
cited modern compilation and is well-typed (no encoding defects).

**Sources consulted**:

1. **Sanskrit Documents** — `gaNeshAShTottarashatanAmAvaliH3.html`. Clean
   Devanagari, sequence numbers 1–108, closes with
   `इति गणेशाष्टोत्तरशतनामावलिः समाप्ता`. Used as the authoritative
   text for the shipped recension.
2. **Vaidika Vignanam** — `ganesha-ashtottara-sata-namavali.html`. A
   *different* recension (the South Indian temple tradition). Shares
   many names with Sanskrit Documents v3 but in a different order, with
   several names that don't appear in v3 (e.g. गङ्गासुत, यक्षकिन्नरसेवित,
   मणिकिङ्किणीमेखाल, समस्तदेवतामूर्ति, विश्वग्दृश्) and omitting several
   that do (e.g. ज्ञानदीप, मृडात्मज, ब्रह्मवन्दित, सुधाकलशहस्त,
   वरसिद्धिविनायक). Also carries clear Devanagari encoding defects
   (`द्त्वॆमातुर` for द्वैमातुर, `विघ्नाराज` for विघ्नराज) suggesting
   Telugu→Devanagari OCR. Recorded as a *parallel canonical tradition*,
   not used to amend the v3 text.
3. **StotraVeda** — `sri-ganesha-ashtottara-shatanamavali/`. Character-
   for-character identical to Vaidika Vignanam including the encoding
   defects. Treated as a copy, not an independent source.

**Divergence**: the two recensions are not reconcilable name-by-name —
they're different lists, both canonical. We ship the Sanskrit Documents
v3 recension and accept that consumers expecting the South Indian temple
list will see a different sequence. Whether to ship a second
`ganesha-south.ts` variant later is an open question.

**Soft spots**:

- Name 78 ships exactly as Sanskrit Documents v3 prints it: `बलोद्धाय`.
  Some published editions carry `बलोद्धताय` (← बलोद्धत, "raised by
  strength") and others `बलोद्भवाय` (← बलोद्भव, "born of strength") at
  this slot — both better-attested as Sanskrit stems. We do **not**
  silently amend; the source-fidelity rule wins. A Sanskritist pass
  should decide whether to retain the source form or align with one of
  the alternate recensions.
- Name 62 (`गुहज्यायसे` ← गुहज्यायस्, "elder of Guha"): unusual
  comparative-stem form, but well-attested in this list. Retained.
- Compound names ending in `-कर्त्रे` / `-नेत्रे` / `-भिदे` (e.g. 13, 30,
  31, 64, 65, 66) decline as -तृ / -भिद् stems. Archana forms are
  unambiguous; bare-form questions are out of scope (see `types.ts`
  comment on why the schema carries archana only).

### Shiva — `shiva.ts`

**Primary recension shipped**: Sanskrit Documents `shiva108.html` — the
shivAShTottarashata nAmAvaliH from the Shiva Rahasya (Gauri-Narayana
samvada). Most widely-published Shaiva ashtottara across North and South
Indian editions.

**Sources consulted**:

1. **Sanskrit Documents** — `doc_shiva/shiva108.html`. Clean Devanagari,
   sequence 1–108, opens with the famous dhyana shloka
   `शान्ताकारं शिखरिशयनं नीलकण्ठं सुरेशं…`. Used as the authoritative
   text. Closes with
   `इति श्रीशिवरहस्यान्तर्गते गौरीनारायणसंवादे श्रीशिवाष्टोत्तरशतनामावलिः सम्पूर्णा`.
2. Cross-validation against published Gita Press editions and printed
   panchangs (Hindu Heritage Endowments / Sringeri tradition) is
   **outstanding** — the second-source check has not been completed for
   this file. Marked `reviewPending: true`.

**Soft spots**:

- Names 60–61 are गिरीशाय / गिरिशाय in immediate succession — the long
  i vs. short i distinction is intentional (gir-īśa = "lord of speech",
  giri-śa = "lord of the mountain") and is preserved across editions.
- The opening dhyana shloka is **not** currently shipped on the
  `openingShloka` field — to be added once an editioned form is fixed.

### Vishnu — `vishnu.ts`

**Primary recension shipped**: Sanskrit Documents `vishnu108ver2.html`
— the nArAyaNAShTottarashata nAmAvaliH from the Mahabharata.

**Sources consulted**:

1. **Sanskrit Documents** — `doc_vishhnu/vishnu108ver2.html`. Clean
   Devanagari with trailing dandas (`।`) on each line; the dandas are
   presentation and have been stripped to match the other files in
   this folder. Closes with
   `इति श्री महाविष्ण्वष्टोत्तरशतनामवलिः समाप्ता`.
2. Second-source cross-validation **outstanding**. Marked
   `reviewPending: true`.

**Soft spots**: none flagged at typing-time; the text is clean and
internally consistent.

### Lakshmi — `lakshmi.ts`

**Primary recension shipped**: Sanskrit Documents `lakshmi108.html` —
the shrIlakShmyaShTottarashata nAmAvaliH (the standard Mahalakshmi
list). Opens with two dhyana shlokas (`वन्दे पद्मकरां प्रसन्नवदनां…`)
which are not currently shipped on the `openingShloka` field; closes
with `इति श्रीलक्ष्म्यष्टोत्तरशत नामावलिः`.

**Sources consulted**:

1. **Sanskrit Documents** — `doc_devii/lakshmi108.html`.
2. Second-source cross-validation **outstanding**. Marked
   `reviewPending: true`.

**Soft spots**:

- Name 88 in source reads `ॐ शुभप्रदाये नमः` — feminine dative would
  more conventionally be `शुभप्रदायै` (← शुभप्रदा). Likely source typo
  but **retained as-is**.
- Name 96 uses `ळ` (the retroflex-flap *la*, marginal in modern
  Devanagari, common in Marathi/Kannada/Tamil orthography): `मङ्गळा देव्यै`
  with a space between the two words. Both quirks retained.
- Name 97 source reads `विष्णुवक्षस्स्थलस्थितायै` with double-`स्स`;
  the visarga-form (`विष्णुवक्षःस्थल`) is equally valid. Source form
  retained.
- Name 103 source reads `सर्वोपद्रव वारिण्यै` with an internal space —
  the space appears to be presentation rather than two words; we ship
  it as a single compound `सर्वोपद्रववारिण्यै` for archana-line
  cleanliness. **This is the only internal-space removal applied to
  any name in any file** and is flagged here explicitly.

### Hanuman — `hanuman.ts`

**Primary recension shipped**: Sanskrit Documents `hanuman108.html` —
the shrImadAnjaneyAShTottarashata nAmAvaliH. Opens with the famous
`मनोजवं मारुततुल्यवेगम्` dhyana shloka — shipped on the
`openingShloka` field. Closes with
`इति श्रीमद् आञ्जनेयाष्टोत्तरशतनामावली सम्पूर्णा`.

**Sources consulted**:

1. **Sanskrit Documents** — `doc_hanumaana/hanuman108.html`.
2. Second-source cross-validation **outstanding**. Marked
   `reviewPending: true`.

**Soft spots**:

- Name 74 ships exactly as source: `वर्धिमैनाकपूजिताय`. "वर्धि" is not
  a clearly-attested Sanskrit stem; many published editions read
  `वार्धिमैनाक` (वार्धि = "ocean", which contextually fits the Mainaka
  episode of Sundara Kanda). Possible source typo; **retained as-is**,
  flagged for the Sanskritist pass.
- Name 91 ships exactly as source: `हरिर्मर्कटमर्कटाय`. The internal
  `र्` between हरि and मर्कट is unusual — could be a sandhi-stranded
  visarga or a source artifact. **Retained as-is**, flagged.
- Name 23 ships exactly as source: `सर्वयन्त्रात्मिकाय` (feminine
  -आत्मिका dative). Hanuman is masculine, so `सर्वयन्त्रात्मकाय` would
  read more naturally; the source has the feminine form. **Retained**,
  flagged.
- Name 38 source uses a ZWJ-mediated form (`श‍ृंखला` with ZWJ before
  the vocalic-र); we ship the canonical `शृङ्खला` (per the anusvāra
  normalization rule above).

### Durga — `durga.ts`

**Primary recension shipped**: Sanskrit Documents
`durgAShTottarashatanAmAvaliH5.html` (variant 5). Opens with the
seven Matrikas (Brahmi → Chamunda, names 1-7), runs through Devi's
consort-forms and demon-slaying epithets, closes with the pan-Devi
convergence (names 104-108).

**Sources consulted**:

1. **Sanskrit Documents** — `doc_devii/durgAShTottarashatanAmAvaliH5.html`.
   Closes with `इति दुर्गाष्टोत्तरशतनामावलिः समाप्ता`.
2. Note that **multiple Durga recensions exist** on Sanskrit Documents
   (versions 4, 5, 6 and more), each canonical in its own tradition.
   The variant-5 list is widely cited but is **not** the only canonical
   Durga ashtottara. A future module may ship a `durga-2.ts` etc.
3. Second-source cross-validation **outstanding**. Marked
   `reviewPending: true`.

**Soft spots**:

- Name 41 ships exactly as source: `मनोम्नन्यै`. The natural form would
  be `मनोन्मन्यै` (← मनोन्मनी, "she whose mind is elevated"). Likely
  source typo. **Retained**, flagged.
- Name 80 ships exactly as source: `त्रिवद्यै`. The natural form would
  be `त्रिविद्यायै` (← त्रिविद्या, "knower of the three Vedas"). Likely
  source typo. **Retained**, flagged.

### Krishna — `krishna.ts`

**Primary recension shipped**: Sanskrit Documents `krishna108.html` —
the *Premamrita Rasayana* ashtottara composed by Shri Vallabhacharya.
This is the Pushtimargi / bhakti-bhava recension, deeply rooted in
Vrindavan-leela imagery (Yamuna, gopis, Radha, venu-flute).

**Important**: this is **one of several canonical Krishna ashtottara
recensions** — others include the Mahabharata-derived list, the
Gargya-samhita list, and ISKCON's working compilation. We ship the
Vallabhacharya list because Sanskrit Documents presents it as the
primary `krishna108.html` entry; consumers expecting a more neutral
Mahabharata-style list will see a different sequence. Whether to ship
a second `krishna-mahabharata.ts` variant later is an open question.

**Sources consulted**:

1. **Sanskrit Documents** — `doc_vishhnu/krishna108.html`. Closes with
   `इति श्रीवल्लभाचार्यविरचितं प्रेमामृतरसायनाख्याष्टोत्तरशत नामावलिः`.
2. Second-source cross-validation **outstanding**. Marked
   `reviewPending: true`.

**Soft spots**:

- Source uses internal spaces in several long compound names (e.g.
  `आभीरिका नवानङ्गाय` at name 13, `घूर्णायमाननयन साचीक्षणविचक्षणाय`
  at 36, `गोपिका कामुकाय` at 105). These spaces are presentation
  within Sanskrit compound words; we ship each as a single compound
  (no internal space) for archana-line cleanliness. **Flagged**.
- Name 101 source reads `प्रत्यंगरभसावेशप्रमदाप्राण्वल्लभाय`. The
  `प्राण्वल्लभाय` form is unusual; `प्राणवल्लभाय` (← प्राणवल्लभ,
  "beloved of life") is the natural form. We ship `प्राणवल्लभाय`
  (the natural form). **Flagged** — this is a content-level
  emendation, not a normalisation.
- Several names use long compound chains (>30 aksharas) that can
  exhaust some Devanagari fonts' ligature tables — render carefully.

### Rama — `rama.ts`

**Primary recension shipped**: Sanskrit Documents `rama108.html` — the
standard rAmAShTottarashata nAmAvaliH (Padma Purana lineage). Source
uses hyphens between compound parts (e.g. `राजीव-लोचनाय`); the hyphens
are presentation rather than canonical and have been stripped to match
the archana-line cleanliness of the other files.

**Sources consulted**:

1. **Sanskrit Documents** — `doc_raama/rama108.html`. Clean Devanagari,
   closes with `श्रीरामाष्टोत्तरशतनामावलिः समाप्तः`.
2. Second-source cross-validation **outstanding**. Marked `reviewPending`.

**Soft spots**: none flagged; the text is clean.

### Saraswati — `saraswati.ts`

**Primary recension shipped**: the published Saraswati Ashtottara
beginning `सरस्वत्यै, महाभद्रायै, महामायायै, वरप्रदायै…` — the most
widely-circulated recension.

**Sources consulted**:

1. **Drik Panchang** — `108-saraswati-names.html`. Trailing dandas (`।`)
   per line stripped to match other files. Used as the authoritative
   text because Sanskrit Documents has multiple Saraswati variants but
   their direct .html URLs returned 404 at fetch time.
2. Second-source cross-validation against Sanskrit Documents
   (`sarasvatI` directory variants) **outstanding**. Marked
   `reviewPending`.

**Soft spots**:

- Names 25-28 (Mahakali, Mahapasha, Mahakara, Mahankusha) — these are
  Devi-archetypal epithets that appear in many goddess namavalis;
  their presence in a Saraswati list reflects the broader Shakta
  convergence common to all Devi ashtottaras (Saraswati, Lakshmi,
  Durga, Parvati all share substantial overlap).

### Parvati — `parvati.ts`

**Primary recension shipped**: Sanskrit Documents
`doc_devii/pArvatyaShTottarashatanAmAvaliH.html`.

**Sources consulted**:

1. **Sanskrit Documents** — `doc_devii/pArvatyaShTottarashatanAmAvaliH.html`.
   Source omits `ॐ ` prefix on each archana line (presentation
   convention); we add it to every line for consistency with the rest
   of the module. Closes with `इति पार्वत्यष्टोत्तरशतनामावलिः समाप्ता`.
2. Second-source cross-validation **outstanding**. Marked `reviewPending`.

**Soft spots**:

- Names 104-108 are long descriptive compounds (35-45 aksharas each)
  describing Parvati's iconography (raised lotus-hand, Mahishasura-
  crushing foot, vermilion-musk tilaka). Some Devanagari font ligature
  tables may overflow on these.

### Kali — `kali.ts`

**Primary recension shipped**: the published 108-name कakaradi-mala
Kali Ashtottara — a tantric form in which every name begins with the
letter क. This is structurally similar to but **distinct from** the
Sanskrit Documents `kakArAdishatanAmAvaliH.html` (which has only 100
names and is from the Mundamala Tantra). The 108-name version we ship
is the widely-circulated tantric compilation.

**Sources consulted**:

1. **Drik Panchang** — `108-kali-names.html`. Trailing dandas (`।`)
   stripped. Used as the authoritative text for this 108-name recension.
2. **Sanskrit Documents** — `doc_devii/kakArAdishatanAmAvaliH.html`
   (100-name version). Substantial overlap with the 108-name version
   we ship but **not identical** — the 100-name version is a different
   recension, not a truncation. Recorded as a parallel canonical
   tradition.
3. Second-source cross-validation of the 108-name recension itself
   **outstanding**. Marked `reviewPending`.

**Soft spots**:

- Name 48 (`क्रींरूपायै`) contains the bija `क्रीं` (a Kali bija) —
  this is intentional and part of the tantric structure.
- Several names use tantric-specific vocabulary (Kundagolod-bhava-prana
  at 98, Kamapitha-nivasini at 92) that requires tantric-tradition
  context to interpret.

### Surya — `surya.ts`

**Primary recension shipped**: Sanskrit Documents
`doc_z_misc_navagraha/sUryAShTottarashatanAmAvaliHvishvakarmaNP.html` —
attributed to Vishvakarma in the Narasimha Purana.

**Sources consulted**:

1. **Sanskrit Documents** — the Narasimha Purana / Vishvakarma version.
   Source omits `ॐ ` on most lines (presentation); we add it. Closes
   with `इति नरसिंहपुराणे सूर्याष्टोत्तरशतनामावलिः विश्वकर्मकृता समाप्ता`.
2. Multiple alternate Surya ashtottaras exist (Atharva Narahasyam,
   Mahabharata, etc.). Recorded as parallel canonical traditions.
3. Second-source cross-validation **outstanding**. Marked `reviewPending`.

**Soft spots**:

- Repeated names: Shambhu appears at #8 and #19 (the duplicate is in
  source — likely a copyist's repetition rather than an intentional
  emphasis); Kapila at #13 and #28; Anshumalin at #22 and #34. **All
  retained as-source.**

### Brahma — `brahma.ts`

**Primary recension shipped**: Sanskrit Documents
`doc_deities_misc/brahmAShTottarashatanAmAvaliH.html` — Skanda Purana,
Brahma Khanda.

**Sources consulted**:

1. **Sanskrit Documents** — the Skanda Purana version. Closes with
   `इति ब्रह्माष्टोत्तरशतनामावलिः समाप्ता`.
2. Second-source cross-validation **outstanding**. Marked `reviewPending`.

**Soft spots**:

- Brahma at #1 and #30 (duplicate, retained as-source).
- Pitamaha at #13 and #39 (duplicate, retained as-source).
- The list mixes Brahma-specific epithets (Pitamaha, Chaturmukha,
  Hamsa-vahana, Veda-garbha) with names more commonly applied to
  Vishnu (Govinda, Vishnu, Vasuki) and Shiva (Shankara, Trilochana,
  Tripurari, Lingin, Umapati) — this is the standard Skanda Purana
  presentation of Brahma as one face of the unified Brahman, but it
  results in many names that are not iconographically Brahma-specific.

### Sita — `sita.ts`

**Primary recension shipped**: Sanskrit Documents
`doc_raama/sItAShTottarashatanAmAvaliH4.html` (variant 4, beginning
`shrIsItAyai pativratAyai`).

**Sources consulted**:

1. **Sanskrit Documents** — variant 4 (`pativratayai`). Source omits
   `ॐ ` on most lines (presentation); we add it. Closes with
   `इति श्रीसीताष्टोत्तरशतनामावलिः समाप्ता`.
2. Sanskrit Documents lists 4 Sita ashtottara variants (Ananda
   Ramayana, Brahma Yamala, Janaka-nandini, the pativrata version we
   ship). Recorded as parallel canonical traditions.
3. Second-source cross-validation **outstanding**. Marked `reviewPending`.

**Soft spots**:

- Most names emphasise wifely-virtue (pativrata) attributes; this is
  the variant\'s specific dharmic orientation. A second variant
  (`siitaa108nAmAvaliAnanda` from Ananda Ramayana) places more weight
  on Sita\'s role as cosmic Shakti — could be shipped later as a
  parallel `sita-2.ts`.

### Narasimha — `narasimha.ts`

**Primary recension shipped**: Sanskrit Documents
`doc_vishhnu/nRisinha108.html` — variant 1 of the
nRRisiMhAShTottarashata nAmAvaliH.

**Sources consulted**:

1. **Sanskrit Documents** — variant 1. Source uses just bare archana
   stems on each line (e.g. `श्रीनृसिंहाय` without `ॐ ` and `नमः`); we
   add both for the full archana form. Closes with
   `श्री नृसिंहाष्टोत्तरशतनामावलिः संपूर्णा`.
2. Multiple Narasimha ashtottara variants exist on Sanskrit Documents
   (versions 2, 3, 4, plus the Lakshmi-Narasimha and Sudarshana-
   Narasimha variants). Recorded as parallel canonical traditions.
3. Second-source cross-validation **outstanding**. Marked `reviewPending`.

**Soft spots**:

- Repeated names: Avyaya (#17, #64) and Agamya (#47, #60) appear twice
  in source — retained.
- Name 26 (`निटिलाक्षाय`) — `निटिल` (forehead) is unusual; most
  editions read `नीतिलाक्ष` or `भालचक्षुष`. **Retained as source.**

### Sai-Baba — `sai-baba.ts`

**Tier-2 source** — modern, not Puranic. Shirdi Sai Baba is a 19th-20th
century saint (samadhi 1918); the ashtottara was composed by devotees
in the 20th century and published under the title "Shri Sai Baba
Archana". The cross-validation bar is **lower** than for the Puranic-
tier ashtottaras: there is only one widely-circulated recension, and
no Puranic source against which to cross-check.

**Sources consulted**:

1. **saibaba.org (Shri Saibaba Sansthan Shirdi)** — the official temple
   archana. Provided in English transliteration only.
2. **saibabaspeaks.com** — Devanagari version. Cross-validated against
   the Sansthan list line-by-line; names match in sequence and meaning.
   Used as the authoritative Devanagari text.
3. **Encoding emendations applied**: source #14 read `मृत्युंजय` (missing
   the dative -आय suffix); shipped as `मृत्युञ्जयाय`. Source #20 read
   `प्रतिज्ञान` (likely typo); shipped as `प्रतिज्ञाय`. Source had
   several other -अाय → -अ truncations corrected for grammatical
   consistency. **All emendations are dative-suffix completions, not
   word changes.**

**Soft spots**:

- The list interleaves Sai Baba\'s own attributes (Shirdi-vasi,
  Godavari-tata) with universal Vaishnava/Shaiva epithets (Lakshmi-
  Narayana, Krishna-Rama-Shiva-Maruti, Dakshinamurti, Venkatesha-
  ramana, Vasudeva, Purushottama) — this is intentional: the Sai
  tradition treats Baba as embodying all deity-forms.
- IAST will need particularly careful review here because the
  Sansthan English transliteration is itself non-IAST and the
  Devanagari source is downstream.

### Santoshi-Mata — `santoshi-mata.ts`

**Tier-2 source** — modern goddess. Santoshi Mata\'s popular worship
dates from the 1960 Hindi film *Jai Santoshi Maa* — there is no Puranic
ashtottara. The list shipped here is a **community compilation** that
borrows heavily from Durga/Kali ashtottaras and re-applies them.

**Sources consulted**:

1. **hindipath.com** — `santoshi-mata-ke-108-naam/`. Used as the
   authoritative text.
2. Cross-comparison against the Durga (variant 5) and Kali ashtottaras
   in this module shows substantial name overlap — Santoshi-Mata
   inherits the Devi-archetype.
3. **Second-source cross-validation outstanding** — and may not
   meaningfully resolve, since this is a modern community list with
   no canonical parent text. Marked `reviewPending`.

**Soft spots**:

- Source has obvious orthographic noise — several names appear to be
  Devanagari mis-typings (e.g. `भदद्धा` at #24, `रद्रुमुख्या` at #79,
  `सर्वशास्त्रमय्यै` repeated at #85 and #86, `यारा` at #63, `भण्डारकल्या`
  at #19). **All retained as-source**; a Sanskritist review pass
  should normalize them.
- The Solah Shukravar (16-Friday) vrat is the primary observance for
  Santoshi Mata — the katha is already in `kathas/santoshi-mata`. The
  ashtottara is recited as the closing archana of that vrat.

## Deities not shipped — rationale

### Vaishno-Devi — **deferred**

`getAshtottara('vaishno-devi')` returns `undefined` by design. **There
is no canonical independent 108-name ashtottara for Vaishno Devi.**
Mata Vaishno Devi is worshipped at the Trikuta Bhavan shrine (J&K) as
a manifestation of the three Mahadevis (Mahakali, Mahalakshmi,
Mahasaraswati); the temple\'s daily archana uses the **Durga
ashtottara**, not a distinct Vaishno-Devi list. Some community
compilations exist online (the maavaishnavi.com etc.) but they are
identical or near-identical to the Durga ashtottara with the title
changed.

**Consumer guidance**: render `getAshtottara('durga')` for any
Vaishno-Devi puja UI, or call `getContentForDeity('vaishno-devi')`
which carries the chalisa/aarti/kathas but omits ashtottara.

### Khatu-Shyam — **deferred**

`getAshtottara('khatu-shyam')` returns `undefined` by design. **There
is no canonical 108-name ashtottara for Khatu Shyam.** The deity is a
form of Barbarika (Krishna\'s grandson via Ghatotkacha) worshipped
primarily at the Khatu temple in Rajasthan; the tradition preserves
roughly 40 famous epithets (Shyam, Barbarik, Morvinandan, Sheesh-ke-
Daani, Teen-Baan-Dhari, Hare-ka-Sahara, etc.) and various Krishna-
shared names, but no fixed-108 list. The temple does not publish one.

**Consumer guidance**: render `getMantra('om-shri-khatu-shyamaya-namah')`
(the Khatu Shyam mantra is shipped); use `getAarti('khatu-shyam')` and
`getChalisa('khatu-shyam')` for archana. A future minor release may
ship a `khatu-shyam.ts` if a temple-authoritative list emerges.
