AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
ELANG — a portable, deterministic definition and packaging format for constructed languages, with its Rust reference tooling.
Developer toolsRust · HTMLGitHub @RockyDevWorksOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
An open, standardized digital format for defining, preserving, and exchanging human and constructed languages
Taken from the repository README
Loading the full README.
Read the full README ↗Electronic Language — An open, standardized digital format for defining, preserving, and exchanging human and constructed languages.
ELANG is a portable, deterministic definition and packaging format for
constructed languages, together with its Rust reference tooling. This repository
is the reference implementation: the .elang binary container, the KDL 2.0
package.epf descriptor, the KDL 2.0 .eld Linguistic Definition extension
(v0.1.0 ships the phonemes module only), SHA-256 integrity, canonical
reproducible encoding, and a reader/writer/validator SDK plus a CLI.
The public documentation site is built with Zensical from
the Markdown sources in docs/public/ and configured by
zensical.toml. It is published to GitHub Pages by
.github/workflows/docs.yml on pushes to main
that touch the docs, and is served at
https://rockydevworks.github.io/elang-rs/.
The internal normative material (the steering contract, ADRs, requirements, and
the open-artifact tracker) lives under docs/ and .kiro/ and is the
source of truth that the public site is derived from.
Pre-release, tracking v0.1.0. Several normative artifacts (the exact approved
IPA allowlist, its canonical SHA-256, and the META-INF/integrity.kdl grammar)
are open artifacts that must be produced and reviewed before the conformance
suite is frozen. See docs/specification.md and the
open-artifact tracker in
.kiro/specs/elang-v0.1.0/requirements.md.
ELANG keeps several independent version domains. A change in one does not imply a change in another.
| Domain | Value | Notes |
|---|---|---|
| Specification release | 0.1.0 | The normative spec this code targets |
| Binary container | 0.1.0 | Header major 0, minor 1 |
EPF (package.epf) | 0.1.0 | Descriptor schema |
| ELD (phoneme inventory) | 0.1.0 | .eld schema |
| Language release | strict MAJOR.MINOR.PATCH | Chosen by each language author |
| Canonical compression profile | elang-canonical-zstd-v1 | Reproducible Zstd settings |
The reader supports binary 0.1 only. Header/format.version's first two
components MUST match the header major/minor; the patch component cannot change
the binary grammar.
A compliant phoneme-only package contains exactly these logical resources:
Header/format.version
mimetype
package.epf
META-INF/integrity.kdl
Linguistics/phonemes.eld # path configurable via the EPF manifest
ELANG does not define lexicons, phonotactics, morphology, syntax, semantics, prosody, audio, GUI, dependency management, repository ownership or publisher signatures. A verified package digest proves integrity, not authorship.
crates/
elang-core/ IDs, errors, limits, validated models
elang-container/ header/index/footer, frame I/O, reader/writer
elang-kdl/ constrained KDL 2.0 parsing and canonical emission
elang-epf/ package.epf schema and validation
elang-eld/ phoneme model, IPA, `when` AST, canonical ELD
elang-repertoire/ pinned Unicode/IPA allowlist and verification
elang-integrity/ integrity manifest and SHA-256 verification
elang-conformance/ fixture runner and interoperability checks
elang-cli/ inspect, verify, validate, pack, unpack, canonicalize
specs/ authoritative schemas and registries
fixtures/ positive, negative, byte-exact, fuzz seeds
docs/ normative spec, ADRs, security and CLI docs
.kiro/ steering contract and the v0.1.0 spec breakdown
cargo build --workspace
cargo test --workspace
cargo clippy --workspace --all-targets
The build pins channel = "stable" via rust-toolchain.toml.
The minimum supported Rust version (MSRV) is 1.90, declared as
rust-version in every crate and enforced in CI. Raising the MSRV requires an
ADR under docs/decisions/.
The elang binary will expose:
elang inspect <file> stages 1–7 (structure only, no integrity)
elang verify <file> stages 1–11 (all resources hashed)
elang validate <file> stages 1–12 (full ELD semantic validation)
elang pack <dir> -o <file> build a package
elang unpack <file> -o <dir> extract safely (no traversal/symlink escape)
elang canonicalize-eld <in> -o <out>
elang repertoire info show pinned chart/Unicode/digest
inspect is not a full integrity check; only verify and validate hash
every resource. The CLI exits non-zero on any validation failure.
See SECURITY.md. In short: ELANG defends against malicious
archives (decompression bombs, path traversal, parser abuse) with bounded,
streaming, checked-arithmetic code, and it never treats a hash or URN-like
identifier as proof of publisher identity.
Licensed under the Apache License, Version 2.0. See LICENSE.