Documentation

Full language reference and guides.

SkCC

Skills Compiler.

EvoBench

Agent benchmark suite.

EpiContext

Evolutionary context management.

Nexa Organization

All Nexa projects.

Author

Owen — creator of Nexa.

← Back to Blog
2026.05.06

Introducing Harness Native — The Nexa v2.0 Vision

v2.0 Harness Native Architecture

Four months ago, we asked: what if agents were first-class citizens in a programming language? Nexa v1.x answered that question — agents, tools, protocols, and flows became keywords, not library wrappers.

Today, we're asking a deeper question: what if agent safety was enforced by the compiler, not by runtime frameworks?

This is the vision behind Nexa v2.0 — the first Harness Native Programming Language.

The Problem: Every Agent Framework is a Library

Look at the landscape of agent development today:

The common thread: every solution implements agent safety as an afterthought — a runtime library, a configuration file, a guardrail that catches errors post-hoc. None of them make safety a language property.

The Insight: Agent = Model + Harness

Modern AI systems engineering has converged on a fundamental formula:

Agent = Model + Harness

The model provides probabilistic reasoning. The harness provides deterministic control — managing execution loops, context windows, tool execution, state persistence, lifecycle hooks, and evaluation.

We formalized the harness as a six-tuple H = (E, T, C, S, L, V):

Component Name Responsibility
E Execution Loop When and how to call the model
T Tool Registry Schema generation and safe execution
C Context Manager Window management and auto-eviction
S State Store Persistence, snapshots, branching
L Lifecycle Hooks Feed-forward guides + feedback sensors
V Evaluation Interface Acceptance criteria verification

The Innovation: Harness as Language Constructs

Instead of implementing the harness as a runtime library, we're making each component a language-level keyword with compile-time verification:

// Nexa v2.0 — Harness Native
agent BugFixer(issue: string) {
    system `Fix: #{issue}`

    // Harness C: Context policy — compiler verifies eviction strategy
    context_policy {
        max_tokens: 100000,
        on_overflow: summarize_early_observations
    }

    // Harness L: Lifecycle hooks — compiler verifies hook signatures
    before_step { trace.log("starting", step_count); }
    after_step  { trace.log("completed", step_count); }

    // Harness E: Autonomous loop — compiler verifies exit condition exists
    autoloop max_steps: 50 exit_when: "issue is resolved" {
        // Harness E+L: AI-native error recovery
        try_agent {
            step();  // Reason → Act → Observe → Reflect
        } catch_correction(e: ToolError) {
            reflect `Tool failed: #{e.message}. Adjust and retry.`
        }
    }
}

This isn't just syntax sugar. The Harness Validator — a new compiler stage — enforces 26 rules at compile time:

Just as Rust's borrow checker eliminates memory bugs at compile time, Nexa's Harness Validator eliminates agent safety gaps before a single line runs.

The Rust Analogy

This is the analogy we keep coming back to:

Dimension Rust Nexa v2.0
Problem Memory safety Agent uncertainty
Mechanism Ownership + borrow checker Harness 6-tuple + Validator
Enforcement Compile-time Compile-time + runtime
Escape hatch unsafe { } unharnessed { }

Rust proved that you can eliminate an entire class of bugs by making safety a language property. Nexa v2.0 aims to do the same for agent development.

The Road to v2.0

We've planned 9 milestones from M0 (Harness Validator) to M9 (official release):

  1. M0: Harness Validator + Parser extension — compile-time safety checks
  2. M1: Execution Engine + Context Manager — autoloop and with_context
  3. M2: Tool Registry + Lifecycle Hooks — @tool and before_step/after_step
  4. M3: State Store + Trace System — snapshot/fork and decision tree export
  5. M4: Evaluation Interface + LLM Router — verify and dynamic model routing
  6. M5: Actor System — spawn/pass/await for multi-agent orchestration
  7. M6: WASM Sandbox + Full Integration — secure tool execution
  8. M7: AVM Bytecode Backend — Rust-powered Agent Virtual Machine
  9. M8-M9: Release Candidate + Official Release

Each milestone is independently deliverable and tested. v1.x code continues to work with zero modifications via --harness=off.

Join the Journey

Nexa v2.0 is the most ambitious rethinking of agent programming since the field began. We're building a language where safety isn't a library you import — it's a property the compiler guarantees.

If this vision resonates with you, star the repo, try the examples, and join the discussion. The future of agent programming is being written right now — in Nexa.


— Owen, May 2026