Nautilo entity model
A five-minute orientation to the private Server, people, machine people, Rooms, policy, tools, and runtime boundaries that make Nautilo work.
Nautilo is a multi-user system, not one person operating a bot farm. A private Server hosts Humans and Agents—machine people—working together in Rooms. Actors put both at the conversational table. Rooms create the context where messages, artifacts, memory, tools, and action meet.
The entity model separates four questions that old chatbot architectures tend to blur together:
- Who is here? Humans and Agents participate through Actor identities.
- What work are we inside? Rooms hold the collaboration context and bind it to a Namespace.
- Who may do what? Groups carry Roles; Roles bundle Capabilities; policy resolves what a Human may ask an Agent or Tool to do.
- Where does action happen? Tools execute on the Server or through an authorized Relay that reaches another machine or surface.
The matrix is exhaustive on purpose
The corpus keeps one stable REL-* page for every pair in its 14-concept
matrix. Many pages describe an intentional absence: for example, a Capability
does not attach to a generic Actor because authorization belongs to the
represented principal. Those negative invariants are useful to coding agents;
they stop a plausible but wrong foreign key from becoming architecture.
The current classification contains:
- 88 current relationships or deliberate no-direct-edge invariants; and
- four future relationships for durable Device identity and application-encryption behavior.
Classification is not release verification
The 88/4 split was reconciled against source before migration. Public
code-anchor verification is still in progress against Nautilo 4b3ea604.
The four Device/encryption pages remain visibly future everywhere.
Read at the level you need
- Glossary — the 14 matrix concepts in plain language.
- Relationship matrix — all 92 stable IDs and their audited invariants.
- Machine-readable relationship index — routes, Markdown endpoints, statuses, and source version for automation.
Every relationship page also has a canonical Markdown form: append .md to
its human route, for example
/docs/build/concepts/entity-model/relationships/rel-agt-hum.md.
Status vocabulary
implementedmeans current code supports the relationship or preserves the deliberate no-edge invariant.targetmeans architectural direction, not current behavior.
An old task list is not evidence that accepted product behavior is unfinished. When prose and release-current code disagree, code wins and the page must be corrected.