2.4 compatibility in Nexa 3.0
This page describes the retained 2.4 language/runtime path. Sources without a version declaration use this path. Start new Open Programs with Nexa 3.0; compare contracts in the migration guide.
Build inspectable Agent programs¶
Establish a complete end-to-end path, then add constraints for actual risks. This sequence supports moving from a prototype to a maintainable application.
- Define the objective, input, output schema, and acceptance criteria.
- Expose the smallest useful tool set and distinguish reads from risky side effects.
- Set explicit time, model-call, tool-call, and token budgets.
- Save
RunState, events, and checkpoints; remove credentials from logs. - Test completion, approval/denial, cancellation, timeouts, exhaustion, unknown outcomes, and recovery.
- Verify mechanisms with fixed fixtures, then evaluate task quality with the chosen model.
Context and caching¶
Manage Chat history by complete turns and preserve tool protocol pairs. Retain opaque native-provider items. Exact caching applies to fresh Chat runs without tools; measure hit rate on the actual workload.
Tool failures¶
Reject invalid arguments before side effects. Raise ToolOutcomeUnknown for uncertain network or shell outcomes so callers can verify them. Preserve failures instead of wrapping them as ordinary success text.
Regression evidence¶
Record source version, environment, fixture, assertions, and results. Successful compilation, offline semantics, and real-model quality are separate acceptance items. This site's capability/example inventory provides one working pattern.
Source and validation · tools / execution / verification / cache