Proof belongs in the development loop
Contracts, proof obligations and counterexamples are designed to return to source-level tooling instead of living in a separate formal-methods silo.
Aura is a proof-driven systems programming language and developer platform. It connects source semantics, Z3-backed verification, development execution, native-oriented backends and editor feedback around one language pipeline.
cell transfer(balance: u32[0..10000], amount: u32) -> u32:
requires amount <= balance
ensures result <= balance
val next: u32 = balance - amount
assert next <= balance
nextAura’s repository already spans frontend, semantic analysis, IR, verification, development execution, backends, runtime, packages, FFI, language-server tooling, Sentinel, plugins, release engineering and Android integration. The website treats those as one architecture — while keeping maturity boundaries explicit.
Contracts, proof obligations and counterexamples are designed to return to source-level tooling instead of living in a separate formal-methods silo.
Aura keeps an AVM development path alongside C-oriented and evolving LLVM IR paths rather than hiding backend maturity behind one marketing label.
FFI, unsafe calls, solver assumptions, backends and external toolchains remain visible parts of the trusted computing base.
The same language pipeline feeds verification, the development VM and native-oriented backends. Backend equivalence is an engineering concern of its own; a source proof is never silently promoted into a claim that every downstream compiler stage is formally correct.
Proof obligations, Z3 profiles, counterexamples, summaries, region/linear analysis.
Aura’s current implemented/reference-backed surface is intentionally smaller than a stable 1.0 specification. The language already exposes contracts, range refinements, loop reasoning, resource-sensitive rules and explicit foreign-code trust boundaries.
Correctness intent is visible at boundaries and inside functions.
Range information can participate directly in proof obligations.
Loops can expose inductive invariants and termination-oriented hints.
Foreign code is placed inside a visible trust boundary rather than hidden.
The current reference distinguishes synchronous and asynchronous flow operators.
Current MVP rules describe move behavior for resource-like values.
The verifier is only half the product. Aura’s LSP protocol carries proof phases, structured diagnostics and counterexample metadata back toward the editor so a failing obligation can become something a developer can inspect and repair.
cell bounded_inc(x: u32[0..99]) -> u32:
requires x < 100
ensures result <= 100
val next: u32 = x + 1
assert next <= 100
nextThis panel explains the repository’s proof flow; it is not a browser-hosted compiler session.
Aura exposes a real command surface today. The site distinguishes code-backed commands from experimental or evolving paths instead of presenting roadmap vocabulary as executable fact.
Profiles dev/release/verify; modes avm/llvm/hybrid; backend selection and native link inputs.
Feature-gated Z3 path with fast, ci and thorough SMT profiles plus trusted-core report output.
The primary CLI owns project initialization, Aura test discovery, linting and canonical formatting.
Bootstrap C/C++ header bridging with link inputs and best-effort refined type mapping.
Proof streaming, diagnostics, counterexample transport, cache and debugger/performance integration.
Implemented and feature-gated, but still evolving. Current source should not be marketed as a finished optimizing backend.
Sentinel is a Tauri 2 + CodeMirror desktop environment built around Aura-specific language-server capabilities rather than a generic syntax skin.
cell transfer(balance: u32[0..10000], amount: u32) -> u32:
requires amount <= balance
ensures result <= balance
val next: u32 = balance - amount
assert next <= balance
nextamount ≤ balance enters the function contract.
Source-level assertion remains linked to verification feedback.
Aura-specific extensions are versioned separately from ordinary LSP compatibility.
Packages, FFI, plugins, an SDK, an IDE, application UI work, Android tooling and deterministic release engineering already exist in the monorepo. They are presented as integration surfaces with their real maturity — not as blanket stability guarantees.
Tauri 2 + CodeMirror desktop environment designed for proof-stream UX, diagnostics, counterexamples and debugger integration.
PackagesRegistry/resolver/cache/lockfile/security/signing modules with code-backed package command surfaces.
PluginsPlugin manifests and verification-aware extension paths keep domain integrations outside the core language.
ApplicationsEvolving UI/application layer with Raylib support, layout, input, grid, image/media and application examples.
PlatformSDK/NDK setup, runtime cross-build paths, sample APK workflow and emulator/build helper tooling.
ProvenanceDeterministic SDK ZIPs, SHA-256, attestation JSON, optional Windows signing and Sentinel sidecar staging.
Aura is strongest when the website states exactly what the repository establishes. The public status layer deliberately separates implementation, feature gates, evolving backends, targets and claims that are not yet justified.
Aura is public as a serious pre-stable language platform. The website is an orientation layer; the repository remains the implementation source of truth.