Files
Shutong Wu 384dd45065 docs: record multi-agent HTTP behavior in routing docs
Measured four concurrent agents against one Editor over the HTTP
transport (527 client calls, 1498 commands through the bridge at
97.9% success). The Editor stayed healthy throughout, so the notes
below are about degradation modes, not failure.

Guide gains a section on running several agents at once: a single
Editor executes one command at a time, so reads stretched from ~5s
to ~17s behind another agent's writes and batching bought nothing
(~2-3s per call regardless of batch size). Also documents that
'Available: none' is a transient reconnect artifact rather than an
absent Editor, and tabulates when a failed call is safe to retry.

Architecture doc records two gaps found while measuring. Instance
resolution runs before dispatch and hard-fails while the registry
is briefly empty during a domain reload, which was roughly seven in
ten client-visible errors. And a timed-out command is not cancelled
in Unity: send_command pops the pending future, so a command already
executing runs to completion and its result is discarded, reporting
failure for an effect that landed. Commands still queued when the
socket drops are lost cleanly instead.

Also corrects the claim that throughput had not been measured; the
numbers support the existing no-broker decision, since serialization
comes from Unity's single-threaded main loop rather than the layer a
broker would occupy.
2026-08-02 16:41:24 -04:00

109 lines
3.0 KiB
JavaScript

// @ts-check
// Locked information architecture — see the plan file.
// Slugs are brand-neutral: no "mcp-for-unity" / "unity-mcp" in any URL.
// Pages flagged TODO land in later milestones (M3 generator, M4 net-new).
// Keep the structure stable to avoid URL breakage.
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = {
mainSidebar: [
{
type: 'category',
label: 'Getting Started',
link: { type: 'doc', id: 'getting-started/index' },
collapsed: false,
items: [
'getting-started/install',
'getting-started/first-prompt',
'getting-started/clients',
],
},
{
type: 'category',
label: 'Guides',
collapsed: false,
items: [
'guides/uv-setup',
'guides/claude-code-cli',
'guides/client-configurators',
'guides/multi-instance',
'guides/tool-groups',
'guides/cli',
'guides/cli-examples',
'guides/custom-tools',
'guides/remote-server-auth',
'guides/roslyn',
'guides/troubleshooting',
],
},
{
type: 'category',
label: 'Reference',
collapsed: false,
items: [
{
type: 'category',
label: 'Tools',
// Tools IS the catalog — clicking it navigates to the index.
// Each group subdir under reference/tools/ ships its own
// `_category_.json` (emitted by tools/generate_docs_reference.py)
// so the autogenerated walk wraps each as a collapsible group.
// Parent's `link:` causes Docusaurus to exclude reference/tools/index
// from the autogenerated children — so no duplicate "Tools" entry.
link: { type: 'doc', id: 'reference/tools/index' },
items: [{ type: 'autogenerated', dirName: 'reference/tools' }],
},
{
type: 'doc',
id: 'reference/resources/index',
label: 'Resources',
},
'reference/cli',
'reference/manifest',
],
},
{
type: 'category',
label: 'Architecture',
collapsed: true,
items: [
'architecture/transports',
'architecture/instance-routing',
'architecture/python-layers',
'architecture/unity-compat',
'architecture/remote-auth',
'architecture/telemetry',
'architecture/manage-physics',
'architecture/project-roadmap',
'architecture/roadmap',
'architecture/external-analytics',
],
},
{
type: 'category',
label: 'Contributing',
collapsed: true,
items: [
'contributing/dev-setup',
'contributing/testing',
'contributing/releases',
'contributing/docs',
],
},
{
type: 'category',
label: 'Migrations',
collapsed: true,
items: [
'migrations/v5',
'migrations/v6',
'migrations/v8',
'migrations/v10',
],
},
'releases',
],
};
export default sidebars;