Skip to main content
September 3, 2026 The runtime behind Slack, Programmable, and Bolt pipeline agents has a new harness. Long runs used to grow without bound: every change rewrote the whole file, every tool result stayed in the transcript and was billed again on each turn (a single Jira issue could add 170,000 characters of JSON), context was summarized only once at the start, and an API-triggered run could stall in plan mode waiting for an approval nobody was there to give. Harness v2 fixes all of it. Leaner sessions
  • Surgical edits. A new edit_file tool replaces an exact string in a file instead of rewriting it, so an edit costs the size of the change rather than the size of the file. Every agent that can write_file gets edit_file automatically, and an edit is refused unless the agent has read the current version of the file first.
  • Windowed reads. read_file returns up to 2,000 line-numbered lines per call, with offset and limit to page through large files, and refuses binary files.
  • Capped tool output. Every tool result, including integration and sub-agent results, is capped. Oversized output is written to a paradime_scratch/ folder in the agent’s checkout and the model gets a head-and-tail preview plus the path, with a hint to page through it or hand it to a sub-agent. Spilled files never end up in a commit or a pull request.
  • Compaction while the run is live. Context is compacted mid-run once it passes a token threshold, and older tool outputs are pruned from what the model re-reads. The transcript in the session panel keeps the full history.
  • Compact integration payloads. The Jira, Confluence, and Linear tools return trimmed Markdown instead of raw JSON or storage-format XHTML.
  • A task list and a loop guard. todo_write and todo_read keep a checklist on the session so multi-step runs stop re-deriving their plan every turn, and an agent that repeats the same tool calls three times in a row now stops with a clear no-progress error instead of spinning to the iteration limit.
  • Path-scoped code search works. ripgrep_search with a path in file_patterns (for example models/staging/*.sql) returned no matches before; it now matches at any depth.
Context-aware runs Every session now starts with a context pack appended to the agent’s instructions:
  • Trigger awareness. The agent knows whether a person is present (Slack, Teams, the app, or an MCP client) or not (the API, Bolt, self-healing, or a delegated child run). Unattended runs never wait in plan mode or ask clarifying questions; they make the most spec-faithful assumption, note it, and proceed.
  • Warehouse dialect. The agent is told which warehouse it is writing SQL for, so it stops guessing between dialects.
  • Repository layout. The repo tree and the location of dbt_project.yml are computed once at startup instead of being rediscovered turn by turn.
On our internal benchmark, the same five tasks used roughly half the credits on harness v2. See the tools reference for the new tool ids and DinoAI credits for how sessions are metered.