Key Takeaway: Give your agent its tools through a stateful server and you buy the work of scaling it: sticky routing, a shared session store, a migration the day you add a second instance. Point the agent at a system’s description instead, and there is no session at all. Any instance serves any call, and there is nothing to make stateless. You want to run ten copies of your agent behind a load balancer. If your tools live behind a server the agent holds a session with, that is real work. Every request from a given client has to go back to the same instance (sticky routing). Or every instance has to share a store, so a session survives a move. That is a migration, and it is not small. ...
Authorize the Operation, Not the Tool
Key Takeaway: Give an agent a tool and it can do everything the tool does. Keep the named operations and the caller’s identity, and you can grant read but not send on the same system. You want an agent to help with your email. Let it read your inbox, let it draft replies, but never let it send or delete anything. That is a reasonable ask, and today there is often no clean way to say it. You hand the agent an email tool, and the tool that reads your inbox is the same tool that can empty it. When the agent starts to delete all your emails, what do you do, scream at it to STOP? ...
Log In Once, Then Let the Agent Work
Key Takeaway: An agent should never see your password or your token, and the call path should never open a login prompt. You approve access once in a browser; after that, thingctx refreshes a short lived access token below the agent and attaches it on the wire. You want an agent to act on your account. Read your inbox. Add an event to your calendar. Call a service API on your behalf. To do that, the agent needs a credential that says “this caller may act as you.” ...
Agent Integrations Are Documents, Not Servers
Key Takeaway: Describe a system once, and an agent can use it directly. The integration is a document, not a server you run. To connect an agent to a system today, you usually write an MCP server: a process that exposes the system as tools. It is a fine pattern, but it has a cost that grows quietly. Each integration is a server you author, deploy, monitor, and patch. N systems means N servers to run, and each speaks one protocol, so you redo the work for the next agent runtime. ...
The Agent Is Not the Model
Key Takeaway: A consistent architecture for agent systems is emerging from the intersection of W3C Web of Things, distributed-systems runtime requirements, and edge constraints. It absorbs LLM-driven agents as one specialization rather than as the defining case, and it is largely separable from the model layer. The agent-framework category has grown quickly. Most current frameworks share a common assumption: that an agent is a language model orchestrated through a loop of tool calls. That assumption is reasonable for a class of applications, chat-driven assistants, retrieval workflows, document analysis, and the frameworks built around it have improved rapidly. ...
Rimal: An Arabic-First Language That Compiles to WebAssembly
Every mainstream programming language assumes Latin script. Keywords, standard libraries, error messages. All English. Arabic-speaking developers learn to code in a second language before they learn to code at all. There is no technical reason if cannot be اذا. I wanted to test a hypothesis: can a single developer, working with an AI coding assistant, build a complete compiler for a non-Latin programming language in an afternoon? Not a toy interpreter; a real pipeline from source to WebAssembly binary, with static types, functions, and proper error diagnostics. ...
288x Bandwidth Reduction for Wearable AR Using Temporal Vector Memory
Augmented Reality glasses generate thousands of frames per hour. A 10 FPS egocentric camera produces 36,000 frames in sixty minutes, roughly 288 MB/hr of raw JPEG data. The device has two options: stream everything to the cloud, burning battery on frames that add no additional information, or sample blindly and silently drop irreplaceable context. Both outcomes are bad. Uniform sampling wastes resources on duplicate scenes; it allocates the same frame rate during a 40-second stationary period as during a rapid room transition. Pixel-differencing fires on noise such as camera shake and misses rooms the wearer revisits, because it only compares consecutive frames. The root cause is the same in both cases: the device has no way to compare a new frame against the recent context it already remembers. ...
Composable Binding: Designing the Integration Boundary
Key Takeaway: Composable binding can reduce coordination cost by making the integration boundary a versioned, verifiable layer that can evolve independently of the systems it connects. AI on the edge is a system-of-systems problem. Legacy platforms, edge stacks, cloud services, and domain tools all need to exchange data with shared meaning over time. In practice, many edge AI failures are not caused by model quality alone, but by boundary drift between data producers, inference, and downstream consumers. As meaning drifts at the boundary, it becomes the primary coordination bottleneck. ...