Status

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.

The 0.1 closure, from the project's own records at commit 6f9c44a.
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. file reports “statically linked”; ldd reports “not a dynamic executable”.
  • A linked image issues two kinds of syscall and performs no implicit heap allocation. Tracing ./fibonacci shows three lines: the execve that starts it, then write(1, "55\n", 3) and exit_group(6765) — no brk, no mmap.
  • No external build tools. Tracing a build for execve records exactly one: the ael process itself. No assembler, linker, compiler or signing tool is invoked.
  • The compiler has zero external Cargo dependencies — Cargo.lock holds exactly seven [[package]] entries, all first-party — and the workspace sets unsafe_code = "forbid".
  • Machine-readable --json output carries per-stage receipts with SHA-256 digests and producer identities (ael.frontend, ael.x86_64.scalar, ael.elf), runtime ABI ael-rt-freestanding/2, layout ABI ael-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 doctor prints an honest capability report naming the qualified baseline and the unavailable surfaces, and exits 2.

The language

  • Eight integer kinds, bool and unit, with checked arithmetic and checked shifts at every width.
  • Checked-by-default arithmetic, with wrapping_* and saturating_* 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, with match and checked payload access.
  • Bounded Vec<T, N> and Str<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 i64 its main returns.

Projects and packages

  • ael init source/1 projects (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. print accepts i64 and bool only.
  • 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, Vec and Str are 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, edge and hook declarations 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, TcpStream or TcpListener. 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 by compile then build, 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 SIGSEGV with no diagnostic: no AEL panic line, 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 print into a closed pipe kills the process before the output_io category 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.

Refused claims and the fact that refuses them.
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.