Skip to content
sanskrit-lexiconPublic

About

Data for all dictionaries of Cologne. Now all corrections are made in this git-based workflow.

Topics

Resources

Code of conduct

Contributing

Stars

23 stars

Watchers

3 watching

Forks

Repository files navigation

csl-orig

Created: 14-06-2026 · Last updated: 11-07-2026

csl-orig is the canonical source-text store for the Cologne Digital Sanskrit Dictionaries (CDSL) — the single git-tracked home for the plain-text bodies of every dictionary the project publishes: PWG (Petersburger Wörterbuch, large), PW (small), MWS (Monier-Williams), PWK (Böhtlingk's shorter edition), GRA (Grassmann's Rig-Veda dictionary), AP90 (Apte 1890), FRI (Frisch's reader), and dozens more — currently 45 dictionary subfolders under v02/, from abch to snp and beyond.

Every downstream artifact — the generated XML, the web front-ends (csl-websanlexicon), the API layer (csl-apidev), the dashboards — traces back to a v02/<dict>/<dict>.txt file in this repo. Get a correction wrong here and it propagates to every reader-facing surface in the project; that is why this repo runs a stricter write discipline than almost any other in the org.


Why this repo is read-only for direct pushes

Upstream maintainers Jim Funderburk and Dhaval Patel commit corrections directly to csl-orig — that is the canonical maintainer pattern. Agents and downstream contributors do not push directly. Instead, corrections are:

  1. prepared and XML-validated locally against a snapshot of the target dictionary file,
  2. queued together with an audit-trail change file in the sibling csl-corrections repo,
  3. delivered as one consolidated pull request to csl-orig roughly once a month — never as a stream of small PRs or bot comments.

This exists because csl-orig sits at the root of the CDSL dependency graph: noisy, frequent, or unvalidated writes here would ripple into every dictionary's generated XML and every reader-facing site at once. The batching discipline is the load-bearing safety mechanism, not a formality. The full procedure is documented in the canonical csl-corrections correction-workflow.md.

Note: this read-only-for-direct-pushes rule governs dictionary text corrections. Ordinary repository-maintenance content (this README, CI config, and the like) is delivered by normal pull request.


Correction workflow (summary)

The full 8-stage sequence — snapshot, apply via updateByLine.py or an equivalent controlled edit, regenerate + XML-validate, write the csl-corrections audit trail, then deliver by batched PR — lives in the canonical csl-corrections correction-workflow.md. This repo's own self-contained operator view — the 8 stages, the CFR preflight, the local safety hooks, the delivery split, and every gotcha — is docs/CORRECTION_MANUAL.md. In short:

  • v02/<dict>/<dict>.txt files are canonical and may only change through the documented workflow (snapshot → change file → validate → audit trail → batched PR).
  • Before applying any correction issue, check the sibling csl-corrections CFR and batch history for the same dictionary / L-number / headword — if it was already rejected or deferred, don't re-patch without a maintainer reopening the decision.
  • Accepted corrections choose between a plain replacement or an inline correction layer ({{old->new||YYYYMMDD|author|issue|}}) that preserves the original reading.
  • XML validation (csl-pywork/v02/generate_dict.sh + xmlchk_xampp.sh, or make_xml.py's "All records parsed by ET" on Windows without XAMPP) is required before any commit.

Repository layout

v02/
  <dict>/
    <dict>.txt      canonical source text (the file every correction targets)
    ...             per-dictionary auxiliary files (varies by dict)

45 dictionary directories currently exist under v02/, including abch, ap90, ben, fri, gra, ieg, mw, pw, pwg, pwkvn, shs, and skd — this repo carries the full CDSL corpus, not only the handful of dictionaries the parent org actively maintains tooling for.


Status

Issues are tracked against the Cologne issue taxonomy. As of 11-07-2026: 30 open, 2777 closed. The overwhelming bulk of closed work sits under the Digitization Quality milestone (2709 closed); Structured Data (43 closed) and Major Enhancements (14 closed) hold the rest, with a small tail of legacy date-labelled milestones. Recent commit activity is dominated by per-dictionary correction commits flowing through the documented workflow, plus front-matter and paper-related work on specific dictionaries.


Tech stack

  • Runtime: Python (correction tooling, updateByLine.py, diff generators)
  • Validation: csl-pywork (generate_dict.sh, xmlchk_xampp.sh, make_xml.py for the Windows-without-XAMPP fallback)
  • Pipeline docs: csl-observatory tooling runbook

Dr. Mārcis Gasūns

About

Data for all dictionaries of Cologne. Now all corrections are made in this git-based workflow.

Topics

Resources

Code of conduct

Contributing

Stars

23 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages