ZeroClaw

ZeroClaw opens an agent-portability contract beside context-limit failures

ZeroClaw opens an agent-portability RFC while reports say interactive sessions ignore a configured 131,072-token limit and oversized tool results can make a turn unrecoverable. Portability is arriving beside proof that runtime limits are not yet portable.

← Back to homeOriginal source ↗

zeroclaw-labs/zeroclaw issue #10069 is the inspected primary source: “RFC: Agent Portability.” The related records below were inspected as supporting context rather than independent confirmation.

The facts

- zeroclaw-labs/zeroclaw issue #10069 was created 2026-08-18T00:09:09Z and was open at inspection; its title is “RFC: Agent Portability.” - zeroclaw-labs/zeroclaw issue #10068 was created 2026-08-18T00:08:55Z and was open at inspection; its title is “[Bug]: Interactive agent session caps context at 32,000 tokens, ignoring max_context_tokens = 131072.” - zeroclaw-labs/zeroclaw issue #10067 was created 2026-08-17T23:33:42Z and was open at inspection; its title is “[Bug]: One oversized tool result is unrecoverable — the shell output cap is a 1 MB memory bound, not a context bound.” - The repository reported 32609 stars, 722 open issues, default branch master, and last push 2026-08-17T23:03:15Z. - The latest tagged-release baseline checked was v0.8.4 published 2026-08-02T21:00:00Z.

What changed

zeroclaw-labs/zeroclaw issue #10069 reports: Problem Export and share agents with other deployments. Proposal I propose a 3-phase implementation of agent portability. 1. Native export bundles. These bundles most faithfully transcribe the agent bundle as it exists in zeroclaw, including config.toml snapshots and a workspace export. This export is designed for maximum feature compatibility -- it's expected that native exports will provide the widest capability surface. 2. Import wizard. Importing agents includes decisions about risk in addition to populating secrets for MCP servers in particular. Rather than importing a broken configuration, the import flow should prompt the user to populate any secrets, or, in the case of model providers, select an alternative. 3. https://agent-plugins.org/ support. The export and import flow are upgraded to support the agent-plugins format. This achieves ecosystem compatibility while retaining a native-to-native workflow with wider capabilities. Design sketch Interface shape Manifest fields, all machine-readable so the import flow consumes them rather than re-deriving them: | Field | Phase 2 use | | --- | --- | | format_version | Gate for the agent-plugins work; 1 is native-only. | | root_agent, provenance | Identify and attribute the bundle. | | required_secrets | The prompt list: config paths in the form zeroclaw config set accepts. | | risk_flags | The accept/deny screen: kind +

zeroclaw-labs/zeroclaw issue #10068 reports: Affected component runtime/daemon Severity S2 - degraded behavior Current behavior Session displays ctx: 15,538 / 32,000 and compacts/limits at 32k. The interactive agent session (zeroclaw agent --agent ) caps usable context at 32,000 tokens regardless of the configured max_context_tokens value in the runtime profile. The session context indicator shows X / 32,000 even when the profile specifies 131072 and the underlying model is loaded with full context. Expected behavior Session should honor max_context_tokens = 131072 from [runtime_profiles.default], displaying X / 131,072. Steps to reproduce Impact Long-context workflows (studying from large documents, extended quiz sessions, large codebase analysis) hit the 32k ceiling and trigger unwanted compaction even when the model and config both support far more. The extra context the user paid for in VRAM goes unused. Logs / stack traces ZeroClaw version 0.8.4 Rust version 1.97.1 Operating system CachyOS x86_64 Regression? Yes Pre-flight checks [x] I reproduced this on the latest master branch or latest release. [x] I redacted secrets, tokens, and personal data from all submitted content.

zeroclaw-labs/zeroclaw issue #10067 reports: Affected component runtime/daemon Severity S2 - degraded behavior Current behavior When a single tool result is larger than the model's remaining context, the turn fails outright instead of degrading: The message names the cause: pruning has bottomed out and one indivisible user/tool turn still exceeds the window. Context compression cannot help — it was already enabled here on every runtime profile (context_compression.enabled = true, threshold_ratio = 0.5, source_max_chars = 50000). The tool layer does not prevent it either. The shell tool's only bound is a byte cap: crates/zeroclaw-runtime/src/tools/shell.rs:13 — const MAX_OUTPUT_BYTES: usize = 1_048_576; crates/zeroclaw-runtime/src/tools/shell.rs:427-431 — truncation marker "... [output truncated at 1MB]" crates/zeroclaw-runtime/src/tools/shell.rs:1652 — shell_output_limit_is_1mb, asserting the cap "must be 1 MB to prevent OOM" That assertion states the cap's actual purpose: it is a memory-safety bound, not a context bound. 1 MB of text is roughly 250k tokens, at or above the context window of every model this runtime targets, so the cap can never bind before the window does. Any command emitting between the window size and 1 MB reaches the provider in full and kills the turn. crates/zeroclaw-runtime/src/tools/skill_http.rs:149 has the same 1 MB shape. Expected behavior An oversized tool result should degrade rather than terminate the turn. Either: 1. **Budget-aware truncation at the tool boundary** —

Why it matters

Moving an agent between runtimes requires more than copying prompts and tools. Context accounting, tool-result bounds and failure semantics must travel with it. The operator test is whether the system remains bounded and its receipts still describe the action after failure, retry or restart.

Current

The primary record was open when captured on 2026-08-18. The tagged-release baseline was v0.8.4 published 2026-08-02T21:00:00Z. Repository metadata, full source bodies, current pull requests and issues, releases, Google News, Hacker News, Lobsters, Metamesh and the rendered ClawCharts row were inspected. ClawCharts selected the subject; it did not prove the claim.

Evidence

The primary URL is https://github.com/zeroclaw-labs/zeroclaw/issues/10069. Supporting records are https://github.com/zeroclaw-labs/zeroclaw/issues/10068 and https://github.com/zeroclaw-labs/zeroclaw/issues/10067. Source bodies, timestamps and states are preserved in the daily evidence bundle. Test counts and reproductions remain attributed to their authors unless identified as independently rerun.

Source boundary

Open work is described as open, closed work as closed, and operator reports as reports. A pull request is evidence of proposed or reviewed direction, not proof of a shipped release. Search residue, package mirrors and historically published source spines were excluded.

Operator take

Define portable capability and budget descriptors, enforce configured context limits end to end, and truncate tool output against model context rather than a memory-only ceiling. Preserve a before-state receipt, make the smallest reversible change, and verify the original failure independently.

Caveat

Public project records are mutable. Status, scope and evidence can change after publication. This brief records the inspected state and does not authorize changes to a reader’s deployment.

Source inspected; source state, environment and release boundary remain explicit.