A verifier-first programming language for bounded components.
AIR is a compact language and CLI for deterministic components, including logic authored with AI assistance. A module declares its permitted surface before a host composes it.
.air modulesairc and @underskys/air-coreWhat AIR checks
AIR verifies declared imports, emits, capabilities, effects, bounded execution, deterministic semantics, package evidence, and replay or conformance surfaces where available. It helps reviewers inspect an explicit component boundary instead of trusting generated code as an authority.
What the host keeps
AIR does not own filesystem access, networking, credentials, user interfaces, rendering, assets, hardware, device permissions, or model-provider calls. The host supplies explicit contracts, rechecks live state, and performs any allowed effect.
Current release status
The published npm latest is @underskys/air-core version 0.51.0. AIR ABI 0.10 and 0.11 remain supported, while typed decisions in candidate ABI 0.12 are disabled by default and require explicit opt-in.
AIR 0.53 is in preparation
AIR 0.53 is being prepared. It is not available from npm yet, and this page does not declare its feature set or release acceptance. The public install command still resolves to 0.51.0. Product downloads and browser demos use separately pinned artifacts; a website update does not upgrade their language runtime.
AIR 0.52 technical candidate
The 0.52 implementation passed independent bounded candidate QA, but has not been published to npm. Until publication, @underskys/air-core@latest remains 0.51.0. The private development workspace is not the public npm package.
- Explicit source profiles. The CLI and SDK distinguish legacy AIR from the finite typed subset. Unsupported typed forms fail closed.
- Checked typed execution. Verified build and invocation cover a small subset with exact i64 values, closed enums and flat sums. Calls, loops, imports and host effects are outside that subset.
- Reusable runtime. A bounded, process-local cache reuses compiled modules while the host rechecks admission for every operation.
- More precise evidence. Build records bind the toolchain implementation; diagnostics and pressure-conformance checks were tightened.
Existing AIR ABI 0.10 and 0.11 remain supported. ABI 0.12 is still a candidate and the Host ABI is unchanged. Swift/Wasm cross-host execution and live consumer replay are separate evidence lanes, not completed 0.52 claims. See the changelog for the release record.
0.52.1 development maintenance
The unpublished maintenance work tightens resource accounting, region bounds, borrowed-memory bindings and verifier/input limits. Unknown or overflowing resource bounds must not become execution permission. This work adds no 0.53 language feature and changes no AIR ABI or Host ABI version; package-global resource composition remains an open limitation.
AIR in the products
Vela Cinema 0.26.2 uses AIR for paired remote commands, watch-along correction and reviewed Studio scenario admission. Its PhotoLab recommendation boundary currently has a native fallback, not a connected AIR executor.
Vela Learn delivers portable lesson packages with declared interaction and effect boundaries. Native package admission and the host effect gate check identity, capabilities and budgets; the inspected development build still executes lesson rules in Swift, not compiled AIR.
Start with AIR
Install the public package, verify a small .air module, then attach it to a host that owns the real platform effects.
npm install -g @underskys/air-core@latest
airc verify module.air
AIR Core