Daily Digest — 2026-08-11
Codex, Behind the Harness — Dominik Kundel, OpenAI
MCP Is Going Stateless: What the 2026-07-28 Spec Changes #MCP #AgenticEngineering #Shorts
The Multi-Capability Protocol (MCP) has released its 2026-07-28 specification, introducing a significant shift from stateful, connection-bound sessions to a stateless design. This change enables multi-round-trip requests for user interaction and makes MCP traffic visible to standard HTTP infrastructure components through HTTP headers, enhancing scalability, observability, and cacheability. The core idea is to move from a local machine I/O model to a robust, production-ready protocol for web-based agent infrastructure.
read more
The latest Multi-Capability Protocol (MCP) specification, dated 2026-07-28, marks a pivotal evolution towards a more robust and scalable design, primarily through the adoption of a stateless transport model.
Previously, MCP client-server interactions were connection-bound. A client would initiate a connection, receive a session ID from the server, and all subsequent requests had to be explicitly associated with that session. This model presented significant challenges when scaling MCP servers, as it necessitated sticky routing to ensure requests for a given session consistently hit the same server. Furthermore, the loss of a server would result in the loss of its session context, impacting reliability and fault tolerance. This connection-bound state also required a session store and complex logic for handling server disappearances, making the system less resilient and harder to manage at scale.
The new protocol fundamentally transforms this by making every request self-contained. The explicit `initialize()` handshake and the reliance on an `Mcp-Session-Id` are removed. Instead, each `POST /mcp` request now explicitly carries all necessary information, including the protocolVersion, client.identity, and required capabilities (e.g., `[tools.resources]`). This self-contained nature means that individual requests can be routed independently to any available server (e.g., Request 1 to Server A, Request 2 to Server B) without needing a shared, persistent connection. Neither server needs to remember previous connection initializations, significantly simplifying load balancing and improving horizontal scalability.
To address scenarios where tools require intermediate input, such as user approval or additional data, MCP has introduced multi-round-trip requests. In this model, a tool call begins with a self-contained request from the client. If the server needs more input, it returns an `input-required` response. The client then collects the missing answer (e.g., from the user) and retries the request, explicitly attaching the answer. This mechanism ensures that complex, interactive tool calls can be handled without requiring a persistent server-side session, maintaining the stateless nature of the protocol.
Another significant enhancement is the improved visibility of MCP traffic within standard HTTP infrastructure. The new specification moves MCP-specific method and tool names into HTTP headers (e.g., `MCP-Method: tools/call`, `MCP-Tool: deploy_preview`). This allows existing HTTP components like gateways, Web Application Firewalls (WAFs), rate limiters, and observability systems to understand and process MCP traffic using their native capabilities. This eliminates the need for deep packet inspection or custom parsers, streamlining integration into modern web infrastructure. This change also enables caching of tool and resource lists using standard HTTP caching mechanisms, further improving performance and reducing load.
While MCP itself becomes stateless, the protocol explicitly allows for application-level state. Tools can still return identifiers like `browserId`, `workflowId`, or `runId` in their responses. The agent is then responsible for explicitly passing these IDs into subsequent requests, effectively carrying application state between calls. This ensures that while the transport layer is stateless, applications can still maintain the necessary context for complex operations.
In essence, MCP is evolving from a protocol primarily designed for local machine, standard I/O interactions to a production-grade protocol for web-based agent infrastructure. This transition emphasizes being stateless, routable, and cacheable, making it much easier to scale and operate in distributed environments.
What happens when the #AI protecting your #code refuses #agenticengineering #claude #openai
This video discusses a critical problem faced by AI development teams: LLMs refusing to perform security reviews on their own code, even when specifically tasked with finding vulnerabilities. Andrew Ng's team at DeepLearning.AI encountered this when reviewing their OpenWorker agent platform, as did Hugging Face with closed models earlier. The core issue is that LLM safeguards, designed to prevent malicious use, also block legitimate defensive tasks, creating an asymmetric vulnerability where attackers are unconstrained while defenders are hindered. The solution involves using open-source harnesses like OpenWorker and open-weights models (e.g., Kimi-K3, GLM-5.2) that can be configured to bypass these restrictions for internal security tasks, enabling robust self-auditing and vulnerability discovery.
read more
Andrew Ng's team at DeepLearning.AI recently encountered a significant challenge during a security review of their OpenWorker platform, an open-source agent platform. This incident mirrors a problem Hugging Face experienced earlier with closed models. The crux of the issue is that Large Language Models (LLMs), when asked to perform security analyses on their own or similar codebases, refuse to complete the task, citing their inherent safeguards against generating malicious content. This creates an asymmetric vulnerability where defensive teams are blocked by design, while potential attackers are not bound by the same ethical constraints and can simply work around these limitations.
Andrew Ng's team initially attempted to use popular closed-source models like Claude Code and OpenAI's Codex to conduct the security review of OpenWorker. Both models were instructed to 'continue the security review, analyzing attack surface.' While Codex was able to perform some initial mapping of possible attack vectors and apply established security frameworks, it stopped short of completing the deeper investigation of potential vulnerabilities. Claude Code performed even worse, either ending the task entirely or proposing a switch to a less capable model to avoid the sensitive security-related content.
This behavior highlights a fundamental tension: the safeguards built into these LLMs to prevent misuse (e.g., generating malware, facilitating cyberattacks) inadvertently obstruct legitimate defensive activities, such as identifying zero-day vulnerabilities in one's own systems. The same 'rules' that block an attacker from using an AI to generate an attack vector also block a defender from using an AI to find the same vulnerability for mitigation.
To overcome this, Andrew Ng's team implemented a 'fix' that involved changing both parts of their AI stack: the harness and the underlying model. They switched from using closed-source harnesses and closed models to their own open-source OpenWorker harness combined with open-weights models like Kimi-K3 and GLM-5.2. By controlling the entire stack and leveraging the flexibility of open-weights models, they were able to reconfigure the system to bypass these restrictive safeguards for internal security tasks. This allowed the models to complete a more thorough security review and successfully identify vulnerabilities within the OpenWorker platform.
The key takeaway for Agentic Engineering teams is that model capability is only one part of the architectural consideration. Beyond raw performance, engineers must ask three critical questions:
1. Will your model stop? – Understanding the conditions under which an LLM will refuse a task, especially security-related ones. 2. What fallback models do you have? – Ensuring alternative models are available if the primary model refuses to perform a task. 3. Can your harness switch providers? – Designing agent harnesses (the orchestrating layer of an AI agent) to dynamically switch between different model providers or even open-weights models when the primary model refuses to perform the requested work, preventing a single point of failure and allowing for task completion despite model-imposed restrictions.
This experience underscores the importance of openness and customizability in AI infrastructure for critical tasks like cybersecurity, particularly when dealing with the inherent limitations and safeguards of current LLM technologies. Relying solely on closed-source, heavily 'safeguarded' LLMs can leave organizations blind to vulnerabilities in their own systems.
Quoting Claude Opus 5 system prompt
Anthropic's system prompt for Claude Opus 5 injects real-world post-training-cutoff facts directly into the model's context to prevent it from giving wrong answers about a specific event — a U.S. export control suspension — that happened after the model was trained. This matters because it's a concrete example of how production AI systems handle the knowledge cutoff problem in practice: not by retraining, but by patching the system prompt with authoritative context and explicit behavioral instructions.
How I Broke Production and Why I'm Glad I Did
Why the Fastest Engineers Are Falling Behind
It’s time to go bigger
Theo argues that AI tools are a structural shift analogous to the cloud era — not a job killer but a force multiplier that lowers the cost of experimentation and expands what's worth building. The core thesis is that engineers should respond to AI-assisted productivity gains not by doing the same work faster, but by attempting larger, previously-infeasible projects. Just as AWS eliminated the capital barrier of physical servers and spawned entirely new software categories (SaaS, multi-tenant platforms), AI eliminates the human-capital barrier of needing large engineering teams to validate ideas. The call to action is a mindset shift: use reclaimed hours to go bigger in scope and ambition, not to coast.
read more
The video's central argument is built around a historical analogy between the cloud transition and the current AI transition, framing both as step-changes in the cost structure of software experimentation rather than as threats to the engineering profession.
The Pre-Cloud Analogy as the Core Framework
Theo uses the pre-AWS era as the primary lens. Before the cloud, infrastructure was capital-intensive and prediction-dependent: teams had to forecast traffic and provision physical servers accordingly, meaning both over- and under-estimation were costly failure modes. The consequence was that experimentation was structurally disincentivized — trying a new idea required racking servers, which meant the downside of a failed experiment was not just a wasted sprint but stranded capital. The cloud solved this by making compute elastic and pay-as-you-go, which in turn made it economically rational to spin up new services, validate ideas cheaply, and scale only on proven demand. Critically, Theo points out that this didn't destroy infrastructure engineering jobs — it exploded the total addressable market for software, creating entirely new categories (SaaS, multi-tenant B2B platforms, API-first businesses) that simply didn't make sense to build when you couldn't provision at scale without Amazon-tier buying power or Amazon-tier ops teams.
The Direct Parallel to AI
Theo then maps this framework directly onto the current moment. The pre-AI constraint wasn't servers — it was human capital. Building anything non-trivial required hiring engineers across multiple disciplines (iOS, Android, web, backend, infra), and those hiring decisions had to be made speculatively, before product-market fit was known. This made experimentation psychologically and financially brutal for anyone running a product team: you hire people to build the right thing correctly, discover the premise was wrong, and now have to manage both the business failure and the human cost of that miscalculation. The result was that only well-capitalized teams could afford to run multiple parallel bets, and even they felt the friction.
AI tooling changes this cost structure in the same way the cloud changed server economics. Work that previously required hundreds of engineer-hours can now be prototyped in a fraction of that time. Theo is explicit that this isn't primarily about individual productivity gains on existing tasks — it's about which projects cross the economic viability threshold in the first place. Ideas that weren't worth attempting because the build cost was too high relative to uncertain upside now become rational bets.
The Mindset Shift: Scope Up, Don't Coast
The practical prescription Theo offers is a reframing of how engineers should respond to reclaimed time. The fear response — noticing that 100 hours of work now takes 10 and feeling dispensable — is described as a failure to update the scope of ambition alongside the update in productivity. The correct response, in his framing, is to ask: what would I build if I could build 10x more? The engineers who thrive in this transition will be those who use AI leverage to attempt projects that previously would have required a funded team, not those who deliver the same projects faster and wait for someone to notice the surplus capacity.
This is not framed as a motivational abstraction — Theo grounds it in his own experience as a creator and builder, noting that his thinking about what to build has concretely changed as these tools matured. The video is explicitly a mindset talk rather than a tooling talk: he deliberately avoids recommending specific AI tools, keeping the focus on the meta-level question of how engineers should think about project selection and scope.
Sponsor Segment as a Concrete Example (OMD / WorkOS)
The sponsor integration is worth noting because it's directionally consistent with the video's thesis. WorkOS is promoting OMD (Open Model Definition or similar), an open standard designed to let AI agents register for and authenticate with web services on behalf of users — essentially making apps agent-accessible at the authentication layer. The framing is that if agents can discover and sign up for your service without human intervention, the surface area of potential users (or orchestrating agents acting as users) expands significantly. WorkOS positions this as a one-click addition via their AuthKit product, with a user-claimed flow option where agent-initiated signups remain inactive until a human confirms. This is a real engineering consideration for teams building in an agentic world: authentication and onboarding flows designed only for human users will be a bottleneck as agent-to-service interactions become more common.
What's Not in the Video
Theo explicitly scopes out specific tool recommendations, implementation details, and any technical deep-dive into AI architecture or workflows. This is a strategic framing and motivation piece, not a tutorial. The CascadiaJS talk he references is noted as complementary and structurally different, so engineers wanting more concrete implementation grounding are pointed there. The video's value is primarily in the cloud-era analogy as a mental model for processing the current transition without defaulting to either hype or existential anxiety.
Quoting OpenClaw
A gym-booking API had no authorization checks on reservation cancellations, meaning any authenticated user could cancel someone else's booking and manipulate waitlist positions. This matters because it's a classic broken object-level authorization (BOLA/IDOR) vulnerability — a reminder that authentication and authorization are separate concerns, and that even simple CRUD operations on user-owned resources need per-object permission checks, not just login gates.
Interview with Bonnitta Roy – Thinking with Complexity
TLDR: Most organizational complexity is human-made and unnecessary — the real skill isn't managing it but eliminating it. Roy argues that good protocols (like Scrum or OODA) reduce cognitive load by converting tangled complexity into simple, repeatable patterns, similar to how the heliocentric model simplified astronomy without losing any information. Shifting from "complex adaptive systems" thinking to "complex potential states" avoids the arms-race of escalating bureaucracy and keeps organizations genuinely agile.