Skip to content

Reviewed native forms — 2026-10-09 ​

Alpha.4 publication follow-up — 2026-10-09: this 34-key batch is included in the verified sahajlipi@0.1.0-alpha.4 registry archive with 211 starter keys. Alpha.3 retains its 177-key artifact and excludes these later forms. Use exact-version installation and the release section for distribution verification. Original source measurements below remain separate from local candidate checks and fresh registry-installed consumers; website deployment is separate from npm publication.

The batch reviews the 46 remaining word-default mismatches after the earlier spelling follow-up. Its frozen source ledger selects 34 additions and records 12 deferrals. The first displayed reading is a project typing preference; alternatives remain available where the Roman input admits multiple readings.

Scope and evidence ​

Research checked complete Devanagari forms in original government publications, court records, academic documents, educational publications and authored Nepali writing. A separately attested stem was insufficient to approve an attached form. Search excerpts, extracted PDF text and visually checked PDF pages are identified separately in the ledger.

The research is source-assisted, with humanVerified: false and independentHumanReview: false. The maintainer chose two candidate orders; that decision is not an independent review of the language corpus. Published usage corroborates a spelling in context. It does not establish canonical Roman keys, frequency, the intended identity behind a name, or population-wide typing accuracy.

All eight selected PDF-backed additions have a relevant rendered page check. Supplementary indexed excerpts remain labeled as excerpts and are not the sole basis for an implemented entry. Some PDFs use legacy fonts or imperfect character mappings: visible glyphs corroborate the spelling, while the project Unicode strings come from the unchanged frozen references. Full PDFs and page images remain ignored research intermediates.

Only complete keys gain these preferences. This update does not add a native suffix grammar, infer arbitrary compounds, change phonetic tokens or expand the 51 recognized English loanword stems and their 19 finite suffix keys.

Exact mappings and sources ​

The baseline is merged source 5baaad071a5a673c756eb48e2f7523a05c3295fd, after the previous 13-key spelling change. The frozen ledger records the baseline strings below. “Preferred” means the displayed engine choice; the table makes no claim that a source measured its popularity.

Complete Roman keyBaseline outputPreferred outputAlternativePrimary usage and access
futeraफुतेरफुटेर—Kawasoti Agriculture; full HTML text
shantaशन्तशान्तशान्ताBudhanilkantha Municipality; full HTML text
mahilaमहिलमहिलामाहिलाNKP, page 2055 and Law Commission; full HTML text
astitwalaiअस्तित्वलैअस्तित्वलाई—NKP, page 9714; full HTML text
vidhansabhaविधन्सभविधानसभा—Gorkhapatra; full HTML text
yasaprakarयसप्रकरयसप्रकार—NKP, page 6318; full HTML text
lepchaharuलेप्चहरुलेप्चाहरू—Gorkhapatra; full HTML text
angrejharukoअङ्रेझरुकोअङ्ग्रेजहरूकोअंग्रेजहरूकोHimalaya Times and Gorkhapatra; full HTML text
adhyayamaअध्ययमअध्यायमा—NKP, page 9211; full HTML text
karyaharumaकर्यहरुमकार्यहरूमा—Gorkhapatra; full HTML text
vedkoवेद्कोवेदको—Gorkhapatra; full HTML text
pairahekaपैरहेकपाइरहेका—Humla District Administration; full HTML text
afumathiअफुमथिआफूमाथि—NKP, page 638; full HTML text
sammankoसम्मन्कोसम्मानको—NKP, page 162; full HTML text
fulbariharuफुल्बरिहरुफूलबारीहरू—Little Angels’ School magazine; visually checked PDF, page 199
goretaharumaगोरेतहरुमगोरेटाहरूमा—Kantipur; full HTML text
kendraharudwaraकेन्द्रहरुद्वरकेन्द्रहरूद्वारा—Nepal Police bulletin; visually checked PDF, printed page ११
hospitaltarfaहोस्पितल्तर्फहस्पिटलतर्फ—NKP, page 308; full HTML text
manovaigyanikharuleमनोवैज्ञनिखरुलेमनोवैज्ञानिकहरूले—Tribhuvan University thesis; visually checked PDF, printed page १०
vigyanleविज्ञन्लेविज्ञानले—NKP, page 1631; full HTML text
gabhnuparchhaगभ्नुपर्छगाभ्नुपर्छ—Kohalpur Municipality plan; visually checked PDF, page 100
fyankidinchhanफ्यन्किदिन्छनफ्याँकिदिन्छन्—Mysansar authored essay; full HTML text
lakhetirahekaलखेतिरहेकलखेटिरहेका—Government grade 8 textbook; visually checked PDF, printed page १९
samhalnubhaekoसम्हल्नुभएकोसम्हाल्नुभएको—Nepal Insurance Authority; full HTML text
bolaunuparneबोलौनुपर्नेबोलाउनुपर्ने—NKP, page 10453; full HTML text
bhagidarkoभगिदर्कोभागीदारको—Gorkhapatra editorial; full HTML text
sambhawanaharulaiसम्भवनहरुलैसम्भावनाहरूलाई—Office of the President; full HTML text
dushprawrittiharukoदुश्प्रव्रित्तिहरुकोदुष्प्रवृत्तिहरूको—Tribhuvan University thesis; visually checked PDF, page 51
suktiharuसुक्तिहरुसूक्तिहरू—Nepal Law Commission; full HTML text
asuraharukoअसुरहरुकोअसुरहरूको—Tribhuvan University thesis; visually checked PDF, page 79 / printed ७२
aspatalbichkoअस्पतल्बिच्कोअस्पतालबीचको—Nepal Police; full HTML text
bhaktiganyuktaभक्तिगञुक्तभक्तिगानयुक्त—Nagarik editorial; full HTML text
purnakalinlaiपुर्नकलिन्लैपूर्णकालीनलाई—CIAA annual report; visually checked PDF, page 160 / printed १५१
lagalagiलगलगिलगालगी—Onlinekhabar authored reminiscence; full HTML text

Nepal Kanoon Patrika links identify publication page IDs, not judgment decision numbers. The source ledger includes titles, locators, retrieval dates, access limits and supplementary sources for each row.

Candidate ordering ​

  • mahila displays महिला (woman/women), with माहिला (family/sibling ordinal) as the second candidate. The maintainer chose this order on 2026-10-09.
  • shanta displays शान्त (calm/peaceful), with the personal-name spelling शान्ता as the second candidate. The maintainer chose this order on 2026-10-09.
  • angrejharuko displays अङ्ग्रेजहरूको, with अंग्रेजहरूको as the second candidate. Both complete nasal spellings are attested. Choosing the explicit velar nasal first preserves the prior fallback's nasal style; it is a compatibility preference, not a frequency result.

The frozen reference arrays and their preferredReferenceIndex: null values are unchanged for these three inputs. A default now chosen for the software does not retroactively make the reviewed input uniquely intended.

Typing and customization ​

Finish the complete listed key to receive its preferred reading. An incomplete token can still show ordinary phonetic conversion. The entries apply in both full and strict-half consonant modes; the listed reading keeps its supplied Unicode rather than adding a final half consonant.

Incidental capitals keep the existing normalization rules: for example, viGyanle still receives विज्ञानले. Reserved Shift sound capitals keep their phonetic meaning unless the host supplies an exact cased entry. Vowel-length keys, nasal marks, backtick and slash halants, ra-ya joiners, digits, address preservation and English mode retain their existing contracts.

From this repository checkout:

js
import { convertWord, convertText, createEngine } from './src/index.js';

convertWord('mahila');
// { text: 'महिला', candidates: ['महिला', 'माहिला'], ambiguous: true }

convertWord('karyaharuma').text; // 'कार्यहरूमा'
convertText('mahila karyaharuma.');
// 'महिला कार्यहरूमा.'

const custom = createEngine({
  entries: { mahila: ['माहिला', 'महिला'] }
});
custom.convertWord('mahila').text; // 'माहिला'

An integrating app can show the candidates returned by convertWord. In the demo, choose the second reading from the dropdown or use Alt+2 while the word is active; Space commits the displayed choice. The same adapter behavior applies to a host-provided candidate interface.

A listed karyaharuma does not teach the engine every ending of karya. Unlisted attached forms use the existing fallback unless a complete built-in or custom entry supplies them. Exact host entries retain priority in their own engine instance. This batch's hospitaltarfa is a complete native-form preference; it does not add hospital to the suffixable English stem inventory. Recognized technical text and explicitly English fields remain literal.

Deferred cases ​

These twelve inputs remain in the unchanged development references. Deferral does not label the Roman input or reference a misspelling, remove it from evaluation, or claim its ordinary fallback is correct. It records why this focused batch does not assign that global default.

Roman inputFrozen referenceReason for deferral
headerहेडरVerified हेडर, but held for a separate English-loanword expansion so the recognized 51-stem inventory stays unchanged.
premchandradwaraप्रेमचन्द्रद्वाराAttested full personal-name construction; a general name-default policy is outside this batch.
indradevleइन्द्रदेवलेAttested full personal-name construction; retain the reference without assigning an isolated name globally.
patrakaraharumathiपत्रकारहरूमाथिRendered source prints short-u पत्रकारहरुमाथि; the frozen long-u reference पत्रकारहरूमाथि is only in the normalized search excerpt. Await exact original-source evidence.
pandejyuleपाण्डेज्यूलेAttested surname and honorific; hold for a separate name vocabulary policy.
tariniprasadaleतारिणीप्रसादलेAttested personal name; the same court page also contains a name variant. No identity or global default is inferred.
wajedleवाजेदलेForeign surname appears in an indexed Nepali report; full source and primary identity/orthographic evidence remain insufficient.
devnarasinhदेवनरसिंहAttested historical personal name; the cited archival originals were not inspected and isolated identity remains unspecified.
javaraजवराOfficial जवरा is attested, but related content also exposes जबरा. Do not collapse distinct surname spellings.
chintamanचिन्तामनIndexed government usage concerns an Indian place-name component; isolated input does not distinguish चिन्तामन from a possible Hindi-style चिंतामन intent.
manjhiमाझीGovernment page attests Nepali माझी; Roman n can signal another intended nasalized name. No rule deletes it globally.
gopalmanगोपालमानAttested full personal name; hold for a separate name vocabulary policy rather than imply an intended person.

Ten rows concern names or name-related constructions, one is a separately scoped loanword, and one has an exact printed/indexed plural mismatch. Complete spelling evidence can be useful for a later name or loanword policy without resolving an isolated user's intent.

Recorded comparison ​

The new machine report compares merged baseline source 5baaad071a5a673c756eb48e2f7523a05c3295fd with the then-unreleased native-form update, using identical final seed contracts and the original frozen development references.

MetricPre-batch baselineNative-form update
Same final seed contracts174/209209/209
Historical seed contracts174/174174/174
Reviewed word default matches any reference28/7462/74
Individual reviewed word-reference coverage30/7967/79
Exact complete reviewed sentences0/120/12

The final seed contains 209 contracts and two exploratory cases. Thirty-four word contracts and one constructed text guard are appended; all 176 historical rows remain byte-for-byte unchanged. The reviewed defaults improve by 34 cases and coverage by 37 references, including the three additional valid alternatives. 12 admitted word defaults and all 12 complete sentences still differ.

The comparison keeps the original denominators: 74 admitted words / 79 listed word references, 12 admitted sentences / 13 sentence references, and 14 excluded cases. No reference, preferred-reference flag or exclusion changes to improve a score. The selected targets guided implementation, so this comparison describes development progress rather than independent held-out accuracy.

The comparison record identifies the before and after engines, all eight runtime/declaration source files, original cases, frozen review, selected research ledger, seed fixture and measurement tools. Only src/lexicon.js changes among those eight files. Complete licensed sentence strings remain omitted from public results; their identities use hashes. Earlier dated reports and human review sheets keep their original contents.

PR #28 was subsequently rebased onto the merged alpha.3 preparation PR #27 and publication documentation PR #29, whose main source is c4ce75a07b5607225dcb669195b4664d43c50292. The engine, all 211 seed rows and the frozen measurements retain their recorded bytes. Those dated records identify the earlier alpha.2 manifest used during measurement. At that PR #28 rebase, the alpha.3 manifest and npm metadata did not change the recorded results or add these 34 forms to the verified published alpha.3 package. The later alpha.4 candidate version is a separate packaging step, preserving those original measurements. Reproduce the original record from the source identity recorded in PR #28; a measurement of a later checkout must use a new output file.

Software validation ​

The complete Node suite passed 389/389 tests, including 39/39 focused native-form checks. The current seed passed 209/209 contracts with two exploratory rows excluded.

The desktop-007 record records 69/69 desktop browser checks, 23 in each of Chromium, Firefox and WebKit, with no retries, failures, skips, flaky outcomes or uncaught page errors. The new keyboard scenario covers all three new alternative lists, editing, undo and English mode; the installed vanilla consumer checks mahila candidates too. The browser follow-up gives the tested environment and scope.

A separate local tarball with 13 allowlisted files passed JavaScript public imports/options/isolation and strict TypeScript NodeNext core without DOM, DOM and Bundler consumers/tutorials. The emitted core tutorial ran in Node. The installed package was unreleased source using the existing alpha.2 manifest version; these checks neither identify nor replace the registry alpha.2 artifact. The browser report identifies the exact tested tarball; its checksum applies to that recorded archive.

npm run test:site passed the website build, static link checks and 11/11 website browser checks. These software gates do not establish physical mobile/IME support, independent human spelling review or representative Nepali accuracy.

Reproduce ​

Prepare the original benchmark/data/review-batch-001/cases.jsonl using the review-batch instructions. Its SHA-256 must remain 2f92bcf5a16d35b6a31dca052e4e358ffe417b5dcec0e8cc704d17f8acbf23e3. Preserve directories containing edited human review sheets.

sh
NATIVE_FORMS_BASELINE_DIR=$(mktemp -d)
git archive 5baaad071a5a673c756eb48e2f7523a05c3295fd \
  src package.json benchmark/cases.jsonl benchmark/run.js benchmark/reports \
  | tar -x -C "$NATIVE_FORMS_BASELINE_DIR"
node benchmark/measure-native-forms.js "$NATIVE_FORMS_BASELINE_DIR" \
  --cases benchmark/data/review-batch-001/cases.jsonl \
  --output benchmark/data/native-forms-current-comparison.json

npm test
npm run benchmark -- --check
npm run benchmark:source-reviewed -- \
  --cases benchmark/data/review-batch-001/cases.jsonl \
  --output benchmark/data/native-forms-current.json

Choose a new output filename each time; both measurement commands refuse to overwrite an existing report. The dated comparison verifies the baseline's immutable file identities, preservation of the historical fixture and reports, and this batch's source/research scope before scoring exact Unicode. Its pins identify this particular update; a later engine change needs a new dated comparison rather than replacing this record. The current-engine source-review command reports remaining mismatches without turning selected development references into a language-accuracy gate.

Records ​

Open source. Nepali first. Experimental developer alpha on npm.