One tool call charters a helper agent that runs as its own scheduled turn, streams into the same chat as a thread, and reports back onto the timeline it came from — with the admin shaping who may delegate to whom, the paying user deciding, and the runtime enforcing the same economic boundary as any turn .
The agent has been able to search your conversation history for a while — that is how it remembers what you decided in May. Today the same engine gets a human door: a search box in the chat sidebar. Same index, same ranking, same hard rule that you only ever see your own conversations — now with your hands on the controls.
The ReAct agent writes Python; the code posts a file to Slack, sends an email, saves a memory. That code runs in a sealed sandbox — yet the call reaches the real service, under the real user, with real consent checks. The trick is a relay: the request rides KDCube's durable message lane to the service's home process and the answer rides back.
A tool call leaves the process — a subprocess, a sandboxed container, a remote task. What must follow it is not the infrastructure but the situation: who is asking, which app is acting, what the call may touch. KDCube packs that situation into one JSON-safe room, ships it across the boundary, and rebuilds everything else from descriptors on the other side.
The complete hands-on authoring story: nouns and refs, search vocabulary, role-guarded use cases, honest guards, the presentation layer — and the test that a realm now has two readers : an agent that works it from the schema, and a user who understands and controls it from its service card.
Two ways into a running KDCube — a one-command clean bootstrap that stages a configured ecosystem, and a descriptor set that reproduces an environment as a reviewed artifact — and the one operating loop you live in afterwards.
Nineteen real problems, stated the way practitioners state them — each answered with the concrete KDCube mechanism that solves it. Problem in, solution out, links to go deeper. A living piece: new problems get appended as we meet them.
An external agent has no chat turn — yet it must attach a file to an email, post one to Slack, and pull attachments out. KDCube gives it a waiting room: signed upload slots into a staging area inbound, signed download URLs outbound. Bytes travel over plain HTTP; tool calls stay JSON.
The platform keeps durable user choices in one typed home . The key names the scope — platform, application, or conversation — configuration remains the ceiling, and an explicit Save changes writes the current conversation.
Named services give an agent one small grammar — list, search, get, act — and let every domain teach its own vocabulary at runtime. A domain models itself once, as a realm : typed objects, self-contained refs, its own search questions, and role-guarded use cases. Any operator — the chat agent, an external agent over MCP, a UI — works every realm through t...
An app creates a ReAct agent mostly by declaring it: one config surface defines the agent's teaching, its tools/skills inventory, and its allowed models; the user tunes within it from the chat composer; and the platform keeps the result never wider than granted — with every customization's prompt-cache cost named honestly.
KDCube users can now give their own scripts, agents, and DevOps jobs a bounded way to call KDCube — a short-lived bearer token scoped server-side by resource_grants . The automation acts as a delegated client while KDCube projects the approving user as the grantor.