Skip to content

Nexa v3.0.0 — Open Programs

Latest

Choose a tag to compare

@ouyangyipeng ouyangyipeng released this 23 Oct 13:58

Nexa 3.0.0 — Open Programs

Release: v3.0.0. Python 3.10+; Linux/macOS for the Open Programs runtime. Candidate execution requires Docker/OCI. Install the wheel from this GitHub Release; the PyPI project with the same name is unrelated.

python -m pip install https://github.com/Nexa-Language/Nexa/releases/download/v3.0.0/nexa_lang-3.0.0-py3-none-any.whl
nexa --version

Assets include the wheel, sdist, SHA256SUMS and a build provenance record. Source archives include the Rust AVM and the reproducible experiment harness.

A program owns its goals and evidence

Open Programs brings model-assisted compilation, persistent program revisions and conditional implementation reuse into one language contract. A .nx program declares typed goals, allowed capabilities and acceptance requirements. People can supply implementations directly; a configured model can fill open implementations. The compiler executes candidates in OCI, records deterministic checks and model reviews separately, and admits only results satisfying the current policy.

language "3.0" selects the new frontend. Existing 2.4 source and compiler APIs retain their versioned path. The Python reference implementation supports build and runtime goals, explicit dependencies, typed JSON boundaries, and the repository maintenance handler. See the core contract and usage guide.

Implemented workflow

  • Offline check reports source diagnostics and unresolved goals. build resolves declared build goals within a shared call, token and time budget; build --locked validates stored artifacts with zero model requests.
  • The versioned author protocol supports source revisions, resolution, clarification, events, cancellation and evidence explanation. CLI and author clients share the compiler and persistence model.
  • Immutable revisions, content-addressed objects, SQLite transactions and process leases support restart and conflict detection. New activities adopt a revision at a checkpoint; existing activities remain pinned. Unknown external effects require reconciliation.
  • Repository maintenance produces a typed patch and an exact diff. Applying it requires a separate grant covering the proposal, selected paths, baseline, policy, evidence, task and expiry. Retained original files and a journal preserve concurrent editor writes and interrupted application.
  • Local implementation capsules carry provenance, license, conditions and evidence. Receiving tasks validate compatibility and current evidence. A capsule cannot override an author's explicit implementation.
  • A .nx diagnostic advice pass can improve compiler diagnostics under a frozen external suite. C1/C2 locked bootstrap compares the pass and corpus outputs. Selecting the candidate requires approval. A separate 3.1-budget proposal demonstrates versioned syntax, migration and semantic comparison.

Real model integration and verification

The tested Aliyun binding uses qwen3.8-max-0902, ALIYUN_API_KEY, and ALIYUN_BASE_URL. Configuration stores variable names; keys stay in the provider process. The successful six-stage run records 11 requests, 12,075 input tokens and 1,486 output tokens over 46.537 seconds. Recorded responses also support offline replay through real OCI containers. Approval actors in these fixtures represent test authority.

The experiment harness records fixed synthetic tasks, stage budgets, source hashes, results and failures. With equal output schemas, Open Programs accepted 73/90 stages and the adapted 2.4 baseline 70/90; the no-reuse and no-feedback variants accepted 68/90 and 41/90. The report preserves the first round's baseline-schema correction, token totals and limits of the synthetic task set. See the execution record for the final test environments, audit fixes and validation scope.

Migration and supported scope

Use the 2.4 migration guide. Legacy state is read through a read-only SQLite snapshot and exported into an independent inert archive with a conversion report. Legacy approvals and unknown effects never activate a new program automatically.

The initial implementation targets local repository maintenance. Named environment, sandbox and acceptance clauses identify reference bindings; concrete capabilities, checkers and provider settings come from the explicit environment. Candidate execution is offline Python in OCI; models run through the compiler's bounded provider interface. Arbitrary candidate-initiated model or network RPC, remote multi-user authorization, public capsule distribution, full Python stack replacement and complete compiler self-hosting remain outside 3.0.0. The Rust AVM retains its 2.4 subset. External editor applications can consume the documented protocol; their UI releases are separate work.

Dependency security

The distribution requires AnyIO 4.14.2 or newer (below 5); the development lock retains the tested 4.15.1. This excludes the affected versions in the upstream TLS hostname advisory and process-pool stderr advisory, including installs into an existing environment.

Release provenance and verification

Item Result
Source 274379606e53c90d2d25774f6bb8984c777d0759, tagged v3.0.0
Pull request #3, Rebase and merge
CI PR matrix and main matrix
Python 3.10 / 3.12 / 3.14: 2329 passed each; 5 unconfigured PostgreSQL cases skipped, 3 benchmarks excluded
Rust AVM 141 default / 144 WASM tests passed; retained 2.4 subset
Package Clean tag source; 12 outside-checkout install checks passed, including stdlib, offline checking, OCI execution and locked output 43 with 0 model calls
Source distribution Rebuilt wheel is byte-identical to the release wheel
Website Successful deployment of the exact release source to nexa-lang.com

The final review also fixed offline checks accepting unversioned programs or duplicate acceptance requirements. Six added regressions include valid combinations; the current Open Programs and example suite has 206 tests. See the release preflight for the review and local validation history.

SHA-256:

b1dd3868c9ebf4abb144f6e59446a841bdf6fba10ddbac9e72b493a65c3cad04  BUILDINFO.json
aac0ef7bc2bff9d7fa7ae381c5b989226b65ad7ad0bd8bf1da12484ca2a49d8c  nexa_lang-3.0.0-py3-none-any.whl
31e0bf9cdd511278e1cd1c269ff0ae46a730fba3ba3842a0ed4286324763bdd5  nexa_lang-3.0.0.tar.gz

Publication acceptance

Published as Latest on October 23, 2026. All four assets were downloaded anonymously from the public release and matched the uploaded bytes and checksums. Installation from the public wheel URL into a new Python 3.12 environment passed all 12 checks, including OCI execution, standard-library loading, locked replay with zero model requests, and rebuilding the sdist.

The live website's 16 pages and assets returned HTTP 200 and matched the tagged source byte for byte. Nine public documents, including the installation guide, 3.0 specifications and migration guide, also matched the release source. Desktop navigation, release article, blog search and install-command copying passed. The 390px responsive preview used the same HTML, CSS and JavaScript now served in production.

The release-triggered Pages run was rejected before execution because the existing environment permits only main and tag v2.4.0. Deployment completed through the existing manual workflow on main, after verifying that main was exactly 274379606e53c90d2d25774f6bb8984c777d0759. The deployment used that SHA; environment protection rules and the published tag remain unchanged. Future tag-triggered deployments need their tag policy prepared ahead of release.