# Research dataset: how to read the JSON

The current mantra schema is `5.0`, with method revision `5.1-functional-synthesis`. Standalone devata and rishi records remain schema `4.0`. Read the version inside each record: the existing `*.v4.json` filenames are retained for stable links.

## Downloads and record wrappers

| File or view | Contents |
| --- | --- |
| `data/research.jsonl` | One complete current research record per line, including mantra, devata and rishi records. |
| `data/history.jsonl` | Previous complete research records. Multiple versions of the same ID are expected. |
| `data/batch-manifest.json` | Selected IDs, completed IDs and pending IDs for the latest requested batch. Completion requires the current source packet, prompts, model and effort. |
| `data/records/<id>.v4.json` / page download | A browser card: `source`, `record`, `revisions`, and (for mantras) computed source `syllables`. `record: null` means analysis is pending. |
| `data/catalog.json` | Lightweight source/analysis index and coverage metadata for visual exploration. Full research is in the records. |
| `data/reader-index.json` | Smaller identity, navigation, coverage and comparison index for the dedicated mantra page. It omits graph features and long meanings. |
| `data/home-summary.json` | Compact homepage projection: current metadata and coverage, researched mantra summaries, entity labels and ten mandala totals. Domain and difference counts derive from these records; full readings are loaded from the selected record card. |

Paths above are relative to the deployed site. An indexed source mantra is not automatically an analysed mantra. The 20,000 Samhita figure is the programme target; the indexed Rigveda contains 10,552 source mantras.

## Complete mantra record

| Key | Type and nested structure | Meaning |
| --- | --- | --- |
| `id`, `kind`, `schema_version` | Strings, e.g. `RV:3.62.10`, `mantra`, `5.0` | Stable identity and record format. |
| `analysis.research_meaning` | String | Our composed interpretation from the saved foundation and word research. It is generated before the traditional comparison. |
| `analysis.traditional` | `{source, text, status, witness_id, locator, selection_note}` | One applicable Yaska witness, otherwise Sayana. `source: none` and null text preserve a gap. |
| `analysis.alignment` | `{level, score, rationale}` | Model-assessed meaning alignment, 0–1 or null. Difference is `100 × (1 − score)`. This is not a correctness probability. |
| `analysis.words` | Array of word objects, detailed below | Root, morphology, grammar, sound-operation research, word meanings and their individual traditional comparisons. |
| `analysis.syllables` | Array of `{index, word_index, morpheme_iast, morpheme_meaning, syllable_meaning}` | Links each source syllable to a word and morpheme. Independent syllable meaning may be null. |
| `analysis.svara_analysis` | String | Accent observations and limitations; not an audio or pitch reconstruction. |
| `analysis.bhava`, `analysis.prayoga` | String or null | Proposed expressive stance and application. Structured explanations also appear in `dimensions`. |
| `analysis.principles` | Array of `{name, description, tag, evidence_refs}` | Proposed operating principles. |
| `analysis.keywords` | String array | Discovery and grouping terms. |
| `analysis.claims` | Array of `{text, tag, evidence_refs}` | Individually attributed claims. |
| `analysis.physics_links` | Array of `{concept, relationship, tag, status, evidence_refs, limitations}` | Labelled physical analogies or hypotheses. |
| `analysis.anomalies` | String array | Source gaps, competing derivations and open research questions. |
| `dimensions` | Object with exactly seven named dimensions | `rishi`, `devata`, `chandas`, `svara`, `artha`, `bhava`, `prayoga`. |
| `domain_readings` | Seven domain objects, detailed below | Separate possibilities in cosmology, physics, astronomy, astrology, geography, psychology and theology. |
| `derivation.padas` | Array of `{text_iast, word_indices, meaning, derivation}` | How word meanings compose into sections of the mantra. |
| `derivation.steps` | Array of `{word_indices, foundation_basis, operation, result, evidence_refs}` | Traceable steps from earlier ingredients to the composed meaning. |
| `comparison_details` | `{significant_differences, common_ground, review_questions}`; each a string array | Side-by-side insights from the final comparison call. |
| `evidence` | Object keyed by evidence ID | Source texts, morphology witnesses, root attestations, metadata, framework and scoped prior research. |
| `source_payload` | Object | Exact source packet prepared for this mantra. Individual stages receive only their permitted subset. |
| `pipeline` | `{version, method_revision, order, stages}` | Saved outputs and provenance for the six separate calls. |
| `provenance` | Object | Creation time, model, effort, fingerprints, grid version, validation result, review status and warnings. |

`traditional.status: verified` means the result points to a supplied applicable source witness. It does not certify that the model's paraphrase has received independent scholarly approval. The older shared schema permits `from_memory`; the new staged pipeline rejects it.

## Nested word, dimension and domain objects

| Object | Fields | Interpretation |
| --- | --- | --- |
| Word identity | `index`, `form_iast` | Zero-based index and preserved source form. |
| Word root | `root_iast`, `status`, `confidence`, `alternatives` | Nullable root candidate; settled/working/contested; model confidence 0–1; competing candidates. A root's presence in the inventory does not prove its applicability. |
| Word formation | `morphemes[]: {part_iast, type, function}`, `composition`, `grammar` | Root/prefix/suffix/ending/stem/particle analysis and its grammatical constraints. |
| Word operations | `operations[]: {consonant_iast, operation, tag}` | The supplied sound-operation framework as applied to the word. |
| Word meanings | `research_meaning`, `traditional`, `alignment`, `evidence_refs` | The independently saved word research, then source comparison added during assembly. |
| Any of the seven dimensions | `{value, status, explanation, evidence_refs}` | Value may be null; status is attested/inferred/unresolved. Chandas is metre; artha is meaning. `artha.value` equals the full research meaning. |
| Domain identity and reading | `domain`, `status`, `reading`, `tag` | Unsupported/analogy/hypothesis. Unsupported readings remain null. R identifies the user's stated framework; C identifies a model proposal. |
| Domain derivation | `derivation`, `word_indices`, `evidence_refs` | Links the possibility to actual word research and sources. |
| Domain evaluation | `counterevidence`, `falsifiers`, `confidence`, `scientific_interest`, `interest_rationale` | Why a proposal might fail, tests that could challenge it, and separate confidence/research-interest scores. Interest is not truth. |

Claims and principles use **T** for text/grammar observations, **R** for Rohit's stated framework and **C** for model interpretations. Sound-operation objects retain the older key's **R/S/C** tags; S is the key's existing “tested” label, not a new certification. These attribution tags do not themselves establish a claim.

## Saved stages and history

The order is `foundation → lexicon → synthesis → domains → traditional → comparison`. Each entry in `pipeline.stages` includes its output, input/output hashes, parent hashes, timestamps, model/effort, reported usage and `tool_calls: 0`. New calls also retain raw-response and generation-schema hashes. Exact prompts, input packets, raw replies and CLI event logs are stored locally under `work/stages/`.

Foundation/lexicon/synthesis do not receive the traditional commentary or earlier whole-mantra translations. Synthesis explicitly receives the devatas-as-principles framework. The traditional call receives its own source packet without the research outputs. Comparison cannot rewrite either interpretation. This controls supplied context; it cannot remove a model's pretrained familiarity with a mantra.

Replacing a current record archives the full earlier record by content hash. Browser cards list those revisions with links to full historical JSON. New output remains **unreviewed** until human scholarly review: automated checks establish structural consistency and traceability.

## Standalone devata and rishi records

These share `analysis.research_meaning`, `traditional`, `alignment`, `principles`, `keywords`, `claims`, `physics_links` and `anomalies`. Instead of mantra `words` and `syllables`, they contain `name_analysis` (the same word object) and `falsifiers`. Rishi records also contain `attribution_notes`.

The five existing standalone entity records are preserved; rerunning a mantra re-examines its rishi/devata dimensions but does not silently regenerate those standalone records.
