
Contracts beat confidence in the latest agent builds
n8n fixes pre-start follow-up loops, Hubo separates coding from independent review, and fresh practitioner reports show why tool schemas and action approvals need executable contracts.
The short read
The useful agent signal this weekend is not a larger context window or another model ranking. It is a shift in where reliability is implemented. n8n shipped a stable fix for AI follow-up runs that could loop when they failed before the agent even started. A new coding project, Hubo, separates implementation from independent review. Two practitioner reports describe the same pattern from different angles: tool schemas need runtime enforcement, and approvals should follow the consequence of an action rather than a model's confidence.
The practical takeaway is simple: treat the model as a proposer, and make the execution boundary responsible for stopping, validating, reviewing, and escalating work.
Product and platform moves
n8n fixes the failure before the agent begins
n8n's
2.31.6 stable release, published on July 24, includes a core fix to stop AI follow-up runs from looping when they keep failing before the agent starts. 1That is a small release note with a large operational implication. A retry loop that never reaches the agent is not an intelligence failure. It is a runner failure: the system has not distinguished "the agent needs another attempt" from "the agent was never launched successfully." The right response is to preserve the first failure, cap or disable the follow-up path, and surface a state that an operator can act on.
For builders, this is a reminder to instrument the pre-agent phase separately. Track queueing, credential resolution, tool bootstrap, model invocation, and agent execution as different states. A single
failed label hides the difference between a recoverable model error and a loop that can spend resources without producing an agent trace.Technical signals
Tool schemas are not portable contracts by default
A self-reported field test from the
r/AI_Agents community says a team tested about 30 schema constraints across 16 models after seeing tool calls work on one provider and fail on another. The author reports that some OpenAI reasoning models error on unsupported schema properties, Gemini can silently ignore a constraint, and DeepSeek or Llama may skip the tool call. Their workaround was to move the constraint text into the property description. 2This is a practitioner report, not a controlled benchmark, so the exact failure rates should not be generalized. The engineering lesson is still concrete: a schema shown to a model is not the same thing as a contract enforced by the runtime. Keep a provider matrix for the constraints that matter, validate tool arguments after generation, and test both failure modes: an explicit rejection and a silent violation.
A useful minimum test case is an enum that changes over time. The tool should return the current allowed values, the runtime should reject anything outside that set, and the retry path should expose the rejected value rather than silently repairing it. That turns a prompt convention into an observable interface.
Independent review beats self-review in a loop
Hubo, a new Show HN project, packages a two-agent coding workflow: a work agent changes the code and runs tests, while a read-only review agent inspects the diff and verification evidence. A coordinator carries unresolved findings across rounds and stops when the reviewer clears the work or the agents identify a decision that requires the user. 3 4
The value is not that two model calls are automatically better than one. It is that the roles have different permissions and different evidence responsibilities. The work agent can modify files. The review agent stays read-only. The coordinator preserves disagreement instead of letting a later prompt erase it. That is a clearer control loop than asking one agent to implement, test, and approve its own work in the same context.
The pattern is worth borrowing even without adopting Hubo. Make the reviewer inspect the actual diff, test output, and changed artifacts. Require each finding to end in either a concrete fix, evidence-based pushback, or a human decision. Otherwise, a second agent is only a second opinion with no control surface.
Use cases and tutorials
A Shopify support agent draws the line by consequence
In another self-reported
r/AI_Agents build, a developer describes a Shopify support agent with two action tiers. Shipping-address updates run autonomously because they are reversible and low blast radius. Refunds, cancellations, discounts, gift cards, reships, and returns are prepared by the agent but require the store owner's approval before the Shopify mutation fires. 5The author argues that confidence is the wrong approval signal: an agent can be equally certain about an address change and a large refund, while the cost of being wrong is very different. That is a useful design distinction, but the account is a single practitioner report and not an independently audited production study.
The implementation pattern is broadly reusable:
- Classify actions by reversibility, financial exposure, data exposure, and external visibility.
- Let the agent prepare high-impact actions, but stop before the irreversible side effect.
- Put approval and authorization in the action layer, not in a confidence threshold inside the prompt.
- Log the proposed action, the evidence used, the approval decision, and the final result as one trace.
This also changes how teams should red-team an agent. Test not only whether a model follows a policy, but whether a normal user can discover phrasing that moves a high-consequence action into the autonomous tier. Consequence-based gates are useful precisely because they do not depend on the model recognizing every adversarial formulation.
What to do this week
- Add a distinct state for failures that happen before agent execution, and assert that those failures cannot create unbounded follow-up runs.
- Build a small provider compatibility suite for tool schemas. Include unsupported properties, silently ignored constraints, missing required fields, and stale enum values.
- Split write access from review access. The reviewer should see the diff and evidence but should not be able to modify the work it is judging.
- Define an action-risk table before increasing autonomy. Use reversibility and blast radius as the first gates; use model confidence only as supporting context.
- Measure the boundary itself: pre-start loop rate, schema rejection rate, silent constraint violations, review findings per run, approval latency, and irreversible-action escapes.
The strongest agent systems are starting to look less like a single clever actor and more like a small operating procedure around one. The model proposes. The runtime decides whether the proposal is valid, reviewable, and safe to execute.
References
Related content
- Sign in to comment.
More from this channel›
- Agents need a stop rule: context control, merge queues, and semantic boundaries
- Agents are getting a restart button and an audit trail
- The agent stack is hardening at the protocol, model, and enterprise layers
- The agent stack is learning to meter itself
- Agents are leaving the chat window
- The next agent safety layer looks ahead
- Agent runtimes are becoming the product
- Agent state is becoming the next production boundary
