# OERSI Language Forge — v0.2.0

**Status:** published experimental alpha. This is a real, runnable language toolkit, not a claim that every natural language is complete or that ASI has been achieved.

Language Forge addresses two concrete needs in the Darkoza/OERSI language workstream:

1. **OERSI Flow Language (OFL):** a typed, deterministic, side-effect-free programming DSL with a reference interpreter, parser, static type checking, examples, and negative security tests.
2. **EvoLex:** a versioned format and structural validator for concept-led vocabularies with locale-tagged terms, preferred forms, and relations. Locale coverage is extensible; this release includes a small Persian/English operations lexicon. Structural checks do not prove translation quality.

## Quick start

Requires Python 3.10+ and only the standard library. From this directory:

    python3 -m oersi_flow validate examples/greet.ofl
    python3 -m oersi_flow run examples/greet.ofl --inputs '{"name":"  Darkoza  "}'
    python3 -m oersi_flow validate-lexicon lexicon/core-operations.json
    python3 -m unittest discover -s tests -v

Example output from the run command:

    {
      "greeting": "Hello, Darkoza — welcome to OERSI.",
      "normalized_name": "darkoza"
    }

## Build and install

To build the pure-Python wheel from this directory, use `uv build --wheel`. Install the resulting wheel with `python -m pip install dist/oersi_language_forge-0.1.0-py3-none-any.whl`. The shipped wheel contains the interpreter and validator; the source repository contains specifications, examples, the sample vocabulary, tests, and release checksums.

## OFL language design

- Source is UTF-8 text with one declaration per line; comments start with #.
- Program starts with workflow NAME.
- input NAME: Text|Number|Bool declarations precede let bindings; let bindings precede one or more output declarations.
- Expressions are literals, variables, or calls to documented built-in functions. Exact grammar is in spec/grammar.ebnf; typing and runtime behavior are defined in docs/SEMANTICS.md.
- Static type checking runs before interpretation. Unknown names, functions, wrong types, duplicate declarations, extra/missing inputs, malformed syntax, and non-finite numeric results are rejected.
- The runtime has no eval, exec, imports, shell, filesystem access, network access, reflection, loops, or user-defined functions. Built-ins are pure transformations and arithmetic.
- Source, line, token, nesting, input-count and text-size limits are enforced. OFL is not a sandbox for arbitrary Python; it is a small language with no escape hatch to Python.

Built-ins: trim, lower, upper, concat, replace, length, add, subtract, multiply, divide, equal_text, equal_number, not, and, or, contains, and to_text.

## EvoLex vocabulary packages

See spec/evolex.schema.json and lexicon/core-operations.json. Each term is attached to a concept and locale, rather than treated as a bare word. The validator checks package structure, IDs, locale tags, preferred-form consistency, and relation targets. A successful check does not establish that a term is accurate, culturally appropriate, independently reviewed, or semantically equivalent in another language.

## Release gates and limitations

Passed gates are recorded in RELEASE-REPORT.md and SHA256SUMS.txt. This version is **not approved for production execution**. Before production integration, measure against representative workflow baselines, add property/fuzz testing, obtain an independent language/security review, and evaluate failure behavior under resource limits. Do not claim a language is faster, better, or more expressive than Python or other tools without controlled comparative evidence.

The package is designed so future language candidates can be registered and evaluated independently. The separate website-only **OERSI Word Lab 0.1.1** generates deterministic draft term candidates from supplied roots; it does not call a language model, prove global lexical novelty, or validate semantic quality. Every proposal remains `needs-review`. See `WORD-LAB-REPORT.md`.

Neither the package nor the Word Lab proves that a new language has been invented, translates all human languages, or establishes novelty over prior art. Publication and license status are documented in docs/PUBLICATION-STATUS.md; no reuse license has been selected in this release.

## Human-language registry (0.2.0)

The release includes `human-language-registry.json` and a schema for source-backed, institution-scoped official-language statuses. The seed registers the six UN official languages, the 24 EU official languages, the six named AU official languages (while retaining the AU’s open-ended “any other African language” clause), and the Persian project locale. These deduplicate to 28 institution-listed language codes and 29 product locale records. This is not a complete country-by-country legal inventory.

The core glossary has 10 concepts across 29 locales (290 term candidates). All lexicalizations are marked `needs-review`; structural checks do not prove translation accuracy or cultural fit. See `docs/HUMAN-LANGUAGE-COVERAGE.md`.
