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.
Large outputs and artifacts¶
When a tool result exceeds RunConfig.max_tool_output_chars, the runtime stores the complete content in artifact_directory, defaulting to .nexa/artifacts. The model receives a bounded preview, content hash, and the __nexa_read_artifact tool name.
Configure the threshold¶
from src.runtime.run_state import RunConfig
config = RunConfig(
max_tool_output_chars=4000,
artifact_directory=".nexa/artifacts",
)
The threshold counts characters and has a minimum of 256. Content is identified by its hash. The model uses __nexa_read_artifact to retrieve bounded slices by character offset. These reads also consume the tool-call budget.
Operational guidance¶
- Return enough summary to help the model choose useful slices.
- Retain the artifact directory until related runs and recovery work finish.
- Treat text offsets as characters, keeping them distinct from UTF-8 byte positions.
- Apply the task-data policy to artifacts, checkpoints, and traces together.
See the capability inventory for behavior checks and source evidence.
Source and validation · artifacts