Four independent developments in one week — PorTAL portable LoRA adapters from Ramp Labs, mcp-grpc-transport 1.0, MCP 2026-07-28 stateless protocol, and OKF v0.2 trust signals — each strengthen the same ClawQL architecture. Here’s why that convergence matters and what it changes.
Looking for OpenBench A/B results (“Convergence Week” as the benchmark sprint)? That’s What Convergence Week Actually Proved — different topic, same season.
This pairs with Twelve Layers of LLM Cost (the Intelligence Flywheel as Layer 12), The Complete Agent Memory Stack (what the Flywheel trains on and where OKF entries live), Your Agent’s Brain Deserves a Git Repository (the Git-native vault that OKF v0.2 governs), and The Four Agentic Payment Rails. The gRPC transport: github.com/danielsmithdevelopment/ClawQL/tree/main/packages/mcp-grpc-transport. Full inference gateway reference: docs.clawql.com/inference/clawql-inference. OKF v0.2 spec: okf.io.
Four Things That Don’t Usually Happen At Once
Most weeks in the AI infrastructure space produce one meaningful development. The last week of July 2026 produced four, from four completely independent sources, all strengthening the same architectural position.
PorTAL — Ramp Labs open-sourced a framework that learns portable task-specific LoRA adapters using shared task-latent representations. Train once. Transfer to any model family with minimal alignment updates. 10–19 accuracy points across models in their benchmark suite.
mcp-grpc-transport 1.0 — The first and currently only production TypeScript gRPC transport for the Model Context Protocol shipped its 1.0 release, aligned with the new stateless protocol. Binary Protobuf. mTLS built in. Native Kubernetes health probes. Runs inside Istio service meshes without special configuration.
MCP 2026-07-28 — The biggest update to the Model Context Protocol since its 2024 launch. Stateless core. Sessions removed. Initialize handshake removed. Request/response model for clean horizontal scaling on serverless, edge, and load-balanced infrastructure. Native support for interactive UI extensions, long-running tasks, and enterprise OAuth/OIDC.
OKF v0.2 — Google shipped version 0.2 of the Open Knowledge Format, adding trust signal fields — generated, verified, sources, stale_after, status, superseded_by — that make the provenance and lifecycle of every knowledge entry machine-readable. ClawQL is immediately adopting OKF v0.2 across its .cqk format, the Git-native vault, and the Intelligence Flywheel export pipeline.
Separately, each of these is a notable development. Together, they form a coherent story about where production agentic infrastructure is going — and why ClawQL’s architecture was already aligned with it before any of them shipped.
This post covers each development in depth, explains the specific mechanism by which it strengthens ClawQL’s architecture, and names what actually changes operationally for teams running ClawQL today.
Development 1: PorTAL — The Flywheel Becomes Portable
What Ramp Labs Built
Ramp’s AI team spent three years building an internal LLM router that powers AI products for 70,000 customers. Last week they open-sourced two things simultaneously: Ramp Router (a cost-optimized inference routing proxy — Layer 8 of ClawQL’s 12-layer efficiency stack, nothing more) and PorTAL (Portable Task-specific Adapter Learning — something genuinely novel).
PorTAL addresses a specific pain point that every team running fine-tuned models hits eventually: base model churn. You fine-tune Qwen3.6-27B on your production traces. Three months later, Qwen3.7 ships and is measurably better on your task types. You have to retrain the adapter from scratch — same training data, same process, full training cost, all over again.
PorTAL’s solution: decompose the adapter into two components.
The shared task-latent representation is a canonical adapter core that captures what the task requires — the reasoning patterns, the output format, the domain-specific knowledge — independent of any specific base model. This is the expensive part to train. It encodes your organizational knowledge, your production patterns, your verified examples. It doesn’t change when the base model changes.
The per-base alignment is a thin transformation that maps the canonical task representation to a specific base model’s weight space. This is cheap to compute. When a new base model ships, you refit the alignment — not the full adapter. The task knowledge transfers.
The result is a standard PEFT LoRA file that drops straight into Hugging Face / PEFT pipelines. No special serving infrastructure. No new dependencies. The portable adapter loads exactly like any other LoRA.
Ramp reports 10–19 accuracy point lifts across model families — Gemma 4 E2B, Mistral 7B, Inkling (a multimodal system with hybrid attention) — with refitting requiring only minimal alignment updates on new bases. The framework handles both standard transformer attention and the heterogeneous attention architectures that are increasingly common in the latest model generations.
What This Changes for ClawQL’s Intelligence Flywheel
The Intelligence Flywheel is Layer 12 of ClawQL’s token efficiency stack — the layer that turns production inference traffic into a proprietary model that gets cheaper and more accurate over time. The basic loop:
Production traffic
→ WORM-logged call store (prompt, response, tier, latency, verdict)
→ Verdict-filtered export (only passed evaluations)
→ Presidio PII scrub (provable redaction with WORM manifest)
→ Fine-tuning job (OpenAI or Anthropic API, or local QLoRA)
→ Custom model registered in tier-map.json as Frugal tier
→ PAL routing uses custom model for matching task types
→ Better outputs → better verdicts → better training data → repeat
The Flywheel’s current friction point: every time you want to extend the fine-tuned model to a new base — move from gpt-4o-mini to a local Qwen model, or expand from one Anthropic model to a local sovereign fleet — you retrain from scratch. Full training data pipeline, full training run, full evaluation. If your production corpus is large, this is expensive and slow.
PorTAL changes the Flywheel’s economics at the model transfer step.
Instead of exporting training data and running a new fine-tuning job against the new base, you use PorTAL to separate the task-latent representation (trained once from the verified corpus) from the per-base alignment (computed cheaply when the target base changes). The organizational knowledge encoded in your production traces becomes a portable asset that travels with you across the model landscape.
The practical implications:
Sovereign fleet expansion becomes incremental. ClawQL’s sovereign inference fleet — fine-tuned Qwen3.6-27B as the Standard tier, Phi-4 14B as the Frugal tier, Ornith 35B MoE as the Frontier tier — can expand to include new base models without re-accumulating training data or re-running the full fine-tuning pipeline. When Qwen3.7 ships, the task-latent representation stays. Only the alignment needs refitting. The Frugal tier inherits the performance gains of the new base without losing the domain adaptation that took months of production traffic to accumulate.
The Flywheel export gains a new artifact type. Currently clawql inference export produces JSONL training data. With PorTAL, it will also produce a PorTAL bundle: the serialized task-latent representation trained on that corpus. The PorTAL bundle is the portable, vendor-neutral form of your organizational intelligence — transferable to any PorTAL-compatible base model without re-training.
Cross-model tier routing becomes smarter. PAL routing currently selects between Frugal, Standard, and Frontier tiers based on task type and failure signals. With PorTAL adapters available for each tier, the routing layer gains information about which task types have well-trained adapters and which don’t — preferring adapter-equipped models for task types where the adapter improves accuracy, falling back to the generic model for task types where the adapter hasn’t accumulated enough training signal yet.
The WORM audit for training data becomes more valuable. PorTAL’s portability means the training corpus matters more — it’s now the input to a permanent portable asset, not just to a one-off fine-tuning run. ClawQL’s existing WORM manifest for exports (recording the corpus commit hash, the filter criteria, the Presidio scrub version, the export timestamp) becomes the provenance chain for the PorTAL bundle. “Here is the task-latent representation, and here is the exact production corpus it was derived from, with cryptographic proof that PII was removed before training” is a compliance statement no other fine-tuning pipeline can make.
What Stays the Same
PorTAL is a Python framework. ClawQL’s model serving stack is TypeScript-native at the gateway layer and runs vLLM at the inference layer. PorTAL adapters are standard PEFT LoRA files — they load into vLLM with standard PEFT loading paths. No new serving infrastructure required. The integration is at the training and export layer (Python), not at the serving layer (vLLM). The existing model serving pipeline is unchanged.
PorTAL’s accuracy claims are benchmarked on specific model families and tasks. The 10–19 point accuracy lift is on Ramp’s internal task distribution — financial documents, procurement workflows, and related domains. ClawQL’s adapters trained on software development, document processing, and legal workflows should see similar structural benefits (portability, reduced retraining cost) even if the specific accuracy lift numbers differ by domain. The mechanism is task-agnostic; the magnitude is task-dependent.
Lesson: PorTAL doesn’t change what the Flywheel trains on or how it trains. It changes what happens after training — the adapter becomes a portable artifact that travels across model families rather than being locked to a specific base.
Development 2: mcp-grpc-transport 1.0 — The Gateway Gets a Production Transport
The Current State of MCP Transports
The Model Context Protocol defines two official standard transports:
-
stdio — for local servers. The server runs as a child process. Communication is through stdin/stdout. Simple, works everywhere, no network exposure. The right choice for a developer’s local machine where the agent and the MCP server run in the same environment.
-
Streamable HTTP — for remote servers. HTTP/1.1 or HTTP/2, JSON-RPC encoded, with server-sent events for streaming. Works through standard load balancers and proxies. The right choice for hosted MCP servers accessible over the network.
Neither of these is the right transport for every production agentic infrastructure deployment. Specifically, neither is the right transport for:
- Kubernetes-native deployments where gRPC is the default inter-service protocol and service meshes (Istio, Linkerd) are configured for gRPC traffic management
- Enterprise mesh environments where mTLS is enforced at the transport layer via SPIFFE/SPIRE SVIDs and gRPC’s built-in TLS negotiation is expected
- High-throughput agent swarms where binary Protobuf encoding (lower per-message overhead than JSON-RPC) and bidirectional streaming (without SSE’s limitations) matter for latency at scale
- Edge-to-VG communication where the Virtual Gateway and edge gateways need a transport that handles persistent bidirectional streams, graceful reconnection, and Kubernetes health probes natively
gRPC addresses all of these. It has been the de facto inter-service communication protocol in Kubernetes environments for years. Istio’s traffic management, circuit breaking, retries, and observability all work natively with gRPC. SPIFFE/SPIRE SVIDs authenticate gRPC connections at the transport layer. Kubernetes health probes (/healthz, /readyz) map directly to gRPC health check RPCs.
The gap: until 1.0, there was no production-ready TypeScript implementation of a pluggable gRPC transport for MCP servers. Google had committed to contributing protobuf definitions and Python bindings. Go implementations existed for Go MCP libraries. The TypeScript ecosystem — which is what ClawQL and the vast majority of MCP server implementations use — had nothing production-grade.
What mcp-grpc-transport 1.0 Ships
The 1.0 release is a complete, production-ready TypeScript gRPC transport that sits on top of the official @modelcontextprotocol/sdk. It exposes the full MCP surface over gRPC while remaining a drop-in transport — existing MCP servers add one line to get gRPC support:
import { maybeStartGrpcMcpServer } from 'mcp-grpc-transport';
// Existing code
const createMcpServer = () => new McpServer({ name: 'my-server', version: '1.0.0' });
createMcpServer().connect(new StdioServerTransport());
// Add gRPC transport alongside stdio
await maybeStartGrpcMcpServer({ createMcpServer });
// That's it. gRPC endpoint on :50051, stdio unchanged.
The full protobuf surface:
ListTools (unary), CallTool (unary + streaming variants), pagination, cancellation, and the optional bidirectional Mcp.Session stream for clients that need NDJSON/JSON-RPC compatibility alongside Protobuf. Every MCP operation has a corresponding Protobuf RPC.
The enterprise mesh features:
TLS/mTLS configuration via environment variables — GRPC_TLS_CERT_FILE, GRPC_TLS_KEY_FILE, GRPC_CA_CERT_FILE for standard TLS; SPIFFE SVID injection for SPIRE-managed workloads. Server reflection for gRPC service discovery tools. gRPC health checking via the standard health check protocol (grpc.health.v1.Health). Interceptors for custom middleware — authentication, logging, tracing, rate limiting.
MCP 2026-07-28 alignment:
The 1.0 release ships with full support for the new stateless protocol. Protocol-version metadata in the _meta field. server/discover endpoint for the new capability discovery flow. Multi-Round-Trip Request (MRTR) patterns. Per-request clientInfo and clientCapabilities. The new routable headers for load-balanced deployments. Support for 2026-07-28 protocol version strings alongside backward compatibility for 2024-11-05 clients.
The competitive position:
As of 1.0, this is the only production TypeScript gRPC transport for MCP. Anthropic’s official SDK supports stdio and Streamable HTTP. The MCP specification itself does not standardize gRPC — it remains a custom/pluggable transport. Google has been the primary driver pushing for gRPC standardization in the spec, but has not shipped a mature TypeScript implementation. Go implementations exist for Go MCP libraries. The TypeScript ecosystem gap is what 1.0 closes.
Why this matters for Claude and other hosts: Claude Code, Claude Desktop, and the Claude API all speak stdio and Streamable HTTP natively. Adding gRPC support to an MCP server doesn’t make it accessible to Claude directly — Claude’s hosts would need to implement gRPC client support to connect. What gRPC transport enables is server-to-server MCP communication in infrastructure where the “client” is another service in the same Kubernetes cluster or service mesh, not a user-facing AI assistant. That’s the edge-to-VG and VG-to-VG communication in ClawQL’s Agentic Fabric.
What This Changes for ClawQL’s Agentic Gateway
ClawQL’s Agentic Gateway speaks two protocols from the same binary: OpenAI-compatible HTTP/REST at /v1/chat/completions for inference, and MCP at /mcp for tool access. The /mcp endpoint currently uses Streamable HTTP — the right choice for IDE integrations (Cursor, Claude Code, Codex) where the client speaks standard HTTP.
With mcp-grpc-transport 1.0, the gateway adds a third endpoint: /mcp-grpc (or more precisely, a gRPC port alongside the HTTP port) for Kubernetes-native and service-mesh deployments.
The edge-to-VG communication layer:
The most immediate impact is on ClawQL’s own internal architecture. The Agentic Fabric’s edge gateway–to–Virtual Gateway communication needed a transport that:
- Carries SPIFFE SVID authentication (mTLS at the transport layer)
- Handles persistent bidirectional streams for NATS relay and WORM audit push
- Works natively with Istio’s traffic management and observability
- Provides gRPC health probes for Kubernetes liveness/readiness checks
- Scales horizontally without session affinity requirements
Streamable HTTP can satisfy some of these. gRPC satisfies all of them natively. The sovereign handshake between edge gateways and Virtual Gateways — the GovernanceSync unary call, the manifest hash comparison, the bidirectional stream for WORM relay and routing instructions — is exactly the gRPC design pattern. 1.0 ships the TypeScript implementation of that transport.
What the deployment topology looks like after 1.0:
Edge Gateway (developer laptop)
Streamable HTTP → IDE (Cursor, Claude Code) [unchanged]
gRPC + mTLS/SPIFFE → Virtual Gateway [new — mcp-grpc-transport 1.0]
Virtual Gateway (customer VPC)
Streamable HTTP → Regional Gateway [unchanged]
gRPC + mTLS/SPIFFE ← Edge Gateways [new — receives edge connections]
gRPC ← VG-to-VG (multi-VG mesh deployments) [new — VG mesh communication]
Regional Gateway (ClawQL-managed)
Streamable HTTP ← Virtual Gateways [unchanged]
The IDE connections stay on Streamable HTTP because that’s what IDE clients speak. The infrastructure connections — edge-to-VG, VG-to-VG — move to gRPC because that’s what Kubernetes-native infrastructure expects. One binary. Multiple transports. Each optimized for its actual client.
The Istio integration:
Every ClawQL Dedicated and Enterprise tier deployment runs in an Istio service mesh. Istio’s traffic management (VirtualServices, DestinationRules), circuit breaking, retries, and observability (Prometheus metrics, Jaeger traces) work natively with gRPC. Streamable HTTP in a mesh requires Envoy configuration to avoid issues with connection management, load balancing, and header handling. gRPC works out of the box.
The specific Istio capability that matters most: gRPC load balancing. HTTP/1.1 load balancing operates at the connection level — once a connection is established, all requests on that connection go to the same backend. gRPC operates at the request level — each RPC can be independently routed to a different backend instance. For the edge-to-VG communication pattern (many edge gateways connecting to potentially multiple VG replicas), request-level gRPC load balancing provides significantly better distribution than connection-level HTTP load balancing.
The supply chain story:
mcp-grpc-transport 1.0 is part of the ClawQL monorepo. It carries the same Cosign-signed images, CycloneDX SBOM, and Layer 0 Arweave manifest as every other ClawQL package. clawql doctor --smoke verifies the transport binary against the manifest hash on startup. The supply chain posture that covers ClawQL inference, payments, memory, and sandbox also covers the gRPC transport layer. There’s no additional supply chain surface to audit — it’s the same provenance chain all the way down.
Lesson: gRPC isn’t just “faster HTTP.” In a Kubernetes-native, service-mesh-aware, SPIFFE-authenticated deployment, gRPC is the transport that works natively with every layer of the infrastructure stack. Streamable HTTP in that environment is friction. gRPC is the grain of the wood.
Development 3: MCP 2026-07-28 — The Protocol Catches Up to the Architecture
What Changed in the Protocol
The 2026-07-28 MCP release is the largest protocol update since the original 2024 launch. The changes are substantial and worth understanding precisely because several of them directly validate architectural decisions ClawQL was already operating under.
The stateless core. Sessions are removed. The initialize / initialized handshake that required a persistent connection before any tools could be called is gone. Every request is self-contained — it carries its own protocol version, client identity, and capability declaration in the _meta field. This is the single most operationally significant change because it removes the server-side state requirement that prevented MCP servers from scaling horizontally on stateless infrastructure.
Before 2026-07-28, running a production MCP server behind a load balancer required session affinity (sticky sessions) or shared session state. A client connected, exchanged the initialize handshake, and then all subsequent requests from that client needed to reach the same server instance. This was a fundamental mismatch with how modern serverless, edge, and Kubernetes environments work — all of which assume stateless request handling.
After 2026-07-28, an MCP server is stateless by default. Any instance can handle any request. Load balancers work normally. Kubernetes pod restarts don’t break existing client sessions because there are no sessions. A serverless function can handle a single MCP request and terminate. Edge deployments can route each request to the nearest instance.
Per-request metadata. Every request now carries structured _meta containing clientInfo (name, version), clientCapabilities, and protocolVersion. Servers can make per-request decisions based on which client is calling and what it supports. This enables graceful capability negotiation — a server can serve both a 2026-07-28 stateless client and a 2024-11-05 session-based client from the same codebase.
Multi-Round-Trip Requests (MRTR). For operations that require multiple steps — user input during execution, progress updates, clarification requests — the new MRTR pattern provides a structured way to handle the back-and-forth without requiring persistent session state. Each round trip carries enough context for the server to resume where it left off.
Routable headers. Requests now carry routing metadata that load balancers can inspect. This enables intelligent request routing based on tool name, client identity, or custom routing rules — without requiring the MCP server itself to handle routing logic.
Standardized extensions. Formal protocol slots for interactive UI extensions (rich responses with structured content), long-running task management (progress tracking, cancellation, result retrieval), and enterprise-managed authentication (OAuth/OIDC integration at the protocol level rather than as a custom extension).
Hardened OAuth/OIDC. The authentication specification is now explicit and production-grade, with clear flows for enterprise identity systems, token refresh handling, and scope negotiation. This is the compliance layer that enterprise buyers needed before they could use remote MCP servers in production.
Why Stateless Is a Validation, Not a Change
For ClawQL’s Agentic Gateway, the 2026-07-28 stateless core is a validation of the architecture that was already in place, not a change that requires significant adaptation.
ClawQL’s /mcp endpoint was already designed around stateless handling. The Virtual Gateway doesn’t maintain per-client session state for MCP connections. The NATS JetStream pub/sub model for swarm coordination, the WORM audit relay, and the Valkey shared state are all decoupled from the MCP transport layer. Each MCP tool invocation is an independent, self-contained operation that writes to WORM and returns a result — no session context required.
The session-based state that the old protocol required was, in ClawQL’s architecture, already handled by the persistent memory layer (the OKF vault and vector recall) rather than by MCP session state. An agent’s context between tool calls lives in the vault, not in a server-side session object. Removing sessions from the protocol simply removes infrastructure that ClawQL wasn’t using as the primary state mechanism anyway.
The specific architectural benefits after 2026-07-28:
The Regional Gateway tier becomes simpler to scale. Regional Gateways are ClawQL-managed, multi-tenant infrastructure. With the stateless MCP core, they can be deployed as pure stateless services behind standard load balancers — no sticky sessions, no session state synchronization between instances, no session affinity configuration in Kubernetes Ingress. Horizontal scaling of Regional Gateways becomes as simple as scaling any other stateless service.
The Virtual Gateway’s /mcp endpoint can be deployed as multiple replicas without session coordination. A VG deployment with 3 replicas can handle 3x the MCP throughput of a single-replica deployment, with Kubernetes routing each request to an available replica. Previously, this would have required shared session state or sticky sessions.
Edge gateways that connect to the VG over mcp-grpc-transport don’t need to re-establish sessions after a network interruption. Each gRPC unary call is self-contained. The bidirectional stream for WORM relay and routing instructions is the only persistent connection, and it’s designed for reconnection — it’s not session state.
The per-request metadata enables fine-grained routing. The clientInfo in each request’s _meta tells the VG exactly which edge gateway is calling and what it supports. This maps directly to ClawQL’s ATRClaims model — the VG can apply per-client policy enforcement based on the client’s declared identity without a separate authentication round-trip. The protocol now carries the information that the VG’s Policy Enforcement Point needs.
The MRTR pattern enables structured human-in-loop. ClawQL’s kinetic execution layer requires human approval for high-risk actions. The existing implementation stages the action and waits for approval in the Command Deck. With MRTR, this interaction pattern has a formal protocol representation — the MCP server sends an interim response requesting approval, the client relays it to the human, the human responds, and the server completes the action. This is cleaner than the current ad-hoc implementation and makes kinetic approval flows visible to any MRTR-aware client, not just ClawQL’s own Command Deck.
The enterprise OAuth/OIDC specification closes the compliance gap. ClawQL’s enterprise tiers require authentication against corporate identity providers — Okta, Azure AD, Google Workspace. The hardened OAuth/OIDC support in 2026-07-28 means this authentication happens at the protocol layer rather than as a ClawQL-specific extension. An enterprise auditor reviewing ClawQL’s authentication model can point to the MCP specification rather than to ClawQL-specific documentation.
The gRPC Transport and the Stateless Protocol: Why They’re Designed for Each Other
The 2026-07-28 stateless core and gRPC transport are architectural complements.
The stateless core removes the requirement for persistent connections between requests. gRPC’s unary RPCs are naturally stateless — each CallTool RPC carries its own context, routes independently, and returns a self-contained result. The only persistent gRPC connection in the Agentic Fabric is the bidirectional stream for WORM relay and routing instructions — and that stream is explicitly designed for reconnection, not session continuity.
The per-request _meta with protocolVersion maps directly to gRPC’s per-call metadata. Every gRPC request can carry headers. The clientInfo, clientCapabilities, and protocolVersion fields from the 2026-07-28 spec travel as gRPC metadata, inspectable by Istio’s traffic management policies and ClawQL’s per-request PEP.
The routable headers enable gRPC-level routing. Istio VirtualServices can route gRPC requests based on the tool_name header to different backend subsets — compute-intensive tool calls to high-memory pods, read-only tool calls to the standard fleet. This kind of fine-grained routing is native to gRPC + Istio. It requires custom proxy configurations with Streamable HTTP.
Lesson: the stateless protocol doesn’t just make MCP servers easier to scale. It makes them compatible with the same operational patterns that the rest of a Kubernetes-native infrastructure stack already uses. gRPC transport completes that compatibility — it brings MCP into the same traffic management, authentication, and observability surface that the rest of the service mesh already covers.
Development 4: OKF v0.2 — The Memory Vault Gets Trust Signals
What Google Shipped
The Open Knowledge Format (OKF) v0.2 is a small but precise addition to the format that Google introduced to standardize how AI systems store and share structured knowledge. OKF’s core contract has always been simple: Markdown body, required type field in YAML frontmatter, file path as concept identity, index.md catalog, log.md changelog. That minimal contract is what makes different producers and consumers interoperable without a rigid schema.
v0.2 adds six new optional fields that answer a question the format previously left implicit: how much should I trust this entry, and when does that trust expire?
generated:
by: agent-daniel-dev-01
at: 2026-07-28T09:14:33Z
tool: memory_ingest
model: anthropic/claude-sonnet-4
session: sess-9102
verified:
by: human # human | evaluator | agent
at: 2026-07-28T09:45:00Z
method: pr-review # pr-review | evaluator | auto
reviewer: [email protected]
sources:
- url: https://company.atlassian.net/wiki/auth-policy
fetched_at: 2026-07-28T09:12:00Z
- session_id: sess-9102
turn: 7
stale_after: 2026-10-28T00:00:00Z
status: current # current | stale | superseded | retracted
superseded_by: null # path to the entry that replaced this one
These fields are not prescriptive about workflow — OKF v0.2 doesn’t mandate that you use all of them. But their presence in the spec means that any OKF-compatible tool can now reason about knowledge entry provenance, freshness, and verification status without a vendor-specific schema.
Why ClawQL Is Adopting OKF v0.2 Immediately
ClawQL’s memory stack was already moving toward these trust concepts. The .cqk format had worm_ref, correlation_id, agent_id, and verdict — ClawQL-specific fields that tied each entry to the WORM audit trail. What was missing was the standardized vocabulary for the fields that live above the audit trail: who generated this, who verified it, what sourced it, when does it expire?
OKF v0.2 provides that vocabulary. ClawQL is adopting it immediately across the entire memory stack:
The .cqk format gains OKF v0.2 fields alongside ClawQL extensions:
---
type: decision # OKF required
title: 'Authentication: JWT over sessions'
description: 'JWT chosen for stateless auth'
tags: auth, jwt, security
# OKF v0.2 trust signals
generated:
by: agent-daniel-dev-01
at: 2026-07-28T14:32:00Z
tool: memory_ingest
model: anthropic/claude-sonnet-4
session: sess-8821
verified:
by: human
at: 2026-07-28T15:10:00Z
method: pr-review
reviewer: [email protected]
sources:
- session_id: sess-8821
turn: 14
stale_after: 2026-10-28T00:00:00Z
status: current
# ClawQL extensions (alongside OKF, not replacing it)
worm_ref: sha256:a1b2c3d4...
correlation_id: sess-8821-tool-047
verdict: passed
confidence_score: 0.94
---
clawql memory lint now validates OKF v0.2 fields:
stale_aftermust be in the future (or a known-past entry markedstatus: stale)statusmust be a valid enum valuegenerated.bymust match a known agent identityverified.methodmust be a recognized verification typeworm_refmust be present (ClawQL extension — not OKF required)
The Git-native vault becomes a governed knowledge base:
In the Git-native memory architecture, OKF v0.2 fields become searchable commit metadata and CI enforcement points:
# Find all decisions past their stale_after date
git log --all --format="%H %s" | \
xargs -I{} sh -c 'git show {}:*.cqk | grep "stale_after:" | ...'
# CI job: open review PRs for stale entries
clawql memory lint --check-stale --open-prs
# Query: all decisions never human-verified
clawql memory query --filter "verified.by != human AND type == decision"
The Flywheel export gains provenance filtering:
The Intelligence Flywheel already filters exports by Evaluator verdict. OKF v0.2 adds two more dimensions:
clawql inference export \
--verdict passed \
--okf-verified human # only entries human-verified via PR review
--okf-status current # exclude stale or superseded entries
--format portal-bundle \
--output ./adapters/clawql-legal-v1/
Training data that includes stale entries — decisions that were later superseded, context that became outdated — degrades the fine-tuned model. OKF v0.2’s status and stale_after fields let the Flywheel export pipeline filter these out automatically. The training corpus becomes cleaner without requiring manual curation.
The WORM connection gets richer:
Every verified event — when a human approves a PR review and the entry’s verified field is written — generates a WORM entry:
'MEMORY_VERIFIED'; // human approved PR review → verified.* fields written
'MEMORY_STALE'; // stale_after date passed → status automatically updated
'MEMORY_SUPERSEDED'; // newer entry references this one in superseded_by
'MEMORY_RETRACTED'; // entry removed from active recall, status: retracted
A compliance query for “show me every architectural decision that was human-reviewed in the last 90 days, linked to the reviewer and the PR that verified it” is now a WORM query over MEMORY_VERIFIED events — not a manual audit of git history. The trust signal that OKF v0.2 standardizes is the same signal ClawQL’s audit infrastructure records immutably.
What This Changes for the Memory Stack
OKF v0.2 doesn’t change how agents write or read memory. memory_ingest and memory_recall work identically. What changes is the governance layer:
Every entry now has an explicit trust tier. An entry generated by an agent and never reviewed (verified.by: null) is different from an entry reviewed by a human via PR (verified.by: human, method: pr-review). Both are valid. Only one is canonical organizational knowledge. memory_recall can filter by trust tier when the query requires it.
Stale knowledge no longer silently poisons recall. A decision that was current in January and superseded in March had no lifecycle signal before v0.2. Now it has status: superseded and superseded_by: decisions/auth-oidc-migration.cqk. Recall results automatically exclude status: retracted and can optionally weight status: stale entries lower.
The Flywheel trains on verified knowledge, not just passed evaluations. Combining the Evaluator verdict: passed filter with the OKF verified.by: human filter produces the highest-quality training corpus possible: examples that the model judged correct and that a human confirmed correct. Two independent verification signals rather than one.
Lesson: OKF v0.2 doesn’t add complexity to the memory stack — it adds vocabulary. The trust concepts were always there implicitly. They’re now explicit, standardized, and toolable.
How They Compose: The ClawQL Stack After This Week
Three developments. One week. Here’s the specific, concrete way they combine in the ClawQL inference and gateway architecture.
The Flywheel + PorTAL: Organizational Intelligence That Outlasts Base Models
The Intelligence Flywheel accumulates verified production traces, scrubs PII, and fine-tunes a custom model that becomes the Frugal tier. PorTAL adds a decomposition step that makes the trained knowledge portable:
clawql inference export \
--verdict passed \
--vault-ref $(git -C ~/.ClawQL/vault rev-parse HEAD) \
--format portal-bundle \ # new export format
--output ./adapters/clawql-legal-v1/
# portal-bundle produces:
# task_latent.pt — the portable task representation (expensive, train once)
# alignment_qwen36.lora — alignment to Qwen3.6-27B (cheap to compute)
# adapter_manifest.cqm — ClawQL manifest with WORM provenance + merkle root
# When Qwen3.7 ships:
clawql inference finetune refit \
--bundle ./adapters/clawql-legal-v1/task_latent.pt \
--target-model qwen/qwen3.7-27b \
--output ./adapters/clawql-legal-v1-qwen37/
# Produces: alignment_qwen37.lora (minutes, not days)
# No re-export, no new training data pipeline, no new fine-tuning job
The WORM manifest for the PorTAL bundle carries the same provenance fields as the JSONL export: the vault commit hash the training data was derived from, the Presidio scrub version, the export timestamp, the filter criteria. The portable adapter is not just an efficient way to transfer knowledge — it’s an auditable artifact with a complete chain of custody from the production trace to the deployed model weight.
The gRPC Transport + Stateless Protocol: One Transport for the Whole Fabric
The edge gateway–to–VG communication now runs on mcp-grpc-transport 1.0 with full 2026-07-28 stateless support:
// Edge Gateway — connects to VG over gRPC + mTLS
const vgClient = new McpGrpcClient({
endpoint: 'clawql-vg.tailnet-name.ts.net:50051',
tls: {
mode: 'spiffe',
svid: await spire.fetchSvid(), // SPIFFE SVID from edge gateway identity
},
metadata: {
'x-clawql-tenant': tenantId,
'x-clawql-atrclaims': JSON.stringify(atrclaims),
},
});
// Each tool call is a self-contained gRPC unary RPC
// No initialize handshake, no session ID, no sticky routing required
const result = await vgClient.callTool({
name: 'memory_recall',
arguments: { query: 'authentication decisions' },
_meta: {
protocolVersion: '2026-07-28',
clientInfo: { name: 'clawql-edge', version: '7.1.0' },
},
});
The VG receives this call, validates the SPIFFE SVID, checks ATRClaims against the EnterpriseGovernance manifest, executes the tool, writes the WORM entry, and returns the result. The entire round-trip is a single gRPC unary RPC — no session, no persistent state, no sticky routing. The VG can have 3 replicas and each call routes independently to whichever replica has capacity.
The Istio service mesh handles the rest: traffic management between edge gateways and VG replicas, circuit breaking if a VG replica becomes unhealthy, Prometheus metrics for every gRPC call (latency, error rate, throughput), Jaeger traces for distributed tracing across the edge–VG–Regional Gateway path.
The Full Inference Path After This Week
Agent in Cursor (Claude Code / Codex)
│
├─ MCP tool call (Streamable HTTP) IDE → Edge Gateway /mcp
│ │
│ └─ memory_recall, cg_find_symbol, Local OKF vault + CodeGraph
│ knowledge_search...
│
├─ Inference call Edge Gateway → /v1/chat/completions
│ │
│ ├─ PAL routing decision Frugal / Standard / Frontier
│ │ └─ PorTAL adapter loaded If domain-adapted model available
│ │
│ ├─ Semantic cache check Local pgvector
│ │
│ └─ Provider call if cache miss Ollama / Groq / Anthropic / OpenAI
│
└─ gRPC to Virtual Gateway Edge → VG (mcp-grpc-transport 1.0)
│ Stateless 2026-07-28 protocol
│ mTLS via SPIFFE SVID
│
├─ Policy enforcement EnterpriseGovernance manifest
├─ WORM audit relay Every tool call logged
├─ Memory sync Team vault push/pull
└─ Swarm coordination NSV/SGDOP via NATS JetStream
Four developments. One coherent path. The inference call uses PAL routing with PorTAL-adapted models for the Frugal tier. The MCP tool calls use the stateless 2026-07-28 protocol. The infrastructure communication uses mcp-grpc-transport 1.0 with Istio-native gRPC. The memory entries written by every tool call carry OKF v0.2 trust signals — generated, verified, stale_after, status — that make the vault a governed knowledge base rather than an append-only log. Each layer optimized for its specific purpose. All of it integrated through the same binary.
What Changes Operationally
For teams running ClawQL today, here’s what each development changes in practice:
PorTAL — Available in the Next Inference Release
The Flywheel export pipeline gains a --format portal-bundle option. Teams that have been running the Flywheel and accumulating verified training data can export their first PorTAL bundle in the next release. The immediate benefit: when model updates ship (new Qwen, new Anthropic model, new Phi version), the Frugal tier adapter can be refitted in minutes rather than requiring a new full training run.
For teams that haven’t started the Flywheel yet: the PorTAL announcement is the right moment to start. The training data you accumulate now is more valuable with PorTAL than without it — it’s not just training a single adapter for the current base model, it’s building a portable task representation that will transfer to every future base model you want to run.
Operational change: Flywheel export gains a new artifact type. Model tier updates become cheaper. No infrastructure changes required.
mcp-grpc-transport 1.0 — New Transport Option for Enterprise Deployments
Teams running ClawQL on Dedicated or Enterprise tiers in Kubernetes + Istio environments can enable gRPC transport for edge-to-VG communication. The Helm chart gains a clawql-mcp-grpc.enabled flag. For existing Developer and Teams tier users on the managed hosted plan with IDE-only MCP connections, nothing changes — IDE clients speak Streamable HTTP and continue to do so.
For self-hosted deployments behind an Istio mesh: switching the edge-to-VG transport to gRPC removes the session affinity configuration from Kubernetes Ingress, enables request-level gRPC load balancing across VG replicas, and brings the MCP communication path into the same Istio observability surface as the rest of the deployment.
Operational change: New Helm flag for enterprise deployments. Simplifies Kubernetes configuration for mesh environments. No change for standard IDE connections.
MCP 2026-07-28 — Backward-Compatible Update
ClawQL’s /mcp endpoint adds 2026-07-28 to its supported protocol versions. Clients declaring the new version get stateless handling, MRTR support, and the structured enterprise OAuth/OIDC flows. Clients declaring 2024-11-05 continue to work unchanged — the old session handshake is served for backward compatibility.
The most visible operational change: kinetic action approval flows gain MRTR support, making the human-in-loop interaction pattern visible to any 2026-07-28-aware client through the standard protocol rather than through ClawQL-specific Command Deck integration.
Operational change: New protocol version supported alongside old. MRTR enables standard kinetic approval flows. Enterprise OAuth/OIDC available at protocol layer. Backward-compatible — no migration required.
OKF v0.2 — Immediate Adoption in .cqk Format
ClawQL adopts OKF v0.2 trust signals immediately. memory_ingest now writes generated, verified, sources, stale_after, and status fields into every new .cqk entry. clawql memory lint validates these fields. Recall results filter by status automatically — retracted entries never surface, stale entries surface with a freshness warning.
For the Flywheel: clawql inference export gains --okf-verified and --okf-status flags. Training data filtered to verified.by: human and status: current produces the highest-quality corpus without manual curation.
For existing entries written before OKF v0.2 adoption: clawql memory migrate --okf-version 0.2 adds default values (status: current, no stale_after) to existing entries. Non-destructive — adds fields, doesn’t modify content. Run once per vault, WORM-logged.
Operational change: New fields in every new .cqk entry. Lint enforcement on new entries. Flywheel export gains provenance filters. Migration command for existing entries. No breaking changes — OKF v0.2 fields are all optional in the spec; ClawQL promotes them to required via clawql memory lint.
Honest Trade-offs
PorTAL is Python, the Flywheel is TypeScript. The training pipeline (export, PorTAL training, alignment computation) runs in Python. The serving pipeline (vLLM, PAL routing, tier-map.json) runs in TypeScript. This is the right separation — training is Python ecosystem, serving is TypeScript ecosystem — but it means the PorTAL integration introduces a Python toolchain dependency for teams that currently run a TypeScript-only stack. The export command handles the Python invocation transparently, but the dependency is real.
gRPC transport adds complexity for simple deployments. For a developer running ClawQL locally with a single MCP connection from Cursor, mcp-grpc-transport adds nothing. gRPC’s benefits — request-level load balancing, Istio integration, SPIFFE authentication — are only relevant in multi-replica, service-mesh-aware deployments. The --non-grpc flag keeps the simple path simple. But the flag is an additional configuration surface that didn’t exist before.
2026-07-28 backward compatibility has limits. The stateless protocol change is not free for clients that relied on server-side session state as their primary context mechanism. MCP servers that stored meaningful per-session state server-side (not in the client’s _meta or in external storage) need adaptation. ClawQL’s servers didn’t rely on this pattern — but third-party MCP servers in the ecosystem may. If your agent’s tool stack includes MCP servers from other providers, check their 2026-07-28 support before updating the ClawQL gateway to prefer the new protocol.
OKF v0.2 fields add frontmatter overhead per entry. Six new optional fields in every .cqk file add roughly 8–12 lines of YAML frontmatter. For a vault with 50,000 entries, this is measurable additional storage and a slightly larger index to scan. The delta compression in the Git-native vault handles this well — new fields in frontmatter compress efficiently across many similar entries. For teams using pure R2 object storage without git, the overhead is more visible. Worth knowing, not worth worrying about at typical vault sizes.
OKF v0.2 stale_after requires discipline to set correctly. An entry with stale_after: 2026-10-28 that hasn’t actually been reviewed by October 28 surfaces in lint as stale. If teams set stale_after aggressively and don’t have a review workflow to match, they’ll accumulate stale lint warnings. The right approach: set stale_after conservatively (90–180 days for most entry types, no stale_after for entries that are inherently durable like foundational architecture decisions). clawql memory lint --check-stale runs on a schedule, not on every commit, to avoid overwhelming developers.
PorTAL accuracy lifts are domain-dependent. Ramp’s 10–19 point accuracy numbers are on their specific task distribution. The mechanism — portable task-latent representation — should generalize across domains. The magnitude depends on how cleanly your production tasks cluster into learnable patterns. High-repetition, structured-output tasks (document processing, API workflows, code generation in a known codebase) should see strong lifts. Novel, open-ended tasks with high variance may see smaller benefits.
Conclusion: The Architecture Was Already There
The honest read on this week: four independent teams, working on four completely different problems, shipped developments that each strengthen the same architectural position ClawQL was already occupying.
Ramp’s PorTAL makes fine-tuned adapters portable across model families. ClawQL’s Intelligence Flywheel was already the right mechanism for accumulating production training data — PorTAL makes that accumulated data more valuable by extending it across base models.
The gRPC transport 1.0 gives ClawQL’s edge-to-VG communication a Kubernetes-native, SPIFFE-authenticated, Istio-compatible transport. The Agentic Fabric’s architecture — edge gateways, Virtual Gateways, Regional Gateways, NATS-based swarm coordination — was designed for exactly this transport before it existed in a production TypeScript implementation.
MCP 2026-07-28’s stateless core validates the design decision to treat each tool invocation as an independent, self-contained operation rather than as part of a persistent session. The protocol has caught up to what production infrastructure requires.
OKF v0.2’s trust signal fields give the memory vault the governed knowledge base semantics that ClawQL’s WORM audit trail was already tracking internally. generated, verified, stale_after, status — these are the vocabulary the format needed to make provenance explicit. ClawQL’s immediate adoption means every .cqk entry written from this week forward carries standardized trust signals that any OKF-compatible tool can reason about, not just ClawQL’s own tooling.
None of these developments require a pivot. None of them require significant rearchitecting. They’re additions and validations, not corrections.
That’s what it looks like when you build the architecture before the ecosystem catches up to it.
Full inference gateway reference: docs.clawql.com/inference/clawql-inference. mcp-grpc-transport on npm: mcp-grpc-transport. PorTAL: github.com/ramp-public/portallib. MCP 2026-07-28 specification: spec.modelcontextprotocol.io. OKF v0.2 specification: okf.io. .cqk format and OKF v0.2 adoption: docs.clawql.com/learn/memory. The twelve-layer token efficiency stack: /posts/twelve-layers-llm-cost.
