diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..1ff1af9 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,27 @@ +# CLAUDE.md — interscript-py + +The official Python runtime: deterministic transliteration over the +ISC map corpus, parsing the map DSL directly. Project purpose and +direction: `interscript-models` README. + +## Facts that bite + +- The engine parses `.imp`/`.isc` directly — no precompiled map + modules, no monorepo bootstrap in the runtime path. +- Release = push `v*` tag → PyPI trusted publishing. The publisher is + currently registered against the archived `secryst/secryst-py` and + must be re-registered by the owner to this repo before any release + can exchange credentials (the 0.2.1 blocker). +- Maps that need vocalized input dispatch to a crystal through the + optional phonological layer (`secryst` stdlib function); an engine + without it cannot execute maps that declare a vocalization step. +- Measured coverage is stated against maps' own embedded tests — keep + that table honest; document gaps in the suite, not in prose. + +## Laws + +- PRs only, never commit to main. Versions are owner decisions. +- No unconditional sibling-repo paths: dependencies resolve from the + registry; local paths are conditional fallbacks only. +- Package immutability at runtime: no writes into the installed + package. diff --git a/README.adoc b/README.adoc index adc4dc7..73bc066 100644 --- a/README.adoc +++ b/README.adoc @@ -10,6 +10,13 @@ This version (0.2.0) parses the `.imp` map DSL *directly* — no pre-compiled Python map modules or monorepo bootstrap required. Point it at the map corpus and go. +Interscript turns transliteration standards from paper tables into +executable, verifiable software: authority schemes encoded once in the +ISC language, every runtime producing provably identical output, and +neural models (diacritization, G2P) published under the same proof +regime — pinned artifacts, sha256 verification, frozen conformance +vectors. + Maps that need vocalized input (undiacritized Arabic, nikud-less Hebrew, unsegmented Thai) dispatch to a https://www.secryst.org[secryst crystal] through the optional phonological @@ -80,6 +87,16 @@ remaining gaps are documented in the test suite: - npm: `npm install interscript` (https://www.npmjs.com/package/interscript) - This: `pip install interscript` +== Direction + +Per-language SOTA rows land through the config-driven training spine in +https://github.com/interscript/interscript-models[interscript-models] +(a language is two YAML files; gates are machine-checkable). The +implementable contracts are the ISC map language and the IMF v1 model +format with frozen conformance vectors. See the +https://github.com/interscript/interscript-models#direction-audit-2026-10[project +direction]. + == License BSD-2-Clause. See link:LICENSE.adoc[LICENSE.adoc].