Where AEL 0.1 actually stands
This project holds every claim to what the code enforces. This page is the record the rest of the site is written from. If something is planned, it says planned. If something has never been executed, it says so.
As of 19 September 2026.
Compiler commit 6f9c44a.
Contract marker ael-p0/0.1.48 over 418 frozen inputs.
ael --version prints ael 0.1.0-dev.
Every measurement below was taken on one Linux x86-64 workstation, offline. No result on this page has been reproduced on a second machine, and there is no continuous integration anywhere in this project: that is the owner's standing rule, not an oversight.
0.1 is not released
It has never been released, and nothing has ever been distributed. 0.1 is incomplete — not finished-but-unshipped.
| Measure | Value |
|---|---|
| Acceptance boxes closed | 22 of 48 |
| Tasks in the 0.1 closure | 40 total — 27 Done, 13 open, of which 1 is Blocked |
| Effort inside the closure | 107 points Done, 78 In progress, 0 Planned, 2 Blocked of 187 — roughly 57% complete by effort |
| The whole backlog | Under 8% complete |
| Implementation slices | 18 on the 0.1 path — 5 complete and reviewed; slice 6 is in progress and its latest commit is deliberately unfinished (formatting dirty, one test failing, no gate run, no reviewer) |
| The two acceptance tasks that would define the release | Task 267 (initial direct-native readiness) and task 24 (core compiler and Host execution milestone) are both still In progress. Nothing has been accepted. |
There is nothing to install
No installer, package, tarball, binary, checksum or signature exists in any of the
project's repositories. The compiler crates set publish = false. The only
way to obtain a compiler today is to clone the Rust source and run
cargo build with the pinned Rust toolchain — which is exactly the
prerequisite AEL intends its eventual users not to need. This site has no download
page and will not get one before a verified artifact exists.
The two sibling services are also unbuilt. docs.ael.openeng.ai has no documentation server, site generator or deployment. pack.ael.openeng.ai is a planned service with no server, database, package store, registry API, installer or deployment implemented. More on both.
What works today
Each item below was run on this project's workstation at commit 6f9c44a. The programs and their output are on the language page; the commands are on the CLI page.
The pipeline
- Source →
.aelir→ native static ELF → runs, on linux-x86_64. - The linked linux-x86_64 image is a static ELF that needs only the kernel: no libc, no dynamic loader.
filereports “statically linked”;lddreports “not a dynamic executable”. - A linked image issues two kinds of syscall and performs no implicit heap allocation. Tracing
./fibonaccishows three lines: theexecvethat starts it, thenwrite(1, "55\n", 3)andexit_group(6765)— nobrk, nommap. - No external build tools. Tracing a build for
execverecords exactly one: theaelprocess itself. No assembler, linker, compiler or signing tool is invoked. - The compiler has zero external Cargo dependencies —
Cargo.lockholds exactly seven[[package]]entries, all first-party — and the workspace setsunsafe_code = "forbid". - Machine-readable
--jsonoutput carries per-stage receipts with SHA-256 digests and producer identities (ael.frontend,ael.x86_64.scalar,ael.elf), runtime ABIael-rt-freestanding/2, layout ABIael-abi0.1-lp64. - DWARF 5 debug line tables on linux-x86_64 only, via
ael build … --debug --sources <dir>. One measured build reported 1407 debug bytes locating 28 of 55 source-map rows at base 0x401000, and the debug image still ran. ael doctorprints an honest capability report naming the qualified baseline and the unavailable surfaces, and exits 2.
The language
- Eight integer kinds,
booland unit, with checked arithmetic and checked shifts at every width. - Checked-by-default arithmetic, with
wrapping_*andsaturating_*as the only explicit escapes. - Structs, fixed arrays, references and bounds-checked indexing, including by-value aggregate parameters and results.
- Tagged values: declared
enum,Option<T>,Result<T, E>and the four error carriers, withmatchand checked payload access. - Bounded
Vec<T, N>andStr<N>whose capacity lives in the type and which never allocate. - An operation that will not fit returns a typed carrier instead of trapping, and leaves the value byte-identical.
- The eight checked
cast_*conversions, range-tested at the source's signedness. - Seven checked-failure categories, each printing
AEL panic: <category>on standard error and exiting 101. - A program's exit status is the low eight bits of the
i64itsmainreturns.
Projects and packages
ael initsource/1projects (main.ael,pack.ael,metadata.ael) check, compile and build.- Offline package install, remove and repair against a local catalog directory, behind a crash journal that all three recover. Network acquisition is refused outright.
What is refused or absent
Some of these are deliberate rulings rather than missing work, and they are marked as such. All of them are true today.
- No string output at all. A classic “hello, world” is not writable in AEL 0.1.
printacceptsi64andboolonly. - No heap and no dynamic strings. A deliberate decision: “AEL 0.1 defines no heap and no dynamic strings.” The support ABI defines no allocation symbol.
- No floating point of any width, in any position. A float literal is refused by the parser.
- No user generics and no runtime handle types.
Option,Result,VecandStrare the whole generic vocabulary. - No function values and no indirect calls. A call must name its callee directly.
- Agents are a reserved keyword with no semantics.
agent,node,edgeandhookdeclarations refuse to compile. There is no agent loop, no agent runtime, no model provider and no LLM call anywhere in the compiler. - No network of any kind. No first-party crate contains
std::net,TcpStreamorTcpListener. Package acquisition is local-catalog only. - No threads and no concurrency an AEL program can create; there is no language surface that could name one.
- No file I/O. Output is
print, to standard output. - No convenience
ael run, no project run, no project test execution. A program is produced bycompilethenbuild, and launched by the operating system, never by the compiler. - Only optimization level
none. There is no optimizer and nothing to compare against. - No performance measurement of any kind exists. The limitation register records that physical-board evidence and matched performance measurements need boards and a measurement rig, and neither exists here. There is no benchmark and no comparison against any other language, anywhere in the project.
- No installer, download, release artifact or published binary exists anywhere.
The two agent commands are read-only
ael agent describe and ael agent resolve-prompt are
read-only, offline analysis of a candidate JSON descriptor file. They run nothing. The
command's source contains zero references to HTTP, sockets or any model provider. They
are not an agent runtime and this site does not present them as one.
The platform position
AEL 0.1 qualifies native execution for linux-x86_64 alone. The macos-aarch64 producer builds, links and format-verifies real Mach-O ARM64 images on this host, but no image it has written has been executed on a macOS machine since 8 September 2026, so 0.1 makes no execution claim for it. windows-x86_64 compiles to binary AEL IR and can be inspected; no Windows image has ever been produced. macOS and Windows are next-version scope.
linux-x86_64 — qualified and executed
Compile, build and run all work. Every example on the language page ran here. This is the sole 0.1 baseline, fixed by the owner's decision of 17 September 2026: use Linux as the baseline environment, and macOS and Windows take it as the next environment.
macos-aarch64 — emitted, linked and format-verified, never executed
ael build … --target macos-aarch64 --profile macos-arm64-scalar-v1 succeeds
and writes a genuine image: file reports “Mach-O 64-bit arm64 executable”,
16656 bytes. The build prints its own unsolicited honesty note saying that 0.1 qualifies
native execution for linux-x86_64 alone and that macOS is next-version scope.
Two things that are easy to lose and are therefore stated here. A macOS host was
available between 6 and 8 September 2026, and it executed only the i64 and
bool scalar language of that week: nothing the compiler learned from
9 September onward — no struct, array, reference, tagged value, Vec,
Str, aggregate call, or any of the index, discriminant, division or output
failures — has ever executed on macOS. And the Mach-O image declares
/usr/lib/dyld and /usr/lib/libSystem.B.dylib, so the “needs
only the kernel, no foreign runtime” property belongs to the Linux image alone and is
never generalised here to every target.
windows-x86_64 — compile and inspect only
ael compile … --target windows-x86_64 succeeds and produces binary AEL IR
that ael inspect can read. ael build refuses: “native execution
is unavailable for this command or target”. No Windows image has ever been produced, let
alone executed.
This site therefore never uses the words “cross-platform”, “runs on Linux, macOS and Windows”, “three supported platforms” or “multi-platform builds”. Exactly one platform executes.
The two escapes from the checked model
“Every failure is a checked failure” is false, so this site does not write it. There are seven checked-failure categories plus two documented conditions the language does not model.
- stack-exhaustion
-
Deep recursion dies of
SIGSEGVwith no diagnostic: noAEL panicline, empty stdout, empty stderr, exit status 139. Neither profile bounds recursion depth or installs a guard page. The reproduction is on the language page. - sigpipe-before-output-io
-
A
printinto a closed pipe kills the process before theoutput_iocategory can fire: no panic line, no exit 101.
The evidence, and what it does not cover
These are the real numbers. The paragraph after them matters as much as the numbers do.
1,503 tests passing
cargo test --workspace --locked --offline at commit 6f9c44a:
1,503 passed, 0 failed, 0 ignored across 19 test binaries, exit 0. Reproduced on
19 September 2026.
100 language fixtures
The language-fixture campaign records 100 passed, 0 failed, 0 native_unavailable.
Coverage of the compiler source
100% of 49,778 lines and 4,796 functions over 201 files — line and function coverage of the compiler's Rust source. It is not a statement about AEL programs.
A frozen contract
Contract marker ael-p0/0.1.48 over 418 frozen inputs, accepted
19 September 2026.
What that evidence does not cover
- Branch coverage is unmeasured on the pinned toolchain.
- There is no sanitizer or dynamic-analysis evidence for the emitted machine code.
- The uncovered-region review is outstanding.
- No gate has ever run on a second machine. Every gate result recorded since 8 September 2026 was produced on one Linux x86-64 workstation, offline.
- There is no continuous integration at all, by the owner's standing rule.
So “fully tested”, “battle-tested” and “CI-verified” are not available words here. The honest sentence is the concrete one: 1,503 tests passing at commit 6f9c44a on one Linux x86-64 host.
Claims this site will not make
A marketing sentence that overstates the compiler's reach is treated in this project as the same kind of defect as a false record. This is the list, with the reason each one is refused.
| Claim | Why it is false today |
|---|---|
| Production ready, stable | The version string is 0.1.0-dev, 22 of 48 acceptance boxes are closed, 13 of the 0.1 tasks are open, both acceptance tasks are unaccepted, and the newest compiler commit is a knowingly unfinished work in progress with a failing test. |
| Faster than C, zero-cost, blazing fast | No performance measurement of any kind exists in this project. There is no benchmark, no rig, no comparison — and the only optimization level is none, so the compiler does not optimize. |
| Cross-platform | Exactly one target executes. See the platform position. |
| Install it today, download AEL | No installer, package, binary, tarball, checksum or signature exists anywhere. |
| Write agents in AEL, an agent runtime | agent is a reserved keyword that refuses to compile. There is no agent loop, model provider or LLM binding in the compiler. The name states the ambition; this site labels it as one. |
| Hello, world in AEL | print takes i64 and bool only. A sample that prints text would not compile. |
| Memory safe with no crashes, every error is checked | Two documented conditions escape the checked model. See above. |
| No runtime, needs only the kernel (stated generally) | True of the linux-x86_64 image only. The macOS image declares a dynamic loader and libSystem, so the claim is always scoped here. |
| An AEL-only package ecosystem, delivered | It is a requirement with pending migration and enforcement. The ecosystem page states it exactly. |
| Browse the docs, search the registry | Neither docs.ael.openeng.ai nor pack.ael.openeng.ai is deployed. |
| Fully tested, CI-verified | The 100% figure is line and function coverage of the compiler's Rust source. Branch coverage is unmeasured, there is no sanitizer evidence for emitted code, and there is no CI at all. |
| General-purpose, build anything, write web services | No heap, no dynamic strings, no string output, no floats, no generics, no function values, no threads, no network, no file I/O. |
If you find a sentence on this site that outruns this page, the sentence is the defect.