Spaces

    The unit of context. Where you are is meant to determine what can happen.

    A space is a bounded working context with its own agents, its own tools and its own vocabulary. The idea is that you do not switch applications; you switch spaces, and the set of things the system can do changes with you.

    Why bound anything at all

    An agent with access to every tool is an agent you cannot reason about. Scoping tools to a space does two useful things at once: it bounds the blast radius of a bad decision to wherever you were standing when you made it, and it collapses the routing problem. Disambiguating an instruction against twelve candidate tools is tractable. Against five hundred it is not.

    What a space contains

    An agent
    Spaces in the routing registry have an agent in OpenFang. Many of those agents are currently bound only to memory tools; the actual work in those spaces is executed by the Brain’s own executors.
    Scoped tools
    Tools are exposed through MCP servers and bound to agents. A tool that is not bound is not reachable. Where the binding is configured, that is real; it is not yet configured everywhere.
    Its own state
    Spaces persist their own working material — bubbles and ideas, knowledge notes, courses, simulations.
    Explicit handoffs
    Work that crosses into an agent goes through a validated handoff and a job queue rather than ambient sharing, so the crossing leaves a record.

    Spaces that stand on their own

    Several of the spaces that do the most today — the sales station, learning, marketing, Captain Cook — are not in the routing registry and have no capability in the Brain. They run as their own services with their own entry points. That is a fact about the current system, not a design goal, and it is why the space pages describe each one individually.