Skip to content
midlandDocs
Esc
navigateopen⌘Jpreview
On this page

FAQ

Frequently asked questions. Feel free to ask more.

FAQ

Frequently asked questions. Feel free to ask more.

What does an agent actually call?

An agent has seventeen tools over MCP: list_entities for the shortlist, get_entity for one entity, get_skill for the team’s skills, search_entities for partial wording, request_entity to ask the admins for context the workspace does not hold, and the write tools, one per type. Every write targets an id from a prior read; names are never resolved and ids are never guessed. The full table is on Connector.

How are skills different from everything else?

Skills have their own tool, get_skill, apart from everything else. The shortlist says what the team knows; the skill index says how they want things done. On every response, the shortlist reports how many skills it left out, so an agent never has to guess whether there are any.

What does “current” mean here?

A read never says whether content is current or out of date. An entity can declare how often the team expects new content (daily, weekly, monthly, quarterly), and reads then show that beside the date of the latest content:

update expectation: expected daily; last observation 2026-09-03T08:20:00.000Z

The line states a fact and passes no verdict. It does not track gaps, predict the next update or tell an agent to refuse. See Data model.

What happens when two agents write the same text?

A text write carries the version the writer read. If someone wrote in between, Foundation refuses the write and returns the real current version, and the agent re-reads and re-applies its change. No write silently overwrites another.

What happens when a write is refused?

The refusal carries a code for the agent to branch on and a plain sentence for the person. Three codes mean the caller’s standing was refused, not the call: not permitted, not an admin, not the owner. Those are marked non-retryable; the agent stops and relays the sentence, which names who was refused, who may write, and who can change that.

Can an agent tell that something is hidden from it?

It cannot. A hidden entity, a nonexistent one and one in another workspace answer the same way. A miss does not prove the workspace lacks the concept. The agent passes the names it looked for in seeking, and Foundation records every miss for the admins. See Requests.

Why does a request get a 406?

The request offered only application/json. Every request must send Accept: application/json, text/event-stream. Foundation refuses the request before any tool runs and records no audit row, so it is not an authorization problem.

What does a 401 mean for a headless writer?

A courier’s connection key never expires, so a 401 means it was withdrawn: the job stops and tells whoever issued it. Retrying cannot help.

Where do the instructions an agent reads come from?

They come from two places that never mix. Foundation’s own manual ships with the product. It is identical in every workspace, and nobody in yours can edit it. An agent fetches it with get_manual, and it is also public at /manual/<chapter> on your workspace. Skills are written by your team, one entity each, versioned and editable by whoever their rules allow.

What does Foundation not do?

It does not run a model; nothing in it calls one. It does not search the world; it answers from what the team put in it. It is not a wiki; the shortlist plus the tag index is the whole navigation surface. It does not check that anyone told the truth; it enforces who may write what and records who did.

Is there a Claude Code setup?

Install the connector in Claude.ai and it is available in Claude Code on the same account. To pin a workspace to a repository for everyone who opens it, commit a .mcp.json naming the connector URL; each person signs in once.

Can I run it myself?

Yes, you can run it on your own infrastructure. Self-hosting says what you bring.

Was this page helpful?