{
  "schema_version": "2.0.0",
  "bootstrap": {
    "strategy": [
      "Identify the caller and intent, then search instead of guessing a command, route, tool, provider, or file.",
      "Expand one stable ID and read its use/avoid conditions, exact interfaces, safety data, workflow, failure recovery, and source of truth.",
      "For live work, compare the installed package and daemon at GET /version, then inspect GET /openapi.json and the relevant live registry.",
      "Choose one execution surface, send X-Omnius-Min-Version for mutating or model-backed requests, and preserve the project/global state boundary.",
      "Verify the observable result described by the entry; do not equate an accepted or queued request with completion."
    ],
    "start_here": [
      "overview",
      "layer.interface",
      "layer.orchestration",
      "workflow.choose-entrypoint",
      "store.project",
      "store.global",
      "workflow.debug-runtime"
    ],
    "agent_profiles": {
      "small-context": [
        "overview",
        "workflow.choose-entrypoint",
        "workflow.debug-runtime"
      ],
      "coding-agent": [
        "layer.architecture",
        "layer.orchestration",
        "layer.execution",
        "store.project",
        "workflow.extend-omnius"
      ],
      "service-integrator": [
        "runtime.daemon",
        "workflow.async-agent-run",
        "workflow.stateful-chat",
        "workflow.direct-tool-call"
      ],
      "operator": [
        "layer.operations",
        "runtime.daemon",
        "runtime.tray",
        "workflow.daemon-tray-update"
      ],
      "maintainer": [
        "layer.contracts",
        "layer.observability",
        "workflow.extend-omnius",
        "workflow.publish-package"
      ]
    },
    "common_intents": [
      {
        "intent": "Choose CLI, TUI, REST chat, REST run, or a direct tool",
        "query": "which entrypoint should I use",
        "expand": "workflow.choose-entrypoint"
      },
      {
        "intent": "Run a long coding task asynchronously",
        "query": "long horizon coding REST run poll cancel",
        "expand": "workflow.async-agent-run"
      },
      {
        "intent": "Understand where state is stored",
        "query": "project global state sessions memory config",
        "expand": "store.project"
      },
      {
        "intent": "Use web search",
        "query": "web search tool exposure agent bound",
        "expand": "workflow.agent-bound-tools"
      },
      {
        "intent": "Debug a stale or unhealthy daemon",
        "query": "daemon version port logs health debug",
        "expand": "workflow.debug-runtime"
      },
      {
        "intent": "Add or change Omnius code",
        "query": "module ownership extend command endpoint tool",
        "expand": "workflow.extend-omnius"
      }
    ],
    "live_checks": [
      "GET /version — package, boot, API, and discovery schema identity",
      "GET /health and GET /health/ready — liveness and dependency readiness",
      "GET /openapi.json — exact methods, auth, request, and response schemas",
      "GET /v1/tools — live tool exposure and availability",
      "GET /v1/asr/status and GET /v1/voice/status — active media engines"
    ],
    "safety_rules": [
      "A TUI slash command is not a REST command unless its discovery surfaces.rest field is true.",
      "A listed tool is not directly callable unless direct_callable is true and a rest-call interface is present.",
      "Never expose secrets from configuration, logs, state files, discovery output, or URLs.",
      "Never load a model or send inference before satisfying the workspace hardware preflight policy.",
      "Never treat queued, accepted, or process-started as verified completion."
    ]
  },
  "entries": [
    {
      "id": "addon.omnius-docs",
      "kind": "capability",
      "title": "Omnius Documentation",
      "summary": "Project-local Omnius agent onboarding, system map, and discover-then-expand documentation bundle.",
      "aliases": [
        "omnius-docs"
      ],
      "keywords": [
        "addon",
        "project-local",
        "omnius",
        "documentation",
        "discovery",
        "agent-onboarding",
        "system-map",
        "inference",
        "tools",
        "operations",
        "project-local"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/manifest.json"
        }
      ],
      "references": [
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-docs/manifest.json",
          "relation": "bundle-manifest"
        }
      ],
      "related": [
        "skill.agent-failure-recovery",
        "skill.browser-interaction-validation",
        "skill.evidence-directed-delivery",
        "skill.hardware-evidence-audit",
        "skill.omnius-agent-onboarding",
        "skill.omnius-docs",
        "skill.omnius-inference-docs",
        "skill.omnius-integration-docs",
        "skill.omnius-ops-docs",
        "skill.omnius-realtime-docs",
        "skill.omnius-sponsor-docs",
        "skill.omnius-telegram-docs",
        "skill.omnius-tools-docs",
        "skill.omnius-version-compatibility-docs",
        "skill.runtime-provenance-audit",
        "skill.secrets-and-config-audit",
        "skill.test-surface-audit",
        "skill.workspace-reality-audit"
      ]
    },
    {
      "id": "addon.omnius-rest-docs",
      "kind": "capability",
      "title": "Omnius REST Documentation",
      "summary": "Project-local Omnius REST API documentation bundle for discover-then-expand agent workflows.",
      "aliases": [
        "omnius-rest-docs"
      ],
      "keywords": [
        "addon",
        "project-local",
        "omnius",
        "rest",
        "openapi",
        "discovery",
        "tools",
        "project-local"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-rest-docs/manifest.json"
        }
      ],
      "references": [
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-rest-docs/manifest.json",
          "relation": "bundle-manifest"
        }
      ],
      "related": [
        "skill.omnius-rest-docs"
      ]
    },
    {
      "id": "api.",
      "kind": "api",
      "title": "/",
      "summary": "HATEOAS API root when the client does not request HTML",
      "aliases": [
        "/"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Discovery"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Discovery"
      ],
      "operations": {
        "get": {
          "summary": "HATEOAS API root when the client does not request HTML",
          "tags": [
            "Discovery"
          ],
          "security": [],
          "responses": {
            "200": {
              "description": "Versioned link map for docs, discovery, inference, tools, memory, voice, projects, and observability"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.asyncapi",
      "kind": "api",
      "title": "/asyncapi",
      "summary": "Compatibility alias for the AsyncAPI contract",
      "aliases": [
        "/asyncapi"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Discovery",
        "asyncapi"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /asyncapi"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Discovery"
      ],
      "operations": {
        "get": {
          "summary": "Compatibility alias for the AsyncAPI contract",
          "tags": [
            "Discovery"
          ],
          "security": [],
          "responses": {
            "200": {
              "description": "AsyncAPI document"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.discovery",
      "kind": "api",
      "title": "Discovery API",
      "summary": "Search the Omnius capability catalog and expand a stable entry over REST.",
      "aliases": [
        "discovery endpoint",
        "capabilities api"
      ],
      "keywords": [
        "search",
        "catalog",
        "etag",
        "pagination"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "http",
          "target": "GET /v1/discovery"
        },
        {
          "type": "http",
          "target": "GET /v1/discovery/{id}"
        }
      ],
      "references": [
        {
          "type": "api",
          "target": "docs/rest/endpoints/discovery.md",
          "relation": "wire-contract"
        },
        {
          "type": "schema",
          "target": "docs/DISCOVERY.json",
          "relation": "offline-catalog"
        }
      ],
      "related": [
        "overview",
        "command.discover",
        "command.show"
      ]
    },
    {
      "id": "api.health",
      "kind": "api",
      "title": "/health",
      "summary": "Liveness probe",
      "aliases": [
        "/health"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Health",
        "health"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /health"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Health"
      ],
      "operations": {
        "get": {
          "summary": "Liveness probe",
          "tags": [
            "Health"
          ],
          "security": [],
          "responses": {
            "200": {
              "description": "Alive",
              "headers": {
                "X-API-Version": {
                  "description": "REST API contract version (semver)",
                  "schema": {
                    "type": "string",
                    "example": "1.0.0"
                  }
                },
                "X-Request-ID": {
                  "description": "Echoed request ID for correlation",
                  "schema": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.health-ready",
      "kind": "api",
      "title": "/health/ready",
      "summary": "Readiness probe",
      "aliases": [
        "/health/ready"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Health",
        "health",
        "ready"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /health/ready"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Health"
      ],
      "operations": {
        "get": {
          "summary": "Readiness probe",
          "tags": [
            "Health"
          ],
          "security": [],
          "responses": {
            "200": {
              "description": "Backend reachable"
            },
            "503": {
              "description": "Backend unreachable"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.health-startup",
      "kind": "api",
      "title": "/health/startup",
      "summary": "Startup complete",
      "aliases": [
        "/health/startup"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Health",
        "health",
        "startup"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /health/startup"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Health"
      ],
      "operations": {
        "get": {
          "summary": "Startup complete",
          "tags": [
            "Health"
          ],
          "security": [],
          "responses": {
            "200": {
              "description": "Started"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.help",
      "kind": "api",
      "title": "/help",
      "summary": "Compact daemon help and integration entrypoints",
      "aliases": [
        "/help"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Discovery",
        "help"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /help"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Discovery"
      ],
      "operations": {
        "get": {
          "summary": "Compact daemon help and integration entrypoints",
          "tags": [
            "Discovery"
          ],
          "security": [],
          "responses": {
            "200": {
              "description": "Text or JSON integration help"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.metrics",
      "kind": "api",
      "title": "/metrics",
      "summary": "Prometheus metrics",
      "aliases": [
        "/metrics"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Health",
        "metrics"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /metrics"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Health"
      ],
      "operations": {
        "get": {
          "summary": "Prometheus metrics",
          "tags": [
            "Health"
          ],
          "security": [],
          "responses": {
            "200": {
              "description": "Prometheus text format"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.openapi",
      "kind": "api",
      "title": "OpenAPI contract",
      "summary": "The live machine-readable REST contract for the running Omnius daemon.",
      "aliases": [
        "swagger",
        "openapi.json",
        "api docs"
      ],
      "keywords": [
        "OpenAPI",
        "REST",
        "schema"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "http",
          "target": "GET /openapi.json"
        },
        {
          "type": "http",
          "target": "GET /docs"
        }
      ],
      "references": [
        {
          "type": "guide",
          "target": "docs/rest/openapi-source.md",
          "relation": "documentation"
        }
      ],
      "related": [
        "api.discovery",
        "api.tools",
        "operation.version-compatibility"
      ]
    },
    {
      "id": "api.realtime",
      "kind": "api",
      "title": "/realtime",
      "summary": "Generate one short text reply for a voice-adapter transcript",
      "aliases": [
        "/realtime"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Chat",
        "realtime"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /realtime"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Chat"
      ],
      "operations": {
        "post": {
          "summary": "Generate one short text reply for a voice-adapter transcript",
          "description": "Text-only conversational brain for ASR/TTS adapters. Accepts message, text, recent_turn, asr_text, or callerText and returns JSON by default or plain text when requested. This route does not perform ASR or TTS.",
          "tags": [
            "Chat"
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "text": {
                      "type": "string"
                    },
                    "recent_turn": {
                      "type": "string"
                    },
                    "asr_text": {
                      "type": "string"
                    },
                    "callerText": {
                      "type": "string"
                    },
                    "soul_md": {
                      "type": "string"
                    },
                    "format": {
                      "type": "string",
                      "enum": [
                        "json",
                        "text"
                      ]
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Short conversational reply"
            },
            "400": {
              "description": "No transcript text supplied"
            },
            "500": {
              "description": "Realtime backend request failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.routes",
      "kind": "api",
      "title": "/routes",
      "summary": "Compatibility alias for the daemon route summary",
      "aliases": [
        "/routes"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Discovery",
        "routes"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /routes"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Discovery"
      ],
      "operations": {
        "get": {
          "summary": "Compatibility alias for the daemon route summary",
          "tags": [
            "Discovery"
          ],
          "security": [],
          "responses": {
            "200": {
              "description": "Human- and agent-readable route map"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.skills",
      "kind": "api",
      "title": "Skills API",
      "summary": "List and load Omnius and project skills incrementally.",
      "aliases": [
        "skills endpoint",
        "skill discovery"
      ],
      "keywords": [
        "skills",
        "incremental context"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "http",
          "target": "GET /v1/skills"
        },
        {
          "type": "http",
          "target": "GET /v1/skills/{name}"
        }
      ],
      "references": [
        {
          "type": "api",
          "target": "docs/rest/endpoints/skills.md",
          "relation": "wire-contract"
        }
      ],
      "related": [
        "skill.omnius-docs",
        "skill.omnius-rest-docs"
      ]
    },
    {
      "id": "api.tools",
      "kind": "api",
      "title": "Tools API",
      "summary": "Inspect live tool schemas and invocation metadata, register external tools, and call only tools marked direct-callable.",
      "aliases": [
        "tools endpoint",
        "direct tool api"
      ],
      "keywords": [
        "tool metadata",
        "direct_callable",
        "MCP",
        "external tools"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "http",
          "target": "GET /v1/tools"
        },
        {
          "type": "http",
          "target": "GET /v1/tools/{name}"
        },
        {
          "type": "http",
          "target": "POST /v1/tools/{name}/call"
        }
      ],
      "references": [
        {
          "type": "api",
          "target": "docs/rest/endpoints/tools.md",
          "relation": "wire-contract"
        }
      ],
      "related": [
        "tool.web-search",
        "tool.tool-search",
        "operation.version-compatibility"
      ]
    },
    {
      "id": "api.v1-admin-access",
      "kind": "api",
      "title": "/v1/admin/access",
      "summary": "Read the daemon network access mode; Change and persist the daemon network access mode from loopback",
      "aliases": [
        "/v1/admin/access"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "Config",
        "v1",
        "admin",
        "access"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/admin/access"
        },
        {
          "type": "rest",
          "target": "POST /v1/admin/access"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "Config"
      ],
      "operations": {
        "get": {
          "summary": "Read the daemon network access mode",
          "tags": [
            "Config"
          ],
          "responses": {
            "200": {
              "description": "Current access mode and host"
            }
          }
        },
        "post": {
          "summary": "Change and persist the daemon network access mode from loopback",
          "tags": [
            "Config"
          ],
          "description": "Loopback-only even when the current access mode is any.",
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "mode"
                  ],
                  "properties": {
                    "mode": {
                      "type": "string",
                      "enum": [
                        "loopback",
                        "lan",
                        "any"
                      ]
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Access mode changed"
            },
            "400": {
              "description": "Invalid mode"
            },
            "403": {
              "description": "Loopback origin required"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-agents",
      "kind": "api",
      "title": "/v1/agents",
      "summary": "List agent types",
      "aliases": [
        "/v1/agents"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Tools",
        "v1",
        "agents"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/agents"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Tools"
      ],
      "operations": {
        "get": {
          "summary": "List agent types",
          "tags": [
            "Tools"
          ],
          "responses": {
            "200": {
              "description": "Agent type registry"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aims",
      "kind": "api",
      "title": "/v1/aims",
      "summary": "AIMS root — control map and endpoint index",
      "aliases": [
        "/v1/aims"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIMS",
        "v1",
        "aims"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aims"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIMS"
      ],
      "operations": {
        "get": {
          "summary": "AIMS root — control map and endpoint index",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "AIMS overview"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aims-config-history",
      "kind": "api",
      "title": "/v1/aims/config-history",
      "summary": "Configuration change history (A.6.2.8)",
      "aliases": [
        "/v1/aims/config-history"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIMS",
        "v1",
        "aims",
        "config-history"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aims/config-history"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIMS"
      ],
      "operations": {
        "get": {
          "summary": "Configuration change history (A.6.2.8)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "Config change records from audit log"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aims-data-quality",
      "kind": "api",
      "title": "/v1/aims/data-quality",
      "summary": "Data quality controls (A.7.2)",
      "aliases": [
        "/v1/aims/data-quality"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIMS",
        "v1",
        "aims",
        "data-quality"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aims/data-quality"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIMS"
      ],
      "operations": {
        "get": {
          "summary": "Data quality controls (A.7.2)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "Data quality register"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aims-decisions",
      "kind": "api",
      "title": "/v1/aims/decisions",
      "summary": "Consequential decision log (A.9)",
      "aliases": [
        "/v1/aims/decisions"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIMS",
        "v1",
        "aims",
        "decisions"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aims/decisions"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIMS"
      ],
      "operations": {
        "get": {
          "summary": "Consequential decision log (A.9)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "Paginated decisions"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aims-impact-assessments",
      "kind": "api",
      "title": "/v1/aims/impact-assessments",
      "summary": "Impact assessment register (A.5); File an impact assessment (A.5)",
      "aliases": [
        "/v1/aims/impact-assessments"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "AIMS",
        "v1",
        "aims",
        "impact-assessments"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aims/impact-assessments"
        },
        {
          "type": "rest",
          "target": "POST /v1/aims/impact-assessments"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "AIMS"
      ],
      "operations": {
        "get": {
          "summary": "Impact assessment register (A.5)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "Paginated impact assessments"
            }
          }
        },
        "post": {
          "summary": "File an impact assessment (A.5)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "201": {
              "description": "Recorded"
            },
            "403": {
              "description": "Admin scope required"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aims-incidents",
      "kind": "api",
      "title": "/v1/aims/incidents",
      "summary": "Incident register (A.6.2.8); Raise an incident (A.6.2.8)",
      "aliases": [
        "/v1/aims/incidents"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "AIMS",
        "v1",
        "aims",
        "incidents"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aims/incidents"
        },
        {
          "type": "rest",
          "target": "POST /v1/aims/incidents"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "AIMS"
      ],
      "operations": {
        "get": {
          "summary": "Incident register (A.6.2.8)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "Paginated incidents"
            }
          }
        },
        "post": {
          "summary": "Raise an incident (A.6.2.8)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "201": {
              "description": "Recorded"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aims-lifecycle",
      "kind": "api",
      "title": "/v1/aims/lifecycle",
      "summary": "AI system lifecycle state (A.6)",
      "aliases": [
        "/v1/aims/lifecycle"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIMS",
        "v1",
        "aims",
        "lifecycle"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aims/lifecycle"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIMS"
      ],
      "operations": {
        "get": {
          "summary": "AI system lifecycle state (A.6)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "Lifecycle snapshot"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aims-oversight",
      "kind": "api",
      "title": "/v1/aims/oversight",
      "summary": "Human oversight gates (A.6.2.7)",
      "aliases": [
        "/v1/aims/oversight"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIMS",
        "v1",
        "aims",
        "oversight"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aims/oversight"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIMS"
      ],
      "operations": {
        "get": {
          "summary": "Human oversight gates (A.6.2.7)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "Oversight configuration"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aims-policies",
      "kind": "api",
      "title": "/v1/aims/policies",
      "summary": "AI policies (ISO 42001 A.2); Replace the policy register (ISO 42001 A.2)",
      "aliases": [
        "/v1/aims/policies"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "PUT",
        "AIMS",
        "v1",
        "aims",
        "policies"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aims/policies"
        },
        {
          "type": "rest",
          "target": "PUT /v1/aims/policies"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "PUT"
      ],
      "tags": [
        "AIMS"
      ],
      "operations": {
        "get": {
          "summary": "AI policies (ISO 42001 A.2)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "Policy register"
            }
          }
        },
        "put": {
          "summary": "Replace the policy register (ISO 42001 A.2)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "Updated"
            },
            "403": {
              "description": "Admin scope required"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aims-resources",
      "kind": "api",
      "title": "/v1/aims/resources",
      "summary": "Resources inventory (A.4)",
      "aliases": [
        "/v1/aims/resources"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIMS",
        "v1",
        "aims",
        "resources"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aims/resources"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIMS"
      ],
      "operations": {
        "get": {
          "summary": "Resources inventory (A.4)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "Compute + backend inventory"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aims-roles",
      "kind": "api",
      "title": "/v1/aims/roles",
      "summary": "Roles and responsibilities (A.3)",
      "aliases": [
        "/v1/aims/roles"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIMS",
        "v1",
        "aims",
        "roles"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aims/roles"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIMS"
      ],
      "operations": {
        "get": {
          "summary": "Roles and responsibilities (A.3)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "Role register"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aims-suppliers",
      "kind": "api",
      "title": "/v1/aims/suppliers",
      "summary": "Third-party supplier inventory (A.10)",
      "aliases": [
        "/v1/aims/suppliers"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIMS",
        "v1",
        "aims",
        "suppliers"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aims/suppliers"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIMS"
      ],
      "operations": {
        "get": {
          "summary": "Third-party supplier inventory (A.10)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "Suppliers"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aims-transparency",
      "kind": "api",
      "title": "/v1/aims/transparency",
      "summary": "Model cards and transparency info (A.8)",
      "aliases": [
        "/v1/aims/transparency"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIMS",
        "v1",
        "aims",
        "transparency"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aims/transparency"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIMS"
      ],
      "operations": {
        "get": {
          "summary": "Model cards and transparency info (A.8)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "Model cards"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aims-usage",
      "kind": "api",
      "title": "/v1/aims/usage",
      "summary": "AI system usage (A.9 alias of /v1/usage)",
      "aliases": [
        "/v1/aims/usage"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIMS",
        "v1",
        "aims",
        "usage"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aims/usage"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIMS"
      ],
      "operations": {
        "get": {
          "summary": "AI system usage (A.9 alias of /v1/usage)",
          "tags": [
            "AIMS"
          ],
          "responses": {
            "200": {
              "description": "Usage snapshot"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aiwg",
      "kind": "api",
      "title": "/v1/aiwg",
      "summary": "AIWG installation root + control map",
      "aliases": [
        "/v1/aiwg"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIWG",
        "v1",
        "aiwg"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aiwg"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIWG"
      ],
      "operations": {
        "get": {
          "summary": "AIWG installation root + control map",
          "tags": [
            "AIWG"
          ],
          "responses": {
            "200": {
              "description": "AIWG installation summary"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aiwg-addons",
      "kind": "api",
      "title": "/v1/aiwg/addons",
      "summary": "List AIWG addons",
      "aliases": [
        "/v1/aiwg/addons"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIWG",
        "v1",
        "aiwg",
        "addons"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aiwg/addons"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIWG"
      ],
      "operations": {
        "get": {
          "summary": "List AIWG addons",
          "tags": [
            "AIWG"
          ],
          "responses": {
            "200": {
              "description": "Addon list"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aiwg-agents",
      "kind": "api",
      "title": "/v1/aiwg/agents",
      "summary": "List AIWG agents",
      "aliases": [
        "/v1/aiwg/agents"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIWG",
        "v1",
        "aiwg",
        "agents"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aiwg/agents"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIWG"
      ],
      "operations": {
        "get": {
          "summary": "List AIWG agents",
          "tags": [
            "AIWG"
          ],
          "responses": {
            "200": {
              "description": "Agent list"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aiwg-agents-name",
      "kind": "api",
      "title": "/v1/aiwg/agents/{name}",
      "summary": "Agent definition",
      "aliases": [
        "/v1/aiwg/agents/{name}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIWG",
        "v1",
        "aiwg",
        "agents",
        "{name}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aiwg/agents/{name}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIWG"
      ],
      "operations": {
        "get": {
          "summary": "Agent definition",
          "tags": [
            "AIWG"
          ],
          "responses": {
            "200": {
              "description": "Agent"
            },
            "404": {
              "description": "Not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aiwg-expand",
      "kind": "api",
      "title": "/v1/aiwg/expand",
      "summary": "Sub-agent unpack a specific AIWG skill or agent on demand",
      "aliases": [
        "/v1/aiwg/expand"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "AIWG",
        "v1",
        "aiwg",
        "expand"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/aiwg/expand"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "AIWG"
      ],
      "operations": {
        "post": {
          "summary": "Sub-agent unpack a specific AIWG skill or agent on demand",
          "tags": [
            "AIWG"
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "trigger": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "limit": {
                      "type": "integer",
                      "default": 3
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Matching items"
            },
            "400": {
              "description": "Missing trigger or name"
            },
            "404": {
              "description": "No matches"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aiwg-frameworks",
      "kind": "api",
      "title": "/v1/aiwg/frameworks",
      "summary": "List AIWG frameworks (paginated)",
      "aliases": [
        "/v1/aiwg/frameworks"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIWG",
        "v1",
        "aiwg",
        "frameworks"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aiwg/frameworks"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIWG"
      ],
      "operations": {
        "get": {
          "summary": "List AIWG frameworks (paginated)",
          "tags": [
            "AIWG"
          ],
          "responses": {
            "200": {
              "description": "Framework list"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aiwg-frameworks-name",
      "kind": "api",
      "title": "/v1/aiwg/frameworks/{name}",
      "summary": "Framework details + items",
      "aliases": [
        "/v1/aiwg/frameworks/{name}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIWG",
        "v1",
        "aiwg",
        "frameworks",
        "{name}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aiwg/frameworks/{name}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIWG"
      ],
      "operations": {
        "get": {
          "summary": "Framework details + items",
          "tags": [
            "AIWG"
          ],
          "responses": {
            "200": {
              "description": "Framework details"
            },
            "404": {
              "description": "Not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aiwg-frameworks-name-content",
      "kind": "api",
      "title": "/v1/aiwg/frameworks/{name}/content",
      "summary": "Framework content (cascade-tier-aware)",
      "aliases": [
        "/v1/aiwg/frameworks/{name}/content"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIWG",
        "v1",
        "aiwg",
        "frameworks",
        "{name}",
        "content"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aiwg/frameworks/{name}/content"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIWG"
      ],
      "operations": {
        "get": {
          "summary": "Framework content (cascade-tier-aware)",
          "tags": [
            "AIWG"
          ],
          "responses": {
            "200": {
              "description": "Tier-appropriate content bundle"
            },
            "413": {
              "description": "Bundle too large for detected model tier"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aiwg-skills",
      "kind": "api",
      "title": "/v1/aiwg/skills",
      "summary": "List AIWG skills (paginated)",
      "aliases": [
        "/v1/aiwg/skills"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIWG",
        "v1",
        "aiwg",
        "skills"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aiwg/skills"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIWG"
      ],
      "operations": {
        "get": {
          "summary": "List AIWG skills (paginated)",
          "tags": [
            "AIWG"
          ],
          "responses": {
            "200": {
              "description": "Skill list"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aiwg-skills-name",
      "kind": "api",
      "title": "/v1/aiwg/skills/{name}",
      "summary": "Skill content",
      "aliases": [
        "/v1/aiwg/skills/{name}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "AIWG",
        "v1",
        "aiwg",
        "skills",
        "{name}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/aiwg/skills/{name}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "AIWG"
      ],
      "operations": {
        "get": {
          "summary": "Skill content",
          "tags": [
            "AIWG"
          ],
          "responses": {
            "200": {
              "description": "Skill"
            },
            "404": {
              "description": "Not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-aiwg-use",
      "kind": "api",
      "title": "/v1/aiwg/use",
      "summary": "AIWG cascade activation bundle (aiwg use all equivalent, model-tier sized)",
      "aliases": [
        "/v1/aiwg/use"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "AIWG",
        "v1",
        "aiwg",
        "use"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/aiwg/use"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "AIWG"
      ],
      "operations": {
        "post": {
          "summary": "AIWG cascade activation bundle (aiwg use all equivalent, model-tier sized)",
          "description": "Returns a tier-appropriate AIWG activation bundle: small models get just the index, medium get metadata, large get content, xlarge get full framework dumps. NEVER overflows context — the response auto-sizes to the detected model tier.",
          "tags": [
            "AIWG"
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "scope": {
                      "type": "string",
                      "default": "all"
                    },
                    "model": {
                      "type": "string"
                    },
                    "tier": {
                      "type": "string",
                      "enum": [
                        "small",
                        "medium",
                        "large",
                        "xlarge"
                      ]
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Tier-sized activation bundle"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-asr-activate",
      "kind": "api",
      "title": "/v1/asr/activate",
      "summary": "Activate and persist an exact ASR engine/model",
      "aliases": [
        "/v1/asr/activate"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "ASR",
        "v1",
        "asr",
        "activate"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/asr/activate"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "post": {
          "summary": "Activate and persist an exact ASR engine/model",
          "tags": [
            "ASR"
          ],
          "description": "Body: {engineId, modelId?, setup?, device?}. Equivalent to PATCH /v1/asr/selection. If weights are absent, returns 202 without replacing the active model; poll statusUrl until deployment.state is active or error.",
          "responses": {
            "200": {
              "description": "Exact selection activated"
            },
            "202": {
              "description": "Selection is pending weight download and CUDA validation"
            },
            "400": {
              "description": "Unknown selection"
            },
            "409": {
              "description": "Runtime unavailable"
            },
            "500": {
              "description": "Activation failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-asr-downloads",
      "kind": "api",
      "title": "/v1/asr/downloads",
      "summary": "List persistent ASR weight download and deployment transitions; Start or resume an ASR weight download",
      "aliases": [
        "/v1/asr/downloads"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "ASR",
        "v1",
        "asr",
        "downloads"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/asr/downloads"
        },
        {
          "type": "rest",
          "target": "POST /v1/asr/downloads"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "get": {
          "summary": "List persistent ASR weight download and deployment transitions",
          "tags": [
            "ASR"
          ],
          "responses": {
            "200": {
              "description": "Jobs with downloadedBytes, totalBytes when available, progressPercent, bytesPerSecond, etaSeconds, deployment state, errors, and links"
            }
          }
        },
        "post": {
          "summary": "Start or resume an ASR weight download",
          "tags": [
            "ASR"
          ],
          "description": "Body: {engineId, modelId, device?}. Returns 202 immediately. Duplicate requests coalesce and Hugging Face snapshots resume after retry.",
          "responses": {
            "200": {
              "description": "Weights already ready"
            },
            "202": {
              "description": "pending_download with statusUrl, retryUrl, and pollAfterMs"
            },
            "400": {
              "description": "Unknown or unmanaged model"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-asr-downloads-engine-id-model-id",
      "kind": "api",
      "title": "/v1/asr/downloads/{engineId}/{modelId}",
      "summary": "Poll one ASR download and deployment transition; Start or resume this model download",
      "aliases": [
        "/v1/asr/downloads/{engineId}/{modelId}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "ASR",
        "v1",
        "asr",
        "downloads",
        "{engineId}",
        "{modelId}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/asr/downloads/{engineId}/{modelId}"
        },
        {
          "type": "rest",
          "target": "POST /v1/asr/downloads/{engineId}/{modelId}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "get": {
          "summary": "Poll one ASR download and deployment transition",
          "tags": [
            "ASR"
          ],
          "description": "Poll at pollAfterMs until download.state=ready and download.deployment.state=active for deploy/select operations. Terminal failures use state=error or interrupted and include retry links.",
          "parameters": [
            {
              "name": "engineId",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "modelId",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Current persistent transition state"
            },
            "404": {
              "description": "No job exists"
            }
          }
        },
        "post": {
          "summary": "Start or resume this model download",
          "tags": [
            "ASR"
          ],
          "parameters": [
            {
              "name": "engineId",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "modelId",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Weights already ready"
            },
            "202": {
              "description": "Download accepted or already running"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-asr-downloads-engine-id-model-id-retry",
      "kind": "api",
      "title": "/v1/asr/downloads/{engineId}/{modelId}/retry",
      "summary": "Retry or resume a failed/interrupted ASR weight download",
      "aliases": [
        "/v1/asr/downloads/{engineId}/{modelId}/retry"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "ASR",
        "v1",
        "asr",
        "downloads",
        "{engineId}",
        "{modelId}",
        "retry"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/asr/downloads/{engineId}/{modelId}/retry"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "post": {
          "summary": "Retry or resume a failed/interrupted ASR weight download",
          "tags": [
            "ASR"
          ],
          "description": "Safe to call repeatedly. Existing active work is deduplicated.",
          "parameters": [
            {
              "name": "engineId",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "modelId",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Weights already ready"
            },
            "202": {
              "description": "Retry accepted"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-asr-engines",
      "kind": "api",
      "title": "/v1/asr/engines",
      "summary": "List all ASR engines, models, capabilities, resource requirements, readiness, download transitions, and active selection",
      "aliases": [
        "/v1/asr/engines"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "ASR",
        "v1",
        "asr",
        "engines"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/asr/engines"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "get": {
          "summary": "List all ASR engines, models, capabilities, resource requirements, readiness, download transitions, and active selection",
          "tags": [
            "ASR"
          ],
          "description": "Each managed model includes a nullable download object with state, byte progress, rate, ETA, deployment state, and agent-followable links.",
          "responses": {
            "200": {
              "description": "Canonical ASR registry, runtime readiness, and transitional download state"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-asr-engines-engine-id-models-model-id-deploy",
      "kind": "api",
      "title": "/v1/asr/engines/{engineId}/models/{modelId}/deploy",
      "summary": "Pull, select, and activate one exact ASR model",
      "aliases": [
        "/v1/asr/engines/{engineId}/models/{modelId}/deploy"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "ASR",
        "v1",
        "asr",
        "engines",
        "{engineId}",
        "models",
        "{modelId}",
        "deploy"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/asr/engines/{engineId}/models/{modelId}/deploy"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "post": {
          "summary": "Pull, select, and activate one exact ASR model",
          "tags": [
            "ASR"
          ],
          "description": "Optional body: {device}. Persists the selection after the managed runtime and weights are ready.",
          "parameters": [
            {
              "name": "engineId",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "modelId",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Model already deployed and selected"
            },
            "202": {
              "description": "Deployment pending; poll statusUrl until deployment.state=active"
            },
            "500": {
              "description": "Deploy or CUDA validation failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-asr-engines-engine-id-models-model-id-pull",
      "kind": "api",
      "title": "/v1/asr/engines/{engineId}/models/{modelId}/pull",
      "summary": "Pull one exact ASR model and validate its managed runtime",
      "aliases": [
        "/v1/asr/engines/{engineId}/models/{modelId}/pull"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "ASR",
        "v1",
        "asr",
        "engines",
        "{engineId}",
        "models",
        "{modelId}",
        "pull"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/asr/engines/{engineId}/models/{modelId}/pull"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "post": {
          "summary": "Pull one exact ASR model and validate its managed runtime",
          "tags": [
            "ASR"
          ],
          "description": "Optional body: {device}. Downloads model weights into Omnius-managed storage and verifies CUDA placement for Whisper, Nemotron, and Voxtral. Voxtral model IDs are voxtral-mini-4b-realtime-2602, voxtral-mini-3b-2507, and voxtral-small-24b-2507.",
          "parameters": [
            {
              "name": "engineId",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "modelId",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Weights already ready"
            },
            "202": {
              "description": "Download accepted with polling and retry links"
            },
            "500": {
              "description": "Runtime, download, or CUDA validation failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-asr-engines-engine-id-setup",
      "kind": "api",
      "title": "/v1/asr/engines/{engineId}/setup",
      "summary": "Install a managed ASR runtime and its pinned weights",
      "aliases": [
        "/v1/asr/engines/{engineId}/setup"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "ASR",
        "v1",
        "asr",
        "engines",
        "{engineId}",
        "setup"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/asr/engines/{engineId}/setup"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "post": {
          "summary": "Install a managed ASR runtime and its pinned weights",
          "tags": [
            "ASR"
          ],
          "description": "Body: {modelId?, device?}. Installs the managed runtime and pulls the requested model. Whisper, Nemotron, and Voxtral load the requested weights to validate exact CUDA placement; VibeVoice stores its pinned microsoft/VibeVoice-ASR model and tokenizer snapshot under Omnius' ASR runtime directories.",
          "parameters": [
            {
              "name": "engineId",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Runtime and weights ready"
            },
            "409": {
              "description": "Engine has no managed setup adapter"
            },
            "500": {
              "description": "Setup failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-asr-selection",
      "kind": "api",
      "title": "/v1/asr/selection",
      "summary": "Read the selected ASR engine/model; Persist and activate an exact ASR selection",
      "aliases": [
        "/v1/asr/selection"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "PATCH",
        "ASR",
        "v1",
        "asr",
        "selection"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/asr/selection"
        },
        {
          "type": "rest",
          "target": "PATCH /v1/asr/selection"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "PATCH"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "get": {
          "summary": "Read the selected ASR engine/model",
          "tags": [
            "ASR"
          ],
          "responses": {
            "200": {
              "description": "ASR selection and runtime status"
            }
          }
        },
        "patch": {
          "summary": "Persist and activate an exact ASR selection",
          "tags": [
            "ASR"
          ],
          "description": "Body: {engineId, modelId?, setup?, device?}. Selection is validated against the registry and fails fail-closed: no unavailable engine, missing weights, or unverified CUDA placement can silently replace the active selection. setup=true pulls the exact managed model and verifies CUDA placement before activation. Hardware evidence uses nvidia-smi on discrete Linux and NVIDIA's documented tegrastats plus a CUDA Torch property probe on Jetson/L4T.",
          "responses": {
            "200": {
              "description": "Exact selection activated"
            },
            "202": {
              "description": "Model accepted; pending_download includes statusUrl, retryUrl, pollAfterMs, and the still-active prior selection"
            },
            "400": {
              "description": "Unknown engine or model"
            },
            "409": {
              "description": "Runtime unavailable or not installed"
            },
            "500": {
              "description": "Setup, hardware preflight, or activation failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-asr-status",
      "kind": "api",
      "title": "/v1/asr/status",
      "summary": "Read the selected ASR engine/model and runtime status",
      "aliases": [
        "/v1/asr/status"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "ASR",
        "v1",
        "asr",
        "status"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/asr/status"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "get": {
          "summary": "Read the selected ASR engine/model and runtime status",
          "tags": [
            "ASR"
          ],
          "responses": {
            "200": {
              "description": "ASR selection and runtime status"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-asr-test",
      "kind": "api",
      "title": "/v1/asr/test",
      "summary": "Test the selected ASR engine using an uploaded audio sample",
      "aliases": [
        "/v1/asr/test"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "ASR",
        "v1",
        "asr",
        "test"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/asr/test"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "post": {
          "summary": "Test the selected ASR engine using an uploaded audio sample",
          "tags": [
            "ASR"
          ],
          "description": "Alias of /v1/asr/transcriptions intended for dashboard and integration readiness tests; it runs the real selected backend and reports exact engine/model identity.",
          "responses": {
            "200": {
              "description": "ASR test result"
            },
            "400": {
              "description": "Empty or tiny audio"
            },
            "409": {
              "description": "Selected engine is catalogued but disabled"
            },
            "500": {
              "description": "ASR test failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-asr-transcriptions",
      "kind": "api",
      "title": "/v1/asr/transcriptions",
      "summary": "Transcribe audio with the selected ASR engine",
      "aliases": [
        "/v1/asr/transcriptions"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "ASR",
        "v1",
        "asr",
        "transcriptions"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/asr/transcriptions"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "post": {
          "summary": "Transcribe audio with the selected ASR engine",
          "tags": [
            "ASR"
          ],
          "responses": {
            "200": {
              "description": "Transcription with actual engine/model identity; exact digital PCM silence returns text='' plus typed noSpeech evidence without model inference"
            },
            "400": {
              "description": "Empty or tiny audio"
            },
            "409": {
              "description": "Selected engine is catalogued but disabled"
            },
            "500": {
              "description": "Selected ASR runtime transcription failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-classify",
      "kind": "api",
      "title": "/v1/audio/classify",
      "summary": "Classify a supplied WAV with persistent CUDA/TensorRT YAMNet",
      "aliases": [
        "/v1/audio/classify"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Audio",
        "v1",
        "audio",
        "classify"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/audio/classify"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Audio"
      ],
      "operations": {
        "post": {
          "summary": "Classify a supplied WAV with persistent CUDA/TensorRT YAMNet",
          "tags": [
            "Audio"
          ],
          "description": "Alias of POST /v1/tools/audio_analyze/call. Body: {args:{action:'classify',file:'/absolute/path.wav',top_k:5},timeout_ms:90000}. Input must be caller-supplied mono PCM16/16 kHz WAV; no microphone capture, dependency install, or model download occurs on this path. Returns result.data.classifications and low_information/acoustic fields. Direct-tool compatibility keeps typed busy/not-ready/timeout failures inside the HTTP 200 result envelope as result.success=false and result.data.code.",
          "responses": {
            "200": {
              "description": "Direct-tool result envelope containing either a structured AudioSet-521 result or a typed result.data.code failure"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-classify-health",
      "kind": "api",
      "title": "/v1/audio/classify/health",
      "summary": "Jetson CUDA/TensorRT YAMNet readiness",
      "aliases": [
        "/v1/audio/classify/health"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Audio",
        "v1",
        "audio",
        "classify",
        "health"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/audio/classify/health"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Audio"
      ],
      "operations": {
        "get": {
          "summary": "Jetson CUDA/TensorRT YAMNet readiness",
          "tags": [
            "Audio"
          ],
          "description": "Reports real pinned-model, TensorRT/CUDA/L4T engine fingerprint, worker, CUDA placement, warmup, queue, and error state. General /health is not an audio readiness signal.",
          "responses": {
            "200": {
              "description": "Warm audio classifier readiness"
            },
            "503": {
              "description": "Audio classifier is installing, stopped, or unavailable"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-classify-setup",
      "kind": "api",
      "title": "/v1/audio/classify/setup",
      "summary": "Provision and warm Jetson CUDA/TensorRT YAMNet",
      "aliases": [
        "/v1/audio/classify/setup"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Audio",
        "v1",
        "audio",
        "classify",
        "setup"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/audio/classify/setup"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Audio"
      ],
      "operations": {
        "post": {
          "summary": "Provision and warm Jetson CUDA/TensorRT YAMNet",
          "tags": [
            "Audio"
          ],
          "description": "Admin-only. Downloads checksummed ONNX/class-map artifacts once, builds a JetPack-specific FP16 TensorRT engine, fingerprints JetPack/CUDA/TensorRT, verifies Orin compute capability 8.7, and warms the persistent worker. OMNIUS_AUDIO_PYTHON may identify the JetPack-compatible Torch 2.2/CUDA 12.2 interpreter; when unset, Omnius discovers conventional project venvs such as ~/Documents/<project>/.venv without modifying them. The isolated audio venv pins cuda-python==12.2.0 --no-deps; generic CUDA/Torch wheels are never installed. L4T R36.3 tegrastats is supported without requiring --count.",
          "responses": {
            "200": {
              "description": "Audio classifier installed and warm"
            },
            "403": {
              "description": "Admin scope required"
            },
            "500": {
              "description": "JetPack/TensorRT/CUDA preflight or setup failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-diarization-live",
      "kind": "api",
      "title": "/v1/audio/diarization/live",
      "summary": "Diarize live/session-local speaker turns",
      "aliases": [
        "/v1/audio/diarization/live"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Audio",
        "v1",
        "audio",
        "diarization",
        "live"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/audio/diarization/live"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Audio"
      ],
      "operations": {
        "post": {
          "summary": "Diarize live/session-local speaker turns",
          "tags": [
            "Audio"
          ],
          "description": "Managed inference contract: {session_id,file,asset_digest?,channel?,sample_rate_hz?,timeout_ms?}. It accepts only a retained mono PCM16/16 kHz WAV greater than 0 and at most 6 seconds. The controller is limited to one active job plus one queued job; cancellation terminates its process group before clearing both. Output is omnius.speaker-diarization.v1 SpeakerTurnSpan[] with explicit overlap and session-local labels. Inference may activate an already-provisioned runtime but never installs packages, builds code, or downloads model bytes.",
          "responses": {
            "200": {
              "description": "Typed managed diarization spans."
            },
            "400": {
              "description": "Invalid retained live window or request."
            },
            "403": {
              "description": "Run scope required."
            },
            "503": {
              "description": "Managed live diarization worker not provisioned or warm."
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-diarization-live-cancel",
      "kind": "api",
      "title": "/v1/audio/diarization/live/cancel",
      "summary": "Cancel live diarization work",
      "aliases": [
        "/v1/audio/diarization/live/cancel"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Audio",
        "v1",
        "audio",
        "diarization",
        "live",
        "cancel"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/audio/diarization/live/cancel"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Audio"
      ],
      "operations": {
        "post": {
          "summary": "Cancel live diarization work",
          "tags": [
            "Audio"
          ],
          "description": "Run scope required. Cancellation terminates the worker and clears its one active plus one queued request.",
          "responses": {
            "200": {
              "description": "Cancellation state."
            },
            "403": {
              "description": "Run scope required."
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-diarization-live-readiness",
      "kind": "api",
      "title": "/v1/audio/diarization/live/readiness",
      "summary": "Read managed live speaker-turn diarization readiness",
      "aliases": [
        "/v1/audio/diarization/live/readiness"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Audio",
        "v1",
        "audio",
        "diarization",
        "live",
        "readiness"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/audio/diarization/live/readiness"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Audio"
      ],
      "operations": {
        "get": {
          "summary": "Read managed live speaker-turn diarization readiness",
          "tags": [
            "Audio"
          ],
          "description": "Non-mutating readiness for NVIDIA diar_streaming_sortformer_4spk-v2. It never downloads, installs, creates environments, or loads a model. Managed JetPack setup pins NVIDIA's Q8 GGUF plus NeMo-Speech.cpp source revision and keeps one persistent worker/controller serialized; operator-provided .nemo/Python snapshots remain supported. 200 requires the verified runtime worker to be active. Session-local labels are never durable identities.",
          "responses": {
            "200": {
              "description": "Verified local snapshot and warm managed live worker."
            },
            "503": {
              "description": "Snapshot/runtime/worker is unprovisioned or unready; body describes the exact model and span/observation contract."
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-diarization-live-setup",
      "kind": "api",
      "title": "/v1/audio/diarization/live/setup",
      "summary": "Provision and activate live Sortformer on JetPack",
      "aliases": [
        "/v1/audio/diarization/live/setup"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Audio",
        "v1",
        "audio",
        "diarization",
        "live",
        "setup"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/audio/diarization/live/setup"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Audio"
      ],
      "operations": {
        "post": {
          "summary": "Provision and activate live Sortformer on JetPack",
          "tags": [
            "Audio"
          ],
          "description": "Admin-only and asynchronous. An empty JSON object provisions the pinned public Q8 Sortformer artifact and builds an immutable-revision CUDA NeMo-Speech.cpp runtime under ~/.omnius without modifying JetPack Torch. Poll readiness after HTTP 202. Advanced operators may instead provide snapshot_path/manifest_path plus python_path for a checksum-pinned .nemo runtime. Setup may download/build; inference never does.",
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "snapshot_path": {
                      "type": "string",
                      "description": "Optional absolute operator snapshot; omit for managed Q8 setup."
                    },
                    "manifest_path": {
                      "type": "string"
                    },
                    "python_path": {
                      "type": "string",
                      "description": "Optional absolute external NeMo Python for an operator .nemo snapshot."
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Already ready."
            },
            "202": {
              "description": "Managed single-flight setup accepted; poll readiness."
            },
            "400": {
              "description": "Setup request or prerequisite validation failed before launch."
            },
            "403": {
              "description": "Admin scope required."
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-diarization-reconcile",
      "kind": "api",
      "title": "/v1/audio/diarization/reconcile",
      "summary": "Reconcile offline/dream diarization observations",
      "aliases": [
        "/v1/audio/diarization/reconcile"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Audio",
        "v1",
        "audio",
        "diarization",
        "reconcile"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/audio/diarization/reconcile"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Audio"
      ],
      "operations": {
        "post": {
          "summary": "Reconcile offline/dream diarization observations",
          "tags": [
            "Audio"
          ],
          "description": "Managed offline/dream contract: {file,observation_ids,episode_id?,timeout_ms?}. file is a retained uncompressed PCM16 WAV and may be longer than the live six-second window. The supplied IDs refer to role-isolated AudioObservation records. The pyannote worker returns only OfflineReconciliationProposal records with durable_identity:forbidden. Inference may activate the already-provisioned private CPU runtime but never installs, downloads, or modifies runtime dependencies or model bytes.",
          "responses": {
            "200": {
              "description": "Typed review-required reconciliation proposals and spans."
            },
            "400": {
              "description": "Invalid retained asset or observation IDs."
            },
            "403": {
              "description": "Run scope required."
            },
            "503": {
              "description": "Managed reconciliation worker not provisioned or warm."
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-diarization-reconcile-cancel",
      "kind": "api",
      "title": "/v1/audio/diarization/reconcile/cancel",
      "summary": "Cancel offline diarization reconciliation work",
      "aliases": [
        "/v1/audio/diarization/reconcile/cancel"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Audio",
        "v1",
        "audio",
        "diarization",
        "reconcile",
        "cancel"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/audio/diarization/reconcile/cancel"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Audio"
      ],
      "operations": {
        "post": {
          "summary": "Cancel offline diarization reconciliation work",
          "tags": [
            "Audio"
          ],
          "description": "Run scope required. The persistent worker is limited to one active job plus one queued job; cancellation terminates it before clearing both.",
          "responses": {
            "200": {
              "description": "Cancellation state."
            },
            "403": {
              "description": "Run scope required."
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-diarization-reconcile-readiness",
      "kind": "api",
      "title": "/v1/audio/diarization/reconcile/readiness",
      "summary": "Read offline/dream speaker-reconciliation readiness",
      "aliases": [
        "/v1/audio/diarization/reconcile/readiness"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Audio",
        "v1",
        "audio",
        "diarization",
        "reconcile",
        "readiness"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/audio/diarization/reconcile/readiness"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Audio"
      ],
      "operations": {
        "get": {
          "summary": "Read offline/dream speaker-reconciliation readiness",
          "tags": [
            "Audio"
          ],
          "description": "Non-mutating readiness for pyannote/speaker-diarization-community-1. It never downloads, installs, creates environments, or loads a model. Managed setup creates a private CPU-only PyTorch/pyannote environment, leaving JetPack CUDA Torch untouched, and stores a complete checksummed offline model tree. Reconciliation makes reviewable cluster proposals, never durable identity claims.",
          "responses": {
            "200": {
              "description": "Verified complete local Community-1 snapshot and warm managed worker."
            },
            "503": {
              "description": "Snapshot/runtime/worker is unprovisioned or unready; body describes the exact model and proposal/observation contract."
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-diarization-reconcile-setup",
      "kind": "api",
      "title": "/v1/audio/diarization/reconcile/setup",
      "summary": "Provision and activate offline Community-1 reconciliation",
      "aliases": [
        "/v1/audio/diarization/reconcile/setup"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Audio",
        "v1",
        "audio",
        "diarization",
        "reconcile",
        "setup"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/audio/diarization/reconcile/setup"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Audio"
      ],
      "operations": {
        "post": {
          "summary": "Provision and activate offline Community-1 reconciliation",
          "tags": [
            "Audio"
          ],
          "description": "Admin-only and asynchronous. With pyannote_terms_accepted=true and OMNIUS_HF_TOKEN in the daemon environment, setup creates a private CPython 3.10 CPU runtime with pinned PyTorch/Torchaudio/pyannote versions, downloads the immutable Community-1 revision, removes setup credentials, checksums the complete offline model tree, and warms the worker. TorchCodec is deliberately omitted because it has no CPython 3.10/aarch64 wheel; the worker uses pyannote's supported in-memory waveform input for retained PCM16 WAV instead. It never modifies JetPack CUDA Torch. Operator-provided snapshot_path/python_path remains supported. Credentials are rejected in the HTTP body and are never persisted or passed to inference.",
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "pyannote_terms_accepted"
                  ],
                  "properties": {
                    "snapshot_path": {
                      "type": "string",
                      "description": "Optional operator snapshot; omit for managed gated download."
                    },
                    "manifest_path": {
                      "type": "string"
                    },
                    "python_path": {
                      "type": "string",
                      "description": "Optional pre-provisioned external pyannote Python."
                    },
                    "pyannote_terms_accepted": {
                      "type": "boolean",
                      "enum": [
                        true
                      ]
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Already ready."
            },
            "202": {
              "description": "Managed single-flight setup accepted; poll readiness."
            },
            "400": {
              "description": "Terms attestation, setup request, or prerequisite validation failed before launch."
            },
            "403": {
              "description": "Admin scope required."
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-embed",
      "kind": "api",
      "title": "/v1/audio/embed",
      "summary": "Create a managed role-typed audio embedding",
      "aliases": [
        "/v1/audio/embed"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Audio",
        "v1",
        "audio",
        "embed"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/audio/embed"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Audio"
      ],
      "operations": {
        "post": {
          "summary": "Create a managed role-typed audio embedding",
          "tags": [
            "Audio"
          ],
          "description": "Alias of POST /v1/tools/audio_analyze/call with args.action forced to embed. Canonical form: POST /v1/audio/embed?kind=acoustic|speaker|semantic with {args:{file|path,...},timeout_ms?,profile?,working_dir?}; body.kind and args.kind are compatibility aliases. Legacy top-level path/file is normalized into args. bytesBase64 is rejected because every managed runtime accepts a retained caller-supplied WAV path only. It preserves the exact direct-tool auth, profile, origin, output-cap, timeout, and cancellation contract. The route passes the requested role through exactly and never substitutes vector spaces. Poll /v1/audio/embed/health?kind=<role> first; inference never installs dependencies or downloads weights. A runtime that is not ready returns HTTP 503 with its role-specific code: audio_classifier_not_ready, speaker_embedding_not_ready, or audio_semantic_embedding_not_ready. Speaker busy and timeout remain typed direct-tool result codes. The generic /v1/tools/audio_analyze/call route retains HTTP 200 for all tool failures. Semantic local-memory admission pressure is likewise an adapter HTTP 503 with code audio_semantic_memory_pressure.",
          "parameters": [
            {
              "name": "kind",
              "in": "query",
              "required": false,
              "schema": {
                "type": "string",
                "enum": [
                  "acoustic",
                  "speaker",
                  "semantic"
                ]
              },
              "description": "Canonical location for the required role kind; body.kind is accepted for compatibility."
            }
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "kind": {
                      "type": "string",
                      "enum": [
                        "acoustic",
                        "speaker",
                        "semantic"
                      ]
                    },
                    "path": {
                      "type": "string",
                      "description": "Compatibility input; normalized into args.path."
                    },
                    "file": {
                      "type": "string",
                      "description": "Compatibility input; normalized into args.file."
                    },
                    "args": {
                      "type": "object",
                      "properties": {
                        "file": {
                          "type": "string"
                        },
                        "path": {
                          "type": "string"
                        }
                      }
                    },
                    "timeout_ms": {
                      "type": "integer",
                      "minimum": 1000,
                      "maximum": 120000
                    },
                    "max_output_chars": {
                      "type": "integer"
                    },
                    "profile": {
                      "type": "string"
                    },
                    "working_dir": {
                      "type": "string",
                      "description": "Admin scope only."
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Direct audio_analyze result envelope; consume result.data for the role-typed embedding."
            },
            "400": {
              "description": "Invalid body or embedding kind"
            },
            "403": {
              "description": "Direct-tool scope/profile/origin policy denied the call"
            },
            "503": {
              "description": "Requested role runtime is unavailable: audio_classifier_not_ready, speaker_embedding_not_ready, or audio_semantic_embedding_not_ready. Semantic memory admission uses audio_semantic_memory_pressure."
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-embed-health",
      "kind": "api",
      "title": "/v1/audio/embed/health",
      "summary": "Read role-typed audio embedding readiness",
      "aliases": [
        "/v1/audio/embed/health"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Audio",
        "v1",
        "audio",
        "embed",
        "health"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/audio/embed/health"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Audio"
      ],
      "operations": {
        "get": {
          "summary": "Read role-typed audio embedding readiness",
          "tags": [
            "Audio"
          ],
          "description": "Requires kind=acoustic|speaker|semantic. Each kind dispatches only to its role-correct managed runtime: acoustic is Jetson TensorRT YAMNet (1024d), speaker is CPU-only WeSpeaker CAM++ (512d), and semantic is Jetson CUDA CLAP (512d). A 503 means that requested role is unprovisioned or its worker is unready; Omnius never substitutes another vector space. This endpoint is non-provisioning: it never installs dependencies, downloads weights, or runs embedding inference.",
          "parameters": [
            {
              "name": "kind",
              "in": "query",
              "required": true,
              "schema": {
                "type": "string",
                "enum": [
                  "acoustic",
                  "speaker",
                  "semantic"
                ]
              }
            }
          ],
          "responses": {
            "200": {
              "description": "The requested role-specific embedding runtime is warm and ready."
            },
            "400": {
              "description": "kind is missing or invalid"
            },
            "503": {
              "description": "The requested role runtime is unprovisioned or unready; response retains that role's exact vector-space metadata."
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-embed-setup",
      "kind": "api",
      "title": "/v1/audio/embed/setup",
      "summary": "Provision and activate one role-typed audio embedding runtime",
      "aliases": [
        "/v1/audio/embed/setup"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Audio",
        "v1",
        "audio",
        "embed",
        "setup"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/audio/embed/setup"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Audio"
      ],
      "operations": {
        "post": {
          "summary": "Provision and activate one role-typed audio embedding runtime",
          "tags": [
            "Audio"
          ],
          "description": "Admin-only. Requires kind=acoustic|speaker|semantic in the query (canonical) or JSON body. acoustic reuses pinned JetPack YAMNet/TensorRT. speaker creates a private CPU-only WeSpeaker CAM++ venv with checksum-pinned NumPy/ONNX Runtime wheels and no Torch/Torchaudio dependency. semantic installs a checksum-locked CPython 3.10/aarch64 dependency closure plus the immutable CLAP revision while leaving vendor Torch untouched. Omnius never imports, links, replaces, or resolves a generic Torch package over JetPack Torch for either isolated runtime. JetPack daemon bootstrap provisions all three roles by default; OMNIUS_AUDIO_AUTO_SETUP=0 disables all and OMNIUS_SEMANTIC_AUDIO_AUTO_SETUP=0 disables CLAP. Semantic provisioning may finish under memory pressure, while activation/inference still requires the 8 GiB admission threshold and never evicts another workload. This is the only REST operation allowed to provision, and no role is substituted for another.",
          "parameters": [
            {
              "name": "kind",
              "in": "query",
              "required": false,
              "schema": {
                "type": "string",
                "enum": [
                  "acoustic",
                  "speaker",
                  "semantic"
                ]
              },
              "description": "Canonical required role selector; JSON body.kind is accepted for compatibility."
            }
          ],
          "requestBody": {
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "kind": {
                      "type": "string",
                      "enum": [
                        "acoustic",
                        "speaker",
                        "semantic"
                      ]
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Requested role runtime provisioned and warm."
            },
            "202": {
              "description": "Provisioning finished but requested role did not prove warm; poll its health URL."
            },
            "400": {
              "description": "kind is missing or invalid."
            },
            "403": {
              "description": "Admin scope required."
            },
            "500": {
              "description": "Role-specific setup/preflight failed."
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-speech",
      "kind": "api",
      "title": "/v1/audio/speech",
      "summary": "OpenAI-compatible alias of /v1/voice/tts (input/voice/response_format names)",
      "aliases": [
        "/v1/audio/speech"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Voice",
        "v1",
        "audio",
        "speech"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/audio/speech"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "post": {
          "summary": "OpenAI-compatible alias of /v1/voice/tts (input/voice/response_format names)",
          "tags": [
            "Voice"
          ],
          "responses": {
            "200": {
              "description": "Audio bytes"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audio-transcriptions",
      "kind": "api",
      "title": "/v1/audio/transcriptions",
      "summary": "OpenAI-compatible alias of /v1/asr/transcriptions",
      "aliases": [
        "/v1/audio/transcriptions"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "ASR",
        "v1",
        "audio",
        "transcriptions"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/audio/transcriptions"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "post": {
          "summary": "OpenAI-compatible alias of /v1/asr/transcriptions",
          "tags": [
            "ASR"
          ],
          "responses": {
            "200": {
              "description": "Transcription result"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-audit",
      "kind": "api",
      "title": "/v1/audit",
      "summary": "Query audit log",
      "aliases": [
        "/v1/audit"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Audit",
        "v1",
        "audit"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/audit"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Audit"
      ],
      "operations": {
        "get": {
          "summary": "Query audit log",
          "tags": [
            "Audit"
          ],
          "responses": {
            "200": {
              "description": "Audit records"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-chat",
      "kind": "api",
      "title": "/v1/chat",
      "summary": "Stateful chat session with full agent tool access (OpenAI-compatible response shape)",
      "aliases": [
        "/v1/chat"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Chat",
        "v1",
        "chat"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/chat"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Chat"
      ],
      "operations": {
        "post": {
          "summary": "Stateful chat session with full agent tool access (OpenAI-compatible response shape)",
          "description": "Drop-in replacement for OpenAI /v1/chat/completions and Ollama /api/chat. By default the request runs the FULL Omnius agent stack (tools, multi-agent, memory, skills) under the hood and returns an OpenAI chat.completion shape on success. Set tools=false to bypass the agent and forward straight to the configured backend (fast path).",
          "tags": [
            "Chat"
          ],
          "parameters": [
            {
              "$ref": "#/components/parameters/MinimumOmniusVersion"
            }
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "model": {
                      "type": "string"
                    },
                    "session_id": {
                      "type": "string"
                    },
                    "stream": {
                      "type": "boolean",
                      "default": true
                    },
                    "realtime": {
                      "type": "boolean",
                      "description": "Short spoken-dialogue mode for ASR/TTS clients. Forces direct backend chat, injects compact SOUL.md-aware realtime context, and keeps recent session history short."
                    },
                    "realtime_options": {
                      "type": "object",
                      "properties": {
                        "max_history_messages": {
                          "type": "integer",
                          "default": 12
                        },
                        "max_tokens": {
                          "type": "integer",
                          "default": 160
                        }
                      }
                    },
                    "tools": {
                      "type": "boolean",
                      "default": true,
                      "description": "true (default) = full agent. false = direct backend chat. realtime=true also uses direct backend chat."
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "OpenAI chat.completion shape — {id, object, created, model, choices: [{index, message, finish_reason}], usage}. finish_reason is 'stop' on success or 'error' if the agent produced no usable content (the error text is in choices[0].message.content)."
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-chat-attachments",
      "kind": "api",
      "title": "/v1/chat/attachments",
      "summary": "Upload an attachment for a stateful chat",
      "aliases": [
        "/v1/chat/attachments"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Chat",
        "v1",
        "chat",
        "attachments"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/chat/attachments"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Chat"
      ],
      "operations": {
        "post": {
          "summary": "Upload an attachment for a stateful chat",
          "tags": [
            "Chat"
          ],
          "responses": {
            "200": {
              "description": "Stored attachment metadata"
            },
            "400": {
              "description": "Invalid attachment"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-chat-check-in",
      "kind": "api",
      "title": "/v1/chat/check-in",
      "summary": "Send a steering check-in to the active chat session — returns model inference + queued steering_packet",
      "aliases": [
        "/v1/chat/check-in"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Chat",
        "v1",
        "chat",
        "check-in"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/chat/check-in"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Chat"
      ],
      "operations": {
        "post": {
          "summary": "Send a steering check-in to the active chat session — returns model inference + queued steering_packet",
          "tags": [
            "Chat"
          ],
          "responses": {
            "200": {
              "description": "Check-in queued"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-chat-completions",
      "kind": "api",
      "title": "/v1/chat/completions",
      "summary": "OpenAI-compatible chat completion (with optional server-side agent loop)",
      "aliases": [
        "/v1/chat/completions"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Inference",
        "v1",
        "chat",
        "completions"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/chat/completions"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Inference"
      ],
      "operations": {
        "post": {
          "summary": "OpenAI-compatible chat completion (with optional server-side agent loop)",
          "tags": [
            "Inference"
          ],
          "parameters": [
            {
              "$ref": "#/components/parameters/MinimumOmniusVersion"
            }
          ],
          "description": "Standard OpenAI chat-completion proxy by default. Set agent_loop=true to enter a bounded synchronous server-side loop that auto-executes selected daemon tools and re-prompts the model. Ollama targets use native /api/chat tool messages. timeout_s bounds each backend call; agent_timeout_s bounds the whole loop (default 45s, max 600s). daemon_tool_names explicitly limits the offered catalog; factual-first implicitly limits it to web_search/web_fetch when no names are supplied. Identical repeated calls fail with HTTP 508 instead of looping. SSE streaming outside agent_loop honors OpenAI tool_calls deltas.",
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "model",
                    "messages"
                  ],
                  "properties": {
                    "model": {
                      "type": "string"
                    },
                    "messages": {
                      "type": "array"
                    },
                    "stream": {
                      "type": "boolean"
                    },
                    "realtime": {
                      "type": "boolean",
                      "description": "Omnius realtime conversation mode. When true, Omnius injects a compact SOUL.md-aware spoken-dialogue contract, trims session history for short ASR/TTS turns, and applies short-response defaults before proxying to the backend."
                    },
                    "realtime_options": {
                      "type": "object",
                      "properties": {
                        "max_history_messages": {
                          "type": "integer",
                          "default": 12
                        },
                        "max_tokens": {
                          "type": "integer",
                          "default": 160
                        }
                      }
                    },
                    "temperature": {
                      "type": "number"
                    },
                    "tools": {
                      "type": "array",
                      "description": "OpenAI-shape tools array. Forwarded to the backend."
                    },
                    "tool_choice": {
                      "description": "OpenAI-shape tool_choice. Forwarded to the backend."
                    },
                    "parallel_tool_calls": {
                      "type": "boolean",
                      "description": "Q7 — forwarded to backend; some models (qwen3, llama3) emit multiple tool_calls in one response."
                    },
                    "timeout_s": {
                      "type": "number",
                      "description": "Q1 — per-request timeout in seconds (1-3600). Overrides OMNIUS_BACKEND_TIMEOUT_S."
                    },
                    "agent_loop": {
                      "type": "boolean",
                      "description": "Q2 — when true, daemon runs an N-turn agent loop server-side. Daemon tools execute inline; client tool_calls cause the loop to yield."
                    },
                    "include_daemon_tools": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "read",
                          "run",
                          "admin"
                        ]
                      },
                      "description": "Scopes from which Omnius may offer its bounded core daemon-tool catalog. Use daemon_tool_names to request other exact tools."
                    },
                    "daemon_tool_names": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Optional exact allowlist of daemon tool names. Use this to keep local-model tool prompts small."
                    },
                    "agent_timeout_s": {
                      "type": "number",
                      "minimum": 5,
                      "maximum": 600,
                      "default": 45,
                      "description": "Total server-side agent-loop deadline. Distinct from per-backend timeout_s."
                    },
                    "agent_max_tool_rounds": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 8,
                      "default": 1,
                      "description": "Maximum daemon-tool planning rounds. The default executes one tool round, then removes daemon schemas for lower-latency final synthesis."
                    },
                    "agent_prefetch_web_search": {
                      "type": "boolean",
                      "default": false,
                      "description": "Explicitly execute authorized web_search with the latest user text before one backend synthesis. factual-first enables this automatically."
                    },
                    "max_turns": {
                      "type": "integer",
                      "description": "Q2 — agent_loop max iterations (default 8, max 64)."
                    },
                    "prompt_template": {
                      "type": "string",
                      "enum": [
                        "factual-first"
                      ],
                      "description": "Factual-first prefetches authorized web_search from the latest user turn and performs one grounded synthesis generation."
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "OpenAI chat.completion shape, SSE if stream=true. agent_loop responses include _agent_loop:{turns,log,done,reason,elapsed_ms,backend_transport}."
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "504": {
              "description": "Backend round or total agent-loop deadline expired"
            },
            "508": {
              "description": "The model repeated an identical daemon tool call"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-chat-sessions",
      "kind": "api",
      "title": "/v1/chat/sessions",
      "summary": "List persisted browser chats and importable TUI sessions for a workspace",
      "aliases": [
        "/v1/chat/sessions"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Chat",
        "v1",
        "chat",
        "sessions"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/chat/sessions"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Chat"
      ],
      "operations": {
        "get": {
          "summary": "List persisted browser chats and importable TUI sessions for a workspace",
          "description": "Returns the canonical structured chat store plus quality-filtered TUI visual sessions. Exit commands such as /quit, manual-save noise, empty transcripts, and duplicate session fingerprints are excluded from the TUI history projection.",
          "tags": [
            "Chat"
          ],
          "parameters": [
            {
              "name": "root",
              "in": "query",
              "schema": {
                "type": "string"
              },
              "description": "Workspace root. Defaults to the daemon's current project or process cwd."
            },
            {
              "name": "include_tui",
              "in": "query",
              "schema": {
                "type": "boolean",
                "default": true
              },
              "description": "Set to 0/false to return only canonical browser chat sessions."
            }
          ],
          "responses": {
            "200": {
              "description": "Workspace-scoped canonical and importable session list"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-chat-sessions-id",
      "kind": "api",
      "title": "/v1/chat/sessions/{id}",
      "summary": "Hydrate one chat or imported TUI session with full history and live-run state; Permanently delete a canonical chat or TUI history session",
      "aliases": [
        "/v1/chat/sessions/{id}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "DELETE",
        "Chat",
        "v1",
        "chat",
        "sessions",
        "{id}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/chat/sessions/{id}"
        },
        {
          "type": "rest",
          "target": "DELETE /v1/chat/sessions/{id}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "DELETE"
      ],
      "tags": [
        "Chat"
      ],
      "operations": {
        "get": {
          "summary": "Hydrate one chat or imported TUI session with full history and live-run state",
          "tags": [
            "Chat"
          ],
          "parameters": [
            {
              "name": "id",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "root",
              "in": "query",
              "schema": {
                "type": "string"
              },
              "description": "Workspace root used to resolve tui: session ids."
            }
          ],
          "responses": {
            "200": {
              "description": "Session metadata, full non-system message history, transcript, token counts, and in-flight run state"
            },
            "404": {
              "description": "Session not found"
            }
          }
        },
        "delete": {
          "summary": "Permanently delete a canonical chat or TUI history session",
          "tags": [
            "Chat"
          ],
          "parameters": [
            {
              "name": "id",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "root",
              "in": "query",
              "schema": {
                "type": "string"
              },
              "description": "Workspace root used to resolve tui: session ids."
            }
          ],
          "responses": {
            "200": {
              "description": "Session deleted"
            },
            "404": {
              "description": "Session not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-chat-sessions-id-status",
      "kind": "api",
      "title": "/v1/chat/sessions/{id}/status",
      "summary": "Reactive recall: is this session running right now + unseen deltas since ?since=<seq> (running, phase, seq, partial, deltas[])",
      "aliases": [
        "/v1/chat/sessions/{id}/status"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Chat",
        "v1",
        "chat",
        "sessions",
        "{id}",
        "status"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/chat/sessions/{id}/status"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Chat"
      ],
      "operations": {
        "get": {
          "summary": "Reactive recall: is this session running right now + unseen deltas since ?since=<seq> (running, phase, seq, partial, deltas[])",
          "tags": [
            "Chat"
          ],
          "responses": {
            "200": {
              "description": "Live run status + catch-up deltas"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-chat-sessions-id-summarize",
      "kind": "api",
      "title": "/v1/chat/sessions/{id}/summarize",
      "summary": "Generate + cache an inference-based title/summary for a session — body {force?, root?}",
      "aliases": [
        "/v1/chat/sessions/{id}/summarize"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Chat",
        "v1",
        "chat",
        "sessions",
        "{id}",
        "summarize"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/chat/sessions/{id}/summarize"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Chat"
      ],
      "operations": {
        "post": {
          "summary": "Generate + cache an inference-based title/summary for a session — body {force?, root?}",
          "tags": [
            "Chat"
          ],
          "responses": {
            "200": {
              "description": "Title + summary"
            },
            "500": {
              "description": "Generation failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-chat-suggest-followup",
      "kind": "api",
      "title": "/v1/chat/suggest-followup",
      "summary": "Suggest one short next-message follow-up for a session (ghost-text input) — body {session_id}",
      "aliases": [
        "/v1/chat/suggest-followup"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Chat",
        "v1",
        "chat",
        "suggest-followup"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/chat/suggest-followup"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Chat"
      ],
      "operations": {
        "post": {
          "summary": "Suggest one short next-message follow-up for a session (ghost-text input) — body {session_id}",
          "tags": [
            "Chat"
          ],
          "responses": {
            "200": {
              "description": "{ suggestion }"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-codegraph-events",
      "kind": "api",
      "title": "/v1/codegraph/events",
      "summary": "Code graph live events (SSE)",
      "aliases": [
        "/v1/codegraph/events"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Tools",
        "v1",
        "codegraph",
        "events"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/codegraph/events"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Tools"
      ],
      "operations": {
        "get": {
          "summary": "Code graph live events (SSE)",
          "tags": [
            "Tools"
          ],
          "responses": {
            "200": {
              "description": "SSE stream"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-codegraph-snapshot",
      "kind": "api",
      "title": "/v1/codegraph/snapshot",
      "summary": "Code graph stats + last N events",
      "aliases": [
        "/v1/codegraph/snapshot"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Tools",
        "v1",
        "codegraph",
        "snapshot"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/codegraph/snapshot"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Tools"
      ],
      "operations": {
        "get": {
          "summary": "Code graph stats + last N events",
          "tags": [
            "Tools"
          ],
          "responses": {
            "200": {
              "description": "Snapshot"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-commands",
      "kind": "api",
      "title": "/v1/commands",
      "summary": "List available slash commands",
      "aliases": [
        "/v1/commands"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Commands",
        "v1",
        "commands"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/commands"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Commands"
      ],
      "operations": {
        "get": {
          "summary": "List available slash commands",
          "tags": [
            "Commands"
          ],
          "responses": {
            "200": {
              "description": "Command registry"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-commands-cmd",
      "kind": "api",
      "title": "/v1/commands/{cmd}",
      "summary": "Execute a slash command (isolated subprocess)",
      "aliases": [
        "/v1/commands/{cmd}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Commands",
        "v1",
        "commands",
        "{cmd}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/commands/{cmd}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Commands"
      ],
      "operations": {
        "post": {
          "summary": "Execute a slash command (isolated subprocess)",
          "tags": [
            "Commands"
          ],
          "parameters": [
            {
              "$ref": "#/components/parameters/MinimumOmniusVersion"
            }
          ],
          "responses": {
            "200": {
              "description": "Command output"
            },
            "403": {
              "description": "Blocked command"
            },
            "412": {
              "description": "Stale Omnius runtime"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-config",
      "kind": "api",
      "title": "/v1/config",
      "summary": "Get daemon configuration and settings; Update configuration (PT-01 full settings surface)",
      "aliases": [
        "/v1/config"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "PATCH",
        "Config",
        "v1",
        "config"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/config"
        },
        {
          "type": "rest",
          "target": "PATCH /v1/config"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "PATCH"
      ],
      "tags": [
        "Config"
      ],
      "operations": {
        "get": {
          "summary": "Get daemon configuration and settings",
          "tags": [
            "Config"
          ],
          "responses": {
            "200": {
              "description": "Config + settings (secrets redacted)"
            }
          }
        },
        "patch": {
          "summary": "Update configuration (PT-01 full settings surface)",
          "description": "Includes TUI personality, deep_context, bruteforce, emojis, colors, stream, voice*, telegram*, cohere, commandsMode, selfModify, updateMode, style.",
          "tags": [
            "Config"
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Updated"
            },
            "400": {
              "description": "Invalid body",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-config-endpoint",
      "kind": "api",
      "title": "/v1/config/endpoint",
      "summary": "Current provider endpoint, protocol, and stable provider id; Resolve, persist, and live-reload an inference provider",
      "aliases": [
        "/v1/config/endpoint"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "PUT",
        "Config",
        "v1",
        "config",
        "endpoint"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/config/endpoint"
        },
        {
          "type": "rest",
          "target": "PUT /v1/config/endpoint"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "PUT"
      ],
      "tags": [
        "Config"
      ],
      "operations": {
        "get": {
          "summary": "Current provider endpoint, protocol, and stable provider id",
          "tags": [
            "Config"
          ],
          "responses": {
            "200": {
              "description": "Resolved endpoint (auth redacted)"
            }
          }
        },
        "put": {
          "summary": "Resolve, persist, and live-reload an inference provider",
          "description": "Known providers are detected from URL or providerId. Custom URLs must declare providerProtocol; ambiguous or unknown protocols fail before any network request.",
          "tags": [
            "Config"
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderEndpointInput"
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Provider resolved and reloaded"
            },
            "400": {
              "description": "Invalid URL/provider/protocol"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-config-endpoint-test",
      "kind": "api",
      "title": "/v1/config/endpoint/test",
      "summary": "Probe a protocol-resolved provider from the daemon process",
      "aliases": [
        "/v1/config/endpoint/test"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Config",
        "v1",
        "config",
        "endpoint",
        "test"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/config/endpoint/test"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Config"
      ],
      "operations": {
        "post": {
          "summary": "Probe a protocol-resolved provider from the daemon process",
          "tags": [
            "Config"
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderEndpointInput"
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Endpoint probe result"
            },
            "400": {
              "description": "Invalid or ambiguous endpoint"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-config-model",
      "kind": "api",
      "title": "/v1/config/model",
      "summary": "Current model; Switch model",
      "aliases": [
        "/v1/config/model"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "PUT",
        "Config",
        "v1",
        "config",
        "model"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/config/model"
        },
        {
          "type": "rest",
          "target": "PUT /v1/config/model"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "PUT"
      ],
      "tags": [
        "Config"
      ],
      "operations": {
        "get": {
          "summary": "Current model",
          "tags": [
            "Config"
          ],
          "responses": {
            "200": {
              "description": "Model name"
            }
          }
        },
        "put": {
          "summary": "Switch model",
          "tags": [
            "Config"
          ],
          "responses": {
            "200": {
              "description": "Switched"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-config-model-check",
      "kind": "api",
      "title": "/v1/config/model/check",
      "summary": "Run a bounded real-generation cognition readiness probe",
      "aliases": [
        "/v1/config/model/check"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Config",
        "v1",
        "config",
        "model",
        "check"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/config/model/check"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Config"
      ],
      "operations": {
        "post": {
          "summary": "Run a bounded real-generation cognition readiness probe",
          "tags": [
            "Config"
          ],
          "description": "Sends a short non-streaming generation to the configured or requested model and succeeds only when non-empty visible text is returned. Defaults: 10,000ms and 8 tokens; timeout_ms is bounded to 1,000–30,000ms and max_tokens to 1–32. This is deliberately independent of the general 120-second backend timeout.",
          "requestBody": {
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "model": {
                      "type": "string"
                    },
                    "prompt": {
                      "type": "string",
                      "maxLength": 280
                    },
                    "max_tokens": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 32,
                      "default": 8
                    },
                    "timeout_ms": {
                      "type": "integer",
                      "minimum": 1000,
                      "maximum": 30000,
                      "default": 10000
                    },
                    "timeout_s": {
                      "type": "number",
                      "deprecated": true,
                      "description": "Compatibility alias, bounded to the same 1–30 second range."
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Model produced non-empty visible text"
            },
            "400": {
              "description": "Invalid bounded probe input"
            },
            "502": {
              "description": "Provider error, invalid response, or empty visible response"
            },
            "504": {
              "description": "Typed model_check_timeout"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-context",
      "kind": "api",
      "title": "/v1/context",
      "summary": "Show current session context",
      "aliases": [
        "/v1/context"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Context",
        "v1",
        "context"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/context"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Context"
      ],
      "operations": {
        "get": {
          "summary": "Show current session context",
          "tags": [
            "Context"
          ],
          "responses": {
            "200": {
              "description": "Context snapshot"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-context-compact",
      "kind": "api",
      "title": "/v1/context/compact",
      "summary": "Request context compaction (event-driven)",
      "aliases": [
        "/v1/context/compact"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Context",
        "v1",
        "context",
        "compact"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/context/compact"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Context"
      ],
      "operations": {
        "post": {
          "summary": "Request context compaction (event-driven)",
          "tags": [
            "Context"
          ],
          "responses": {
            "202": {
              "description": "Compaction requested"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-context-restore",
      "kind": "api",
      "title": "/v1/context/restore",
      "summary": "Build a restore prompt from saved context",
      "aliases": [
        "/v1/context/restore"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Context",
        "v1",
        "context",
        "restore"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/context/restore"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Context"
      ],
      "operations": {
        "get": {
          "summary": "Build a restore prompt from saved context",
          "tags": [
            "Context"
          ],
          "responses": {
            "200": {
              "description": "Restore prompt"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-context-save",
      "kind": "api",
      "title": "/v1/context/save",
      "summary": "Save a session context entry",
      "aliases": [
        "/v1/context/save"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Context",
        "v1",
        "context",
        "save"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/context/save"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Context"
      ],
      "operations": {
        "post": {
          "summary": "Save a session context entry",
          "tags": [
            "Context"
          ],
          "responses": {
            "201": {
              "description": "Saved"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-context-window-dumps",
      "kind": "api",
      "title": "/v1/context/window-dumps",
      "summary": "List persisted outbound model context-window dumps",
      "aliases": [
        "/v1/context/window-dumps"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Context",
        "v1",
        "context",
        "window-dumps"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/context/window-dumps"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Context"
      ],
      "operations": {
        "get": {
          "summary": "List persisted outbound model context-window dumps",
          "tags": [
            "Context"
          ],
          "parameters": [
            {
              "name": "repo",
              "in": "query",
              "required": false,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "limit",
              "in": "query",
              "required": false,
              "schema": {
                "type": "integer",
                "minimum": 1,
                "maximum": 500
              }
            },
            {
              "name": "agent_type",
              "in": "query",
              "required": false,
              "schema": {
                "type": "string",
                "enum": [
                  "main",
                  "sub-agent",
                  "internal",
                  "adversary",
                  "auxiliary"
                ]
              }
            },
            {
              "name": "session_id",
              "in": "query",
              "required": false,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "include_request",
              "in": "query",
              "required": false,
              "schema": {
                "type": "boolean"
              },
              "description": "Include full request payloads in list results"
            }
          ],
          "responses": {
            "200": {
              "description": "Context-window dump summaries"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-context-window-dumps-id",
      "kind": "api",
      "title": "/v1/context/window-dumps/{id}",
      "summary": "Fetch a full outbound model context-window dump",
      "aliases": [
        "/v1/context/window-dumps/{id}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Context",
        "v1",
        "context",
        "window-dumps",
        "{id}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/context/window-dumps/{id}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Context"
      ],
      "operations": {
        "get": {
          "summary": "Fetch a full outbound model context-window dump",
          "tags": [
            "Context"
          ],
          "parameters": [
            {
              "name": "id",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              },
              "description": "Dump id, or latest"
            },
            {
              "name": "repo",
              "in": "query",
              "required": false,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "agent_type",
              "in": "query",
              "required": false,
              "schema": {
                "type": "string",
                "enum": [
                  "main",
                  "sub-agent",
                  "internal",
                  "adversary",
                  "auxiliary"
                ]
              },
              "description": "When id is latest, fetch the latest dump for this agent type"
            }
          ],
          "responses": {
            "200": {
              "description": "Full context-window dump"
            },
            "404": {
              "description": "Dump not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-cost",
      "kind": "api",
      "title": "/v1/cost",
      "summary": "Cost tracker (pricing model)",
      "aliases": [
        "/v1/cost"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Metering",
        "v1",
        "cost"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/cost"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Metering"
      ],
      "operations": {
        "get": {
          "summary": "Cost tracker (pricing model)",
          "tags": [
            "Metering"
          ],
          "responses": {
            "200": {
              "description": "Provider pricing"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-discovery",
      "kind": "api",
      "title": "/v1/discovery",
      "summary": "Discover Omnius layers, workflows, runtimes, modules, stores, capabilities, tools, APIs, commands, skills, and docs",
      "aliases": [
        "/v1/discovery"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Discovery",
        "v1",
        "discovery"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/discovery"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Discovery"
      ],
      "operations": {
        "get": {
          "summary": "Discover Omnius layers, workflows, runtimes, modules, stores, capabilities, tools, APIs, commands, skills, and docs",
          "tags": [
            "Discovery"
          ],
          "security": [],
          "parameters": [
            {
              "name": "q",
              "in": "query",
              "schema": {
                "type": "string"
              },
              "description": "Natural-language or identifier query"
            },
            {
              "name": "kind",
              "in": "query",
              "schema": {
                "type": "string",
                "enum": [
                  "capability",
                  "layer",
                  "module",
                  "workflow",
                  "runtime",
                  "store",
                  "provider",
                  "tool",
                  "api",
                  "command",
                  "skill",
                  "guide",
                  "config",
                  "operation"
                ]
              }
            },
            {
              "name": "audience",
              "in": "query",
              "schema": {
                "type": "string"
              },
              "description": "Require an exact audience tag"
            },
            {
              "name": "layer",
              "in": "query",
              "schema": {
                "type": "string"
              },
              "description": "Require an exact architecture layer"
            },
            {
              "name": "include_internal",
              "in": "query",
              "schema": {
                "type": "boolean",
                "default": false
              },
              "description": "Include internal implementation notes and work products"
            },
            {
              "$ref": "#/components/parameters/Limit"
            },
            {
              "$ref": "#/components/parameters/Offset"
            },
            {
              "$ref": "#/components/parameters/IfNoneMatch"
            }
          ],
          "responses": {
            "200": {
              "description": "Ranked paginated discovery results",
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object",
                    "properties": {
                      "schema_version": {
                        "type": "string"
                      },
                      "query": {
                        "type": "string"
                      },
                      "data": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "score": {
                              "type": "number"
                            },
                            "entry": {
                              "$ref": "#/components/schemas/DiscoveryEntry"
                            }
                          }
                        }
                      },
                      "pagination": {
                        "$ref": "#/components/schemas/Pagination"
                      }
                    }
                  }
                }
              }
            },
            "304": {
              "description": "Not modified"
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-discovery-bootstrap",
      "kind": "api",
      "title": "/v1/discovery/bootstrap",
      "summary": "Get the compact agent bootstrap, profiles, common intents, live checks, and expanded start-here entries",
      "aliases": [
        "/v1/discovery/bootstrap"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Discovery",
        "v1",
        "discovery",
        "bootstrap"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/discovery/bootstrap"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Discovery"
      ],
      "operations": {
        "get": {
          "summary": "Get the compact agent bootstrap, profiles, common intents, live checks, and expanded start-here entries",
          "tags": [
            "Discovery"
          ],
          "security": [],
          "parameters": [
            {
              "$ref": "#/components/parameters/IfNoneMatch"
            }
          ],
          "responses": {
            "200": {
              "description": "Agent bootstrap and start-here entries",
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object",
                    "properties": {
                      "schema_version": {
                        "type": "string"
                      },
                      "bootstrap": {
                        "$ref": "#/components/schemas/DiscoveryBootstrap"
                      },
                      "start_here": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/DiscoveryEntry"
                        }
                      }
                    }
                  }
                }
              }
            },
            "304": {
              "description": "Not modified"
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-discovery-id",
      "kind": "api",
      "title": "/v1/discovery/{id}",
      "summary": "Expand one Omnius discovery entry and its downstream references",
      "aliases": [
        "/v1/discovery/{id}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Discovery",
        "v1",
        "discovery",
        "{id}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/discovery/{id}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Discovery"
      ],
      "operations": {
        "get": {
          "summary": "Expand one Omnius discovery entry and its downstream references",
          "tags": [
            "Discovery"
          ],
          "security": [],
          "parameters": [
            {
              "name": "id",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "$ref": "#/components/parameters/IfNoneMatch"
            }
          ],
          "responses": {
            "200": {
              "description": "Discovery entry",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/DiscoveryEntry"
                  }
                }
              }
            },
            "304": {
              "description": "Not modified"
            },
            "404": {
              "description": "Unknown entry"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-embeddings",
      "kind": "api",
      "title": "/v1/embeddings",
      "summary": "Generate embeddings",
      "aliases": [
        "/v1/embeddings"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Inference",
        "v1",
        "embeddings"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/embeddings"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Inference"
      ],
      "operations": {
        "post": {
          "summary": "Generate embeddings",
          "tags": [
            "Inference"
          ],
          "responses": {
            "200": {
              "description": "Embedding vectors"
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-engines",
      "kind": "api",
      "title": "/v1/engines",
      "summary": "List long-running engines",
      "aliases": [
        "/v1/engines"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Engines",
        "v1",
        "engines"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/engines"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Engines"
      ],
      "operations": {
        "get": {
          "summary": "List long-running engines",
          "tags": [
            "Engines"
          ],
          "responses": {
            "200": {
              "description": "Engine status + state files"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-evaluate",
      "kind": "api",
      "title": "/v1/evaluate",
      "summary": "Evaluate a run by ID",
      "aliases": [
        "/v1/evaluate"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Agentic",
        "v1",
        "evaluate"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/evaluate"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Agentic"
      ],
      "operations": {
        "post": {
          "summary": "Evaluate a run by ID",
          "tags": [
            "Agentic"
          ],
          "responses": {
            "200": {
              "description": "Evaluation metrics"
            },
            "404": {
              "description": "Run not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-events",
      "kind": "api",
      "title": "/v1/events",
      "summary": "Subscribe to the event bus (PT-06)",
      "aliases": [
        "/v1/events"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Events",
        "v1",
        "events"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/events"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Events"
      ],
      "operations": {
        "get": {
          "summary": "Subscribe to the event bus (PT-06)",
          "description": "Server-sent event stream. Event types: config.changed, run.started, run.completed, run.aborted, run.failed, tool.called, memory.written, memory.searched, skill.invoked, mcp.called, engine.state_changed, auth.failed, rate_limit.hit, incident.raised, incident.resolved, session.created, session.ended, aims.policy_changed, aims.decision_recorded. Filter with ?type=foo.bar or ?type=foo.*",
          "tags": [
            "Events"
          ],
          "parameters": [
            {
              "name": "type",
              "in": "query",
              "required": false,
              "schema": {
                "type": "string"
              },
              "description": "Filter by event type (supports wildcard suffix .*)"
            }
          ],
          "responses": {
            "200": {
              "description": "text/event-stream with event frames"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-files",
      "kind": "api",
      "title": "/v1/files",
      "summary": "List workspace directory",
      "aliases": [
        "/v1/files"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Files",
        "v1",
        "files"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/files"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Files"
      ],
      "operations": {
        "get": {
          "summary": "List workspace directory",
          "tags": [
            "Files"
          ],
          "parameters": [
            {
              "name": "path",
              "in": "query",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Directory entries"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-files-raw",
      "kind": "api",
      "title": "/v1/files/raw",
      "summary": "Stream raw workspace file bytes for browser previews; Inspect raw workspace file response metadata",
      "aliases": [
        "/v1/files/raw"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "HEAD",
        "Files",
        "v1",
        "files",
        "raw"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/files/raw"
        },
        {
          "type": "rest",
          "target": "HEAD /v1/files/raw"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "HEAD"
      ],
      "tags": [
        "Files"
      ],
      "operations": {
        "get": {
          "summary": "Stream raw workspace file bytes for browser previews",
          "tags": [
            "Files"
          ],
          "parameters": [
            {
              "name": "path",
              "in": "query",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "File bytes with detected content type and range support"
            },
            "400": {
              "description": "Missing or invalid path"
            },
            "404": {
              "description": "File not found"
            }
          }
        },
        "head": {
          "summary": "Inspect raw workspace file response metadata",
          "tags": [
            "Files"
          ],
          "parameters": [
            {
              "name": "path",
              "in": "query",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "File metadata headers"
            },
            "400": {
              "description": "Missing or invalid path"
            },
            "404": {
              "description": "File not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-files-read",
      "kind": "api",
      "title": "/v1/files/read",
      "summary": "Read file content (PT-05)",
      "aliases": [
        "/v1/files/read"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Files",
        "v1",
        "files",
        "read"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/files/read"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Files"
      ],
      "operations": {
        "post": {
          "summary": "Read file content (PT-05)",
          "tags": [
            "Files"
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "path"
                  ],
                  "properties": {
                    "path": {
                      "type": "string"
                    },
                    "offset": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "allow_outside_cwd": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "File content (max 2 MB)"
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-hooks",
      "kind": "api",
      "title": "/v1/hooks",
      "summary": "List hook types and counts",
      "aliases": [
        "/v1/hooks"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Tools",
        "v1",
        "hooks"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/hooks"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Tools"
      ],
      "operations": {
        "get": {
          "summary": "List hook types and counts",
          "tags": [
            "Tools"
          ],
          "responses": {
            "200": {
              "description": "Hook registry"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-index",
      "kind": "api",
      "title": "/v1/index",
      "summary": "Trigger repository indexing",
      "aliases": [
        "/v1/index"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Agentic",
        "v1",
        "index"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/index"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Agentic"
      ],
      "operations": {
        "post": {
          "summary": "Trigger repository indexing",
          "tags": [
            "Agentic"
          ],
          "responses": {
            "202": {
              "description": "Indexing started"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-keys",
      "kind": "api",
      "title": "/v1/keys",
      "summary": "List runtime API keys (admin scope); Mint a new runtime API key (admin scope)",
      "aliases": [
        "/v1/keys"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "Tools",
        "v1",
        "keys"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/keys"
        },
        {
          "type": "rest",
          "target": "POST /v1/keys"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "Tools"
      ],
      "operations": {
        "get": {
          "summary": "List runtime API keys (admin scope)",
          "tags": [
            "Tools"
          ],
          "description": "Returns runtime keys with secrets masked (only first 8 + last 4 chars), plus MCP-style bearer-header hints. Runtime keys are the project-friendly alternative to OMNIUS_API_KEY/OMNIUS_API_KEYS env vars.",
          "responses": {
            "200": {
              "description": "Masked key list"
            },
            "403": {
              "description": "Admin scope required"
            }
          }
        },
        "post": {
          "summary": "Mint a new runtime API key (admin scope)",
          "tags": [
            "Tools"
          ],
          "description": "Body: {scope: 'read'|'run'|'admin', owner?: string, project?: string, profile?: string, rpm?, tpd?, max_jobs?}. If owner is omitted and project is supplied, owner defaults to project:<project>. Returns the FULL key once and an Authorization header hint. Persisted in the runtime key store with mode 0600.",
          "responses": {
            "201": {
              "description": "Key minted"
            },
            "400": {
              "description": "Invalid body"
            },
            "403": {
              "description": "Admin scope required"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-keys-prefix",
      "kind": "api",
      "title": "/v1/keys/{prefix}",
      "summary": "Revoke a runtime key by prefix (admin scope)",
      "aliases": [
        "/v1/keys/{prefix}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "DELETE",
        "Tools",
        "v1",
        "keys",
        "{prefix}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "DELETE /v1/keys/{prefix}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "DELETE"
      ],
      "tags": [
        "Tools"
      ],
      "operations": {
        "delete": {
          "summary": "Revoke a runtime key by prefix (admin scope)",
          "tags": [
            "Tools"
          ],
          "parameters": [
            {
              "name": "prefix",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string",
                "minLength": 8
              },
              "description": "First 8+ characters of the key"
            }
          ],
          "responses": {
            "200": {
              "description": "Number of keys revoked"
            },
            "400": {
              "description": "Prefix too short"
            },
            "403": {
              "description": "Admin scope required"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-mcps",
      "kind": "api",
      "title": "/v1/mcps",
      "summary": "List MCP servers (PT-03)",
      "aliases": [
        "/v1/mcps"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "MCP",
        "v1",
        "mcps"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/mcps"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "MCP"
      ],
      "operations": {
        "get": {
          "summary": "List MCP servers (PT-03)",
          "tags": [
            "MCP"
          ],
          "responses": {
            "200": {
              "description": "Paginated MCP server list"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-mcps-name",
      "kind": "api",
      "title": "/v1/mcps/{name}",
      "summary": "Get MCP server details (PT-03)",
      "aliases": [
        "/v1/mcps/{name}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "MCP",
        "v1",
        "mcps",
        "{name}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/mcps/{name}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "MCP"
      ],
      "operations": {
        "get": {
          "summary": "Get MCP server details (PT-03)",
          "tags": [
            "MCP"
          ],
          "parameters": [
            {
              "name": "name",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Server details"
            },
            "404": {
              "description": "Not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-mcps-name-call",
      "kind": "api",
      "title": "/v1/mcps/{name}/call",
      "summary": "Invoke a tool on an MCP server (PT-03)",
      "aliases": [
        "/v1/mcps/{name}/call"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "MCP",
        "v1",
        "mcps",
        "{name}",
        "call"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/mcps/{name}/call"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "MCP"
      ],
      "operations": {
        "post": {
          "summary": "Invoke a tool on an MCP server (PT-03)",
          "tags": [
            "MCP"
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "tool"
                  ],
                  "properties": {
                    "tool": {
                      "type": "string"
                    },
                    "args": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Tool result"
            },
            "404": {
              "description": "Server or tool not found"
            },
            "502": {
              "description": "Upstream MCP failure"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-media-audio",
      "kind": "api",
      "title": "/v1/media/audio",
      "summary": "Generate a sound effect — body {prompt, model?, backend?, duration?, seed?}",
      "aliases": [
        "/v1/media/audio"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Media",
        "v1",
        "media",
        "audio"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/media/audio"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Media"
      ],
      "operations": {
        "post": {
          "summary": "Generate a sound effect — body {prompt, model?, backend?, duration?, seed?}",
          "tags": [
            "Media"
          ],
          "responses": {
            "200": {
              "description": "Generated audio path + gallery URL"
            },
            "400": {
              "description": "Missing prompt"
            },
            "403": {
              "description": "Insufficient scope"
            },
            "502": {
              "description": "Generation failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-media-av-analyze",
      "kind": "api",
      "title": "/v1/media/av/analyze",
      "summary": "Analyze a media file into a grounded entity/event/evidence answer (AV entity-comprehension) — body {path|mediaUri, question?}; reports per-role live-vs-mock adapter status",
      "aliases": [
        "/v1/media/av/analyze"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Media",
        "v1",
        "media",
        "av",
        "analyze"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/media/av/analyze"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Media"
      ],
      "operations": {
        "post": {
          "summary": "Analyze a media file into a grounded entity/event/evidence answer (AV entity-comprehension) — body {path|mediaUri, question?}; reports per-role live-vs-mock adapter status",
          "tags": [
            "Media"
          ],
          "responses": {
            "200": {
              "description": "Grounded answer + entity/event graph"
            },
            "400": {
              "description": "Missing media path"
            },
            "404": {
              "description": "Media not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-media-file",
      "kind": "api",
      "title": "/v1/media/file",
      "summary": "Stream one generated media file — query {kind, name}",
      "aliases": [
        "/v1/media/file"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Media",
        "v1",
        "media",
        "file"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/media/file"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Media"
      ],
      "operations": {
        "get": {
          "summary": "Stream one generated media file — query {kind, name}",
          "tags": [
            "Media"
          ],
          "parameters": [
            {
              "name": "kind",
              "in": "query",
              "required": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "name",
              "in": "query",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Media bytes"
            },
            "404": {
              "description": "Not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-media-gallery",
      "kind": "api",
      "title": "/v1/media/gallery",
      "summary": "List previously generated media from the global store, newest first",
      "aliases": [
        "/v1/media/gallery"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Media",
        "v1",
        "media",
        "gallery"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/media/gallery"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Media"
      ],
      "operations": {
        "get": {
          "summary": "List previously generated media from the global store, newest first",
          "tags": [
            "Media"
          ],
          "parameters": [
            {
              "name": "kind",
              "in": "query",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "limit",
              "in": "query",
              "schema": {
                "type": "integer"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Gallery items with browsable URLs"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-media-image",
      "kind": "api",
      "title": "/v1/media/image",
      "summary": "Generate an image — body {prompt, model?, backend?, width?, height?, steps?, guidance?, seed?, aspect_ratio?}",
      "aliases": [
        "/v1/media/image"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Media",
        "v1",
        "media",
        "image"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/media/image"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Media"
      ],
      "operations": {
        "post": {
          "summary": "Generate an image — body {prompt, model?, backend?, width?, height?, steps?, guidance?, seed?, aspect_ratio?}",
          "tags": [
            "Media"
          ],
          "responses": {
            "200": {
              "description": "Generated image path + gallery URL"
            },
            "400": {
              "description": "Missing prompt"
            },
            "403": {
              "description": "Insufficient scope"
            },
            "502": {
              "description": "Generation failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-media-migrate",
      "kind": "api",
      "title": "/v1/media/migrate",
      "summary": "Dedup + migrate legacy per-group media caches into the unified store — body {dryRun?, roots?, maxDepth?}",
      "aliases": [
        "/v1/media/migrate"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Media",
        "v1",
        "media",
        "migrate"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/media/migrate"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Media"
      ],
      "operations": {
        "post": {
          "summary": "Dedup + migrate legacy per-group media caches into the unified store — body {dryRun?, roots?, maxDepth?}",
          "tags": [
            "Media"
          ],
          "responses": {
            "200": {
              "description": "Migration report (bytes reclaimed/migrated)"
            },
            "403": {
              "description": "Insufficient scope"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-media-models",
      "kind": "api",
      "title": "/v1/media/models",
      "summary": "List available generative media models per kind (image/video/audio/music)",
      "aliases": [
        "/v1/media/models"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Media",
        "v1",
        "media",
        "models"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/media/models"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Media"
      ],
      "operations": {
        "get": {
          "summary": "List available generative media models per kind (image/video/audio/music)",
          "tags": [
            "Media"
          ],
          "parameters": [
            {
              "name": "kind",
              "in": "query",
              "schema": {
                "type": "string",
                "enum": [
                  "image",
                  "video",
                  "audio",
                  "music"
                ]
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Model catalogue grouped by kind"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-media-music",
      "kind": "api",
      "title": "/v1/media/music",
      "summary": "Generate music — body {prompt, model?, backend?, duration?, seed?}",
      "aliases": [
        "/v1/media/music"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Media",
        "v1",
        "media",
        "music"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/media/music"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Media"
      ],
      "operations": {
        "post": {
          "summary": "Generate music — body {prompt, model?, backend?, duration?, seed?}",
          "tags": [
            "Media"
          ],
          "responses": {
            "200": {
              "description": "Generated music path + gallery URL"
            },
            "400": {
              "description": "Missing prompt"
            },
            "403": {
              "description": "Insufficient scope"
            },
            "502": {
              "description": "Generation failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-media-relocate",
      "kind": "api",
      "title": "/v1/media/relocate",
      "summary": "Relocate the whole media store (weights/venvs/gallery) to a chosen folder — body {newRoot, dryRun?}; streams media.relocate_progress and returns 202 + job_id",
      "aliases": [
        "/v1/media/relocate"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Media",
        "v1",
        "media",
        "relocate"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/media/relocate"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Media"
      ],
      "operations": {
        "post": {
          "summary": "Relocate the whole media store (weights/venvs/gallery) to a chosen folder — body {newRoot, dryRun?}; streams media.relocate_progress and returns 202 + job_id",
          "tags": [
            "Media"
          ],
          "responses": {
            "200": {
              "description": "Dry-run plan"
            },
            "202": {
              "description": "Relocation started"
            },
            "400": {
              "description": "Missing newRoot"
            },
            "409": {
              "description": "Relocation already running"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-media-relocate-status",
      "kind": "api",
      "title": "/v1/media/relocate/status",
      "summary": "Status of the in-flight (or last) media-store relocation job",
      "aliases": [
        "/v1/media/relocate/status"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Media",
        "v1",
        "media",
        "relocate",
        "status"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/media/relocate/status"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Media"
      ],
      "operations": {
        "get": {
          "summary": "Status of the in-flight (or last) media-store relocation job",
          "tags": [
            "Media"
          ],
          "responses": {
            "200": {
              "description": "Relocation job status + progress"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-media-store",
      "kind": "api",
      "title": "/v1/media/store",
      "summary": "Media-store root + disk usage plus any legacy per-group caches still reclaimable",
      "aliases": [
        "/v1/media/store"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Media",
        "v1",
        "media",
        "store"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/media/store"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Media"
      ],
      "operations": {
        "get": {
          "summary": "Media-store root + disk usage plus any legacy per-group caches still reclaimable",
          "tags": [
            "Media"
          ],
          "responses": {
            "200": {
              "description": "Store + disk + legacy-cache report"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-media-video",
      "kind": "api",
      "title": "/v1/media/video",
      "summary": "Generate a video — body {prompt, model?, backend?, num_frames?, fps?, width?, height?, steps?, guidance?, seed?}",
      "aliases": [
        "/v1/media/video"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Media",
        "v1",
        "media",
        "video"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/media/video"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Media"
      ],
      "operations": {
        "post": {
          "summary": "Generate a video — body {prompt, model?, backend?, num_frames?, fps?, width?, height?, steps?, guidance?, seed?}",
          "tags": [
            "Media"
          ],
          "responses": {
            "200": {
              "description": "Generated video path + gallery URL"
            },
            "400": {
              "description": "Missing prompt"
            },
            "403": {
              "description": "Insufficient scope"
            },
            "502": {
              "description": "Generation failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-memory",
      "kind": "api",
      "title": "/v1/memory",
      "summary": "Memory backends summary (PT-04)",
      "aliases": [
        "/v1/memory"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Memory",
        "v1",
        "memory"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/memory"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Memory"
      ],
      "operations": {
        "get": {
          "summary": "Memory backends summary (PT-04)",
          "tags": [
            "Memory"
          ],
          "responses": {
            "200": {
              "description": "Backend availability + sample counts"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-memory-entities",
      "kind": "api",
      "title": "/v1/memory/entities",
      "summary": "List extracted memory entities",
      "aliases": [
        "/v1/memory/entities"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Memory",
        "v1",
        "memory",
        "entities"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/memory/entities"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Memory"
      ],
      "operations": {
        "get": {
          "summary": "List extracted memory entities",
          "tags": [
            "Memory"
          ],
          "responses": {
            "200": {
              "description": "Entity list"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-memory-episodes",
      "kind": "api",
      "title": "/v1/memory/episodes",
      "summary": "List episodes",
      "aliases": [
        "/v1/memory/episodes"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Memory",
        "v1",
        "memory",
        "episodes"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/memory/episodes"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Memory"
      ],
      "operations": {
        "get": {
          "summary": "List episodes",
          "tags": [
            "Memory"
          ],
          "responses": {
            "200": {
              "description": "Paginated episodes"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-memory-failures",
      "kind": "api",
      "title": "/v1/memory/failures",
      "summary": "List failures",
      "aliases": [
        "/v1/memory/failures"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Memory",
        "v1",
        "memory",
        "failures"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/memory/failures"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Memory"
      ],
      "operations": {
        "get": {
          "summary": "List failures",
          "tags": [
            "Memory"
          ],
          "responses": {
            "200": {
              "description": "Paginated failures"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-memory-feedback",
      "kind": "api",
      "title": "/v1/memory/feedback",
      "summary": "Record relevance or quality feedback for a memory item",
      "aliases": [
        "/v1/memory/feedback"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Memory",
        "v1",
        "memory",
        "feedback"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/memory/feedback"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Memory"
      ],
      "operations": {
        "post": {
          "summary": "Record relevance or quality feedback for a memory item",
          "tags": [
            "Memory"
          ],
          "responses": {
            "200": {
              "description": "Feedback recorded"
            },
            "400": {
              "description": "Invalid feedback"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-memory-ingest",
      "kind": "api",
      "title": "/v1/memory/ingest",
      "summary": "Ingest content or files into Omnius memory",
      "aliases": [
        "/v1/memory/ingest"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Memory",
        "v1",
        "memory",
        "ingest"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/memory/ingest"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Memory"
      ],
      "operations": {
        "post": {
          "summary": "Ingest content or files into Omnius memory",
          "tags": [
            "Memory"
          ],
          "responses": {
            "200": {
              "description": "Ingestion result"
            },
            "400": {
              "description": "Invalid ingestion request"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-memory-jobs-run",
      "kind": "api",
      "title": "/v1/memory/jobs/run",
      "summary": "Run a named memory maintenance job",
      "aliases": [
        "/v1/memory/jobs/run"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Memory",
        "v1",
        "memory",
        "jobs",
        "run"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/memory/jobs/run"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Memory"
      ],
      "operations": {
        "post": {
          "summary": "Run a named memory maintenance job",
          "tags": [
            "Memory"
          ],
          "responses": {
            "200": {
              "description": "Maintenance job result"
            },
            "400": {
              "description": "Invalid job request"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-memory-search",
      "kind": "api",
      "title": "/v1/memory/search",
      "summary": "Search memory stores (PT-04)",
      "aliases": [
        "/v1/memory/search"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Memory",
        "v1",
        "memory",
        "search"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/memory/search"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Memory"
      ],
      "operations": {
        "post": {
          "summary": "Search memory stores (PT-04)",
          "tags": [
            "Memory"
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "query"
                  ],
                  "properties": {
                    "query": {
                      "type": "string"
                    },
                    "limit": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Search results"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-memory-speaker-identities-enroll",
      "kind": "api",
      "title": "/v1/memory/speaker-identities/enroll",
      "summary": "Enroll an explicitly self-identified speaker exemplar",
      "aliases": [
        "/v1/memory/speaker-identities/enroll"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Memory",
        "Audio",
        "v1",
        "memory",
        "speaker-identities",
        "enroll"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/memory/speaker-identities/enroll"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Memory",
        "Audio"
      ],
      "operations": {
        "post": {
          "summary": "Enroll an explicitly self-identified speaker exemplar",
          "tags": [
            "Memory",
            "Audio"
          ],
          "description": "Admin-only durable biometric enrollment. Body requires {scope_id, identity, observation_id, consent:{basis:'explicit_self_identification', asserted_by,...}, space:{embedding_set_slug,model,model_revision,model_digest,dimensions,normalization:'l2'}}. observation_id must already hold exactly one role-isolated speaker_identity_embedding in that exact model/revision/digest/set/dimension. Sender metadata and diarization labels are never identity proof; this endpoint creates no voice_sample_of or other identity graph edges and never returns a centroid/vector.",
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "scope_id",
                    "identity",
                    "observation_id",
                    "consent",
                    "space"
                  ],
                  "properties": {
                    "scope_id": {
                      "type": "string"
                    },
                    "identity": {
                      "type": "string"
                    },
                    "observation_id": {
                      "type": "string"
                    },
                    "consent": {
                      "type": "object",
                      "required": [
                        "basis",
                        "asserted_by"
                      ],
                      "properties": {
                        "basis": {
                          "type": "string",
                          "enum": [
                            "explicit_self_identification"
                          ]
                        },
                        "asserted_by": {
                          "type": "string"
                        },
                        "asserted_at": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "note": {
                          "type": "string"
                        }
                      }
                    },
                    "space": {
                      "type": "object",
                      "required": [
                        "embedding_set_slug",
                        "model",
                        "model_revision",
                        "model_digest",
                        "dimensions",
                        "normalization"
                      ],
                      "properties": {
                        "embedding_set_slug": {
                          "type": "string"
                        },
                        "model": {
                          "type": "string"
                        },
                        "model_revision": {
                          "type": "string"
                        },
                        "model_digest": {
                          "type": "string"
                        },
                        "dimensions": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "normalization": {
                          "type": "string",
                          "enum": [
                            "l2"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "201": {
              "description": "Consent-gated profile updated; only exemplar IDs and metadata are returned."
            },
            "400": {
              "description": "Consent, observation role, or exact vector-space contract invalid."
            },
            "403": {
              "description": "Admin scope required."
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-memory-speaker-identities-match",
      "kind": "api",
      "title": "/v1/memory/speaker-identities/match",
      "summary": "Query durable speaker candidates in one exact vector space",
      "aliases": [
        "/v1/memory/speaker-identities/match"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Memory",
        "Audio",
        "v1",
        "memory",
        "speaker-identities",
        "match"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/memory/speaker-identities/match"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Memory",
        "Audio"
      ],
      "operations": {
        "post": {
          "summary": "Query durable speaker candidates in one exact vector space",
          "tags": [
            "Memory",
            "Audio"
          ],
          "description": "Admin-only exact-space biometric candidate query. Body requires {scope_id, vector, dimensions, space:{embedding_set_slug,model,model_revision,model_digest,normalization:'l2'}} and optional thresholds. It searches only consented speaker_identity_embedding centroids in the same scope and exact set/model/revision/digest/dimension—never generic memory vectors, acoustic vectors, semantic vectors, sender data, or diarization labels. Outcomes are provisional, ambiguous, or no_match and never assign a durable identity.",
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "scope_id",
                    "vector",
                    "dimensions",
                    "space"
                  ],
                  "properties": {
                    "scope_id": {
                      "type": "string"
                    },
                    "vector": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "dimensions": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "space": {
                      "type": "object",
                      "required": [
                        "embedding_set_slug",
                        "model",
                        "model_revision",
                        "model_digest",
                        "normalization"
                      ],
                      "properties": {
                        "embedding_set_slug": {
                          "type": "string"
                        },
                        "model": {
                          "type": "string"
                        },
                        "model_revision": {
                          "type": "string"
                        },
                        "model_digest": {
                          "type": "string"
                        },
                        "normalization": {
                          "type": "string",
                          "enum": [
                            "l2"
                          ]
                        }
                      }
                    },
                    "thresholds": {
                      "type": "object",
                      "properties": {
                        "provisional": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        },
                        "ambiguity_margin": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Typed provisional/ambiguous/no_match outcome with candidates but no stored vectors."
            },
            "400": {
              "description": "Query vector or exact-space contract invalid."
            },
            "403": {
              "description": "Admin scope required."
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-memory-write",
      "kind": "api",
      "title": "/v1/memory/write",
      "summary": "Write a memory entry (PT-04)",
      "aliases": [
        "/v1/memory/write"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Memory",
        "v1",
        "memory",
        "write"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/memory/write"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Memory"
      ],
      "operations": {
        "post": {
          "summary": "Write a memory entry (PT-04)",
          "tags": [
            "Memory"
          ],
          "responses": {
            "201": {
              "description": "Written"
            },
            "403": {
              "description": "Requires run/admin scope"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-models",
      "kind": "api",
      "title": "/v1/models",
      "summary": "List aggregated models",
      "aliases": [
        "/v1/models"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Inference",
        "v1",
        "models"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/models"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Inference"
      ],
      "operations": {
        "get": {
          "summary": "List aggregated models",
          "tags": [
            "Inference"
          ],
          "responses": {
            "200": {
              "description": "OpenAI-format model list"
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-nexus-status",
      "kind": "api",
      "title": "/v1/nexus/status",
      "summary": "Nexus peer state",
      "aliases": [
        "/v1/nexus/status"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Nexus",
        "v1",
        "nexus",
        "status"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/nexus/status"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Nexus"
      ],
      "operations": {
        "get": {
          "summary": "Nexus peer state",
          "tags": [
            "Nexus"
          ],
          "responses": {
            "200": {
              "description": "Peer cache snapshot"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-ocr-advanced",
      "kind": "api",
      "title": "/v1/ocr/advanced",
      "summary": "Alias of POST /v1/tools/ocr_image_advanced/call — managed multi-variant Tesseract OCR",
      "aliases": [
        "/v1/ocr/advanced"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Tools",
        "Vision",
        "v1",
        "ocr",
        "advanced"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/ocr/advanced"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Tools",
        "Vision"
      ],
      "operations": {
        "post": {
          "summary": "Alias of POST /v1/tools/ocr_image_advanced/call — managed multi-variant Tesseract OCR",
          "tags": [
            "Tools",
            "Vision"
          ],
          "description": "Uses the identical advanced OCR tool exposed to agents. Requires /v1/ocr/readiness to be ready; inference never installs packages. Body is the canonical direct-tool envelope; result.data contains the parsed OCR pipeline result or a typed ocr_runtime_not_ready payload.",
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "args"
                  ],
                  "properties": {
                    "args": {
                      "type": "object",
                      "required": [
                        "image"
                      ],
                      "properties": {
                        "image": {
                          "type": "string"
                        },
                        "language": {
                          "type": "string",
                          "example": "eng+fra"
                        },
                        "regions": {
                          "type": "boolean"
                        },
                        "region": {
                          "type": "string",
                          "example": "0,0,1200,180"
                        },
                        "psm": {
                          "type": "integer",
                          "enum": [
                            4,
                            6,
                            11
                          ]
                        },
                        "output_dir": {
                          "type": "string"
                        },
                        "batch": {
                          "type": "boolean"
                        },
                        "debug": {
                          "type": "boolean"
                        }
                      }
                    },
                    "timeout_ms": {
                      "type": "integer",
                      "description": "Defaults to 300000ms; maximum 600000ms."
                    },
                    "max_output_chars": {
                      "type": "integer"
                    },
                    "profile": {
                      "type": "string"
                    },
                    "working_dir": {
                      "type": "string",
                      "description": "Admin scope only."
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Direct-tool result envelope; consume result.data for structured OCR output."
            },
            "400": {
              "description": "Invalid direct-tool request or OCR arguments"
            },
            "403": {
              "description": "Tool scope/profile/working-directory denied"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-ocr-readiness",
      "kind": "api",
      "title": "/v1/ocr/readiness",
      "summary": "Probe advanced OCR runtime readiness without mutation",
      "aliases": [
        "/v1/ocr/readiness"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Tools",
        "Vision",
        "v1",
        "ocr",
        "readiness"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/ocr/readiness"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Tools",
        "Vision"
      ],
      "operations": {
        "get": {
          "summary": "Probe advanced OCR runtime readiness without mutation",
          "tags": [
            "Tools",
            "Vision"
          ],
          "description": "Reports exact Tesseract engine/language, native provider inventory, Python import/version, backend, override, and bundled-pipeline state. Successful isolated imports are authoritative, including NVIDIA libopencv-python; readiness does not require Ubuntu's python3-opencv dpkg name. This endpoint never invokes sudo, apt, pip, venv creation, or inference. Optional query: ?language=eng+fra.",
          "responses": {
            "200": {
              "description": "OCR runtime is ready"
            },
            "400": {
              "description": "Invalid language expression"
            },
            "503": {
              "description": "OCR runtime is unprovisioned, provisioning, or failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-ocr-setup",
      "kind": "api",
      "title": "/v1/ocr/setup",
      "summary": "Create and verify the isolated advanced OCR runtime",
      "aliases": [
        "/v1/ocr/setup"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Tools",
        "Vision",
        "v1",
        "ocr",
        "setup"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/ocr/setup"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Tools",
        "Vision"
      ],
      "operations": {
        "post": {
          "summary": "Create and verify the isolated advanced OCR runtime",
          "tags": [
            "Tools",
            "Vision"
          ],
          "description": "Admin-only, coalesced lifecycle operation. Native Jetson packages must have been provisioned during installation/bootstrap. Creates ~/.omnius/runtimes/vision/ocr-advanced with --system-site-packages and installs only pinned pytesseract==0.3.13 --no-deps. It never installs generic OpenCV, NumPy, Torch, or CUDA packages. Body: {language?:'eng+fra'}; poll /v1/ocr/readiness.",
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "language": {
                      "type": "string",
                      "example": "eng"
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "OCR runtime was already ready"
            },
            "202": {
              "description": "Setup accepted or already in progress"
            },
            "400": {
              "description": "Invalid setup request"
            },
            "403": {
              "description": "Admin scope required"
            },
            "500": {
              "description": "Setup job could not be started"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-ollama-pool-cleanup",
      "kind": "api",
      "title": "/v1/ollama/pool/cleanup",
      "summary": "Clean up stale Ollama pool processes",
      "aliases": [
        "/v1/ollama/pool/cleanup"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Ollama",
        "v1",
        "ollama",
        "pool",
        "cleanup"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/ollama/pool/cleanup"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Ollama"
      ],
      "operations": {
        "post": {
          "summary": "Clean up stale Ollama pool processes",
          "tags": [
            "Ollama"
          ],
          "description": "Loopback/admin-only guarded cleanup. Defaults to dry_run=true. Body: {dry_run?: boolean, use_inference?: boolean}. Hard rules always protect port 11434, the configured base port, systemd ollama.service, and live tracked pool runners.",
          "requestBody": {
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dry_run": {
                      "type": "boolean",
                      "default": true
                    },
                    "use_inference": {
                      "type": "boolean",
                      "default": true
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Cleanup report"
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-ollama-pool-processes",
      "kind": "api",
      "title": "/v1/ollama/pool/processes",
      "summary": "Scan local Ollama pool processes",
      "aliases": [
        "/v1/ollama/pool/processes"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Ollama",
        "v1",
        "ollama",
        "pool",
        "processes"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/ollama/pool/processes"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Ollama"
      ],
      "operations": {
        "get": {
          "summary": "Scan local Ollama pool processes",
          "tags": [
            "Ollama"
          ],
          "description": "Admin-scope inventory of local `ollama serve` PIDs, listening ports, protected base-service classification, and stale pool cleanup decisions. This endpoint does not terminate processes.",
          "responses": {
            "200": {
              "description": "Ollama process scan report"
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-profiles",
      "kind": "api",
      "title": "/v1/profiles",
      "summary": "List tool profiles; Create tool profile",
      "aliases": [
        "/v1/profiles"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "Profiles",
        "v1",
        "profiles"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/profiles"
        },
        {
          "type": "rest",
          "target": "POST /v1/profiles"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "Profiles"
      ],
      "operations": {
        "get": {
          "summary": "List tool profiles",
          "tags": [
            "Profiles"
          ],
          "responses": {
            "200": {
              "description": "Profile list"
            }
          }
        },
        "post": {
          "summary": "Create tool profile",
          "tags": [
            "Profiles"
          ],
          "responses": {
            "201": {
              "description": "Created"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-profiles-name",
      "kind": "api",
      "title": "/v1/profiles/{name}",
      "summary": "Get profile; Delete profile",
      "aliases": [
        "/v1/profiles/{name}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "DELETE",
        "Profiles",
        "v1",
        "profiles",
        "{name}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/profiles/{name}"
        },
        {
          "type": "rest",
          "target": "DELETE /v1/profiles/{name}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "DELETE"
      ],
      "tags": [
        "Profiles"
      ],
      "operations": {
        "get": {
          "summary": "Get profile",
          "tags": [
            "Profiles"
          ],
          "responses": {
            "200": {
              "description": "Profile details"
            }
          }
        },
        "delete": {
          "summary": "Delete profile",
          "tags": [
            "Profiles"
          ],
          "responses": {
            "200": {
              "description": "Deleted"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-projects",
      "kind": "api",
      "title": "/v1/projects",
      "summary": "List registered project workspaces + current selection; Unregister a project — body {root}",
      "aliases": [
        "/v1/projects"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "DELETE",
        "Projects",
        "v1",
        "projects"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/projects"
        },
        {
          "type": "rest",
          "target": "DELETE /v1/projects"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "DELETE"
      ],
      "tags": [
        "Projects"
      ],
      "operations": {
        "get": {
          "summary": "List registered project workspaces + current selection",
          "tags": [
            "Projects"
          ],
          "responses": {
            "200": {
              "description": "{projects[], current}"
            }
          }
        },
        "delete": {
          "summary": "Unregister a project — body {root}",
          "tags": [
            "Projects"
          ],
          "responses": {
            "200": {
              "description": "Unregistered"
            },
            "400": {
              "description": "Missing root"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-projects-current",
      "kind": "api",
      "title": "/v1/projects/current",
      "summary": "Get the active project",
      "aliases": [
        "/v1/projects/current"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Projects",
        "v1",
        "projects",
        "current"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/projects/current"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Projects"
      ],
      "operations": {
        "get": {
          "summary": "Get the active project",
          "tags": [
            "Projects"
          ],
          "responses": {
            "200": {
              "description": "Current project"
            },
            "404": {
              "description": "No active project"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-projects-preferences",
      "kind": "api",
      "title": "/v1/projects/preferences",
      "summary": "Get per-project UI preferences (model, theme, current chat session id, current agent run id, recent indexes); Patch preferences (server-managed v + updatedAt are stripped from client patches); Reset preferences to default",
      "aliases": [
        "/v1/projects/preferences"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "PUT",
        "DELETE",
        "Projects",
        "v1",
        "projects",
        "preferences"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/projects/preferences"
        },
        {
          "type": "rest",
          "target": "PUT /v1/projects/preferences"
        },
        {
          "type": "rest",
          "target": "DELETE /v1/projects/preferences"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "PUT",
        "DELETE"
      ],
      "tags": [
        "Projects"
      ],
      "operations": {
        "get": {
          "summary": "Get per-project UI preferences (model, theme, current chat session id, current agent run id, recent indexes)",
          "tags": [
            "Projects"
          ],
          "parameters": [
            {
              "name": "root",
              "in": "query",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Preferences"
            },
            "404": {
              "description": "No current project AND no ?root supplied"
            }
          }
        },
        "put": {
          "summary": "Patch preferences (server-managed v + updatedAt are stripped from client patches)",
          "tags": [
            "Projects"
          ],
          "responses": {
            "200": {
              "description": "Merged"
            },
            "400": {
              "description": "Bad body"
            },
            "404": {
              "description": "No current project AND no ?root"
            }
          }
        },
        "delete": {
          "summary": "Reset preferences to default",
          "tags": [
            "Projects"
          ],
          "responses": {
            "200": {
              "description": "Removed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-projects-register",
      "kind": "api",
      "title": "/v1/projects/register",
      "summary": "Register a project root — body {root, pid?}",
      "aliases": [
        "/v1/projects/register"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Projects",
        "v1",
        "projects",
        "register"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/projects/register"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Projects"
      ],
      "operations": {
        "post": {
          "summary": "Register a project root — body {root, pid?}",
          "tags": [
            "Projects"
          ],
          "responses": {
            "200": {
              "description": "Registered"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-projects-rename",
      "kind": "api",
      "title": "/v1/projects/rename",
      "summary": "Rename a project — body {root, name}",
      "aliases": [
        "/v1/projects/rename"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Projects",
        "v1",
        "projects",
        "rename"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/projects/rename"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Projects"
      ],
      "operations": {
        "post": {
          "summary": "Rename a project — body {root, name}",
          "tags": [
            "Projects"
          ],
          "responses": {
            "200": {
              "description": "Renamed"
            },
            "404": {
              "description": "Unknown project"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-projects-scan",
      "kind": "api",
      "title": "/v1/projects/scan",
      "summary": "Scan configured roots for discoverable project workspaces",
      "aliases": [
        "/v1/projects/scan"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Projects",
        "v1",
        "projects",
        "scan"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/projects/scan"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Projects"
      ],
      "operations": {
        "get": {
          "summary": "Scan configured roots for discoverable project workspaces",
          "tags": [
            "Projects"
          ],
          "responses": {
            "200": {
              "description": "Discovered project roots"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-projects-switch",
      "kind": "api",
      "title": "/v1/projects/switch",
      "summary": "Set the active project — body {root, registerIfMissing?}",
      "aliases": [
        "/v1/projects/switch"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Projects",
        "v1",
        "projects",
        "switch"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/projects/switch"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Projects"
      ],
      "operations": {
        "post": {
          "summary": "Set the active project — body {root, registerIfMissing?}",
          "tags": [
            "Projects"
          ],
          "responses": {
            "200": {
              "description": "Switched"
            },
            "404": {
              "description": "Unknown project"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-realtime",
      "kind": "api",
      "title": "/v1/realtime",
      "summary": "Auth-scoped alias for the text-only realtime voice adapter",
      "aliases": [
        "/v1/realtime"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Chat",
        "v1",
        "realtime"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/realtime"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Chat"
      ],
      "operations": {
        "post": {
          "summary": "Auth-scoped alias for the text-only realtime voice adapter",
          "description": "Equivalent to POST /realtime and protected by the daemon's /v1 auth policy.",
          "tags": [
            "Chat"
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "text": {
                      "type": "string"
                    },
                    "recent_turn": {
                      "type": "string"
                    },
                    "asr_text": {
                      "type": "string"
                    },
                    "callerText": {
                      "type": "string"
                    },
                    "soul_md": {
                      "type": "string"
                    },
                    "format": {
                      "type": "string",
                      "enum": [
                        "json",
                        "text"
                      ]
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Short conversational reply"
            },
            "400": {
              "description": "No transcript text supplied"
            },
            "500": {
              "description": "Realtime backend request failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-routes",
      "kind": "api",
      "title": "/v1/routes",
      "summary": "Flat grep-friendly daemon route summary",
      "aliases": [
        "/v1/routes"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Discovery",
        "v1",
        "routes"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/routes"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Discovery"
      ],
      "operations": {
        "get": {
          "summary": "Flat grep-friendly daemon route summary",
          "tags": [
            "Discovery"
          ],
          "security": [],
          "responses": {
            "200": {
              "description": "Human- and agent-readable route map"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-run",
      "kind": "api",
      "title": "/v1/run",
      "summary": "Submit agentic task",
      "aliases": [
        "/v1/run"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Agentic",
        "v1",
        "run"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/run"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Agentic"
      ],
      "operations": {
        "post": {
          "summary": "Submit agentic task",
          "tags": [
            "Agentic"
          ],
          "parameters": [
            {
              "$ref": "#/components/parameters/MinimumOmniusVersion"
            }
          ],
          "responses": {
            "202": {
              "description": "Task accepted"
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "412": {
              "description": "Running Omnius package is older than X-Omnius-Min-Version"
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-runs",
      "kind": "api",
      "title": "/v1/runs",
      "summary": "List runs",
      "aliases": [
        "/v1/runs"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Agentic",
        "v1",
        "runs"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/runs"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Agentic"
      ],
      "operations": {
        "get": {
          "summary": "List runs",
          "tags": [
            "Agentic"
          ],
          "parameters": [
            {
              "$ref": "#/components/parameters/Limit"
            },
            {
              "$ref": "#/components/parameters/Offset"
            },
            {
              "name": "status",
              "in": "query",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Run list"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-runs-id",
      "kind": "api",
      "title": "/v1/runs/{id}",
      "summary": "Get run details; Abort run",
      "aliases": [
        "/v1/runs/{id}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "DELETE",
        "Agentic",
        "v1",
        "runs",
        "{id}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/runs/{id}"
        },
        {
          "type": "rest",
          "target": "DELETE /v1/runs/{id}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "DELETE"
      ],
      "tags": [
        "Agentic"
      ],
      "operations": {
        "get": {
          "summary": "Get run details",
          "tags": [
            "Agentic"
          ],
          "parameters": [
            {
              "name": "id",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Run record"
            },
            "404": {
              "description": "Not found"
            }
          }
        },
        "delete": {
          "summary": "Abort run",
          "tags": [
            "Agentic"
          ],
          "responses": {
            "200": {
              "description": "Aborted"
            },
            "404": {
              "description": "Not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-runs-id-output",
      "kind": "api",
      "title": "/v1/runs/{id}/output",
      "summary": "Read the captured output for one agentic run",
      "aliases": [
        "/v1/runs/{id}/output"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Agentic",
        "v1",
        "runs",
        "{id}",
        "output"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/runs/{id}/output"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Agentic"
      ],
      "operations": {
        "get": {
          "summary": "Read the captured output for one agentic run",
          "tags": [
            "Agentic"
          ],
          "parameters": [
            {
              "name": "id",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Run output and status"
            },
            "404": {
              "description": "Run not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-scheduled",
      "kind": "api",
      "title": "/v1/scheduled",
      "summary": "List scheduled jobs",
      "aliases": [
        "/v1/scheduled"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Engines",
        "v1",
        "scheduled"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/scheduled"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Engines"
      ],
      "operations": {
        "get": {
          "summary": "List scheduled jobs",
          "tags": [
            "Engines"
          ],
          "responses": {
            "200": {
              "description": "Scheduled jobs"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-scheduled-all",
      "kind": "api",
      "title": "/v1/scheduled/all",
      "summary": "Delete all scheduled tasks, timers, cron entries, and persisted sources",
      "aliases": [
        "/v1/scheduled/all"
      ],
      "keywords": [
        "rest",
        "openapi",
        "DELETE",
        "Engines",
        "v1",
        "scheduled",
        "all"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "DELETE /v1/scheduled/all"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "DELETE"
      ],
      "tags": [
        "Engines"
      ],
      "operations": {
        "delete": {
          "summary": "Delete all scheduled tasks, timers, cron entries, and persisted sources",
          "tags": [
            "Engines"
          ],
          "responses": {
            "200": {
              "description": "Deletion and cleanup report"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-scheduled-fixup",
      "kind": "api",
      "title": "/v1/scheduled/fixup",
      "summary": "Reconcile scheduled job state",
      "aliases": [
        "/v1/scheduled/fixup"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Engines",
        "v1",
        "scheduled",
        "fixup"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/scheduled/fixup"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Engines"
      ],
      "operations": {
        "post": {
          "summary": "Reconcile scheduled job state",
          "tags": [
            "Engines"
          ],
          "responses": {
            "200": {
              "description": "Reconciled"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-scheduled-id",
      "kind": "api",
      "title": "/v1/scheduled/{id}",
      "summary": "Enable or disable one scheduled task or user timer; Delete one scheduled task or user timer",
      "aliases": [
        "/v1/scheduled/{id}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "DELETE",
        "Engines",
        "v1",
        "scheduled",
        "{id}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/scheduled/{id}"
        },
        {
          "type": "rest",
          "target": "DELETE /v1/scheduled/{id}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST",
        "DELETE"
      ],
      "tags": [
        "Engines"
      ],
      "operations": {
        "post": {
          "summary": "Enable or disable one scheduled task or user timer",
          "tags": [
            "Engines"
          ],
          "parameters": [
            {
              "name": "id",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "enabled"
                  ],
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Scheduled item updated"
            },
            "404": {
              "description": "Scheduled item not found"
            }
          }
        },
        "delete": {
          "summary": "Delete one scheduled task or user timer",
          "tags": [
            "Engines"
          ],
          "parameters": [
            {
              "name": "id",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Scheduled item deleted"
            },
            "404": {
              "description": "Scheduled item not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-scheduled-kill",
      "kind": "api",
      "title": "/v1/scheduled/kill",
      "summary": "Kill a running scheduled job",
      "aliases": [
        "/v1/scheduled/kill"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Engines",
        "v1",
        "scheduled",
        "kill"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/scheduled/kill"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Engines"
      ],
      "operations": {
        "post": {
          "summary": "Kill a running scheduled job",
          "tags": [
            "Engines"
          ],
          "responses": {
            "200": {
              "description": "Killed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-scheduled-reconcile",
      "kind": "api",
      "title": "/v1/scheduled/reconcile",
      "summary": "Preview reconciliation of persisted and legacy scheduled jobs; Preview or apply scheduled-job reconciliation",
      "aliases": [
        "/v1/scheduled/reconcile"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "Engines",
        "v1",
        "scheduled",
        "reconcile"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/scheduled/reconcile"
        },
        {
          "type": "rest",
          "target": "POST /v1/scheduled/reconcile"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "Engines"
      ],
      "operations": {
        "get": {
          "summary": "Preview reconciliation of persisted and legacy scheduled jobs",
          "tags": [
            "Engines"
          ],
          "responses": {
            "200": {
              "description": "Reconciliation preview"
            }
          }
        },
        "post": {
          "summary": "Preview or apply scheduled-job reconciliation",
          "tags": [
            "Engines"
          ],
          "responses": {
            "200": {
              "description": "Reconciliation result"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-scheduled-status",
      "kind": "api",
      "title": "/v1/scheduled/status",
      "summary": "Status of scheduled job runner",
      "aliases": [
        "/v1/scheduled/status"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Engines",
        "v1",
        "scheduled",
        "status"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/scheduled/status"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Engines"
      ],
      "operations": {
        "get": {
          "summary": "Status of scheduled job runner",
          "tags": [
            "Engines"
          ],
          "responses": {
            "200": {
              "description": "Status"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-services",
      "kind": "api",
      "title": "/v1/services",
      "summary": "List all active daemon-owned REST services and their routes",
      "aliases": [
        "/v1/services"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Discovery",
        "v1",
        "services"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/services"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Discovery"
      ],
      "operations": {
        "get": {
          "summary": "List all active daemon-owned REST services and their routes",
          "tags": [
            "Discovery"
          ],
          "security": [],
          "description": "Agent-readable service inventory generated from this OpenAPI document. Every entry includes lifecycle ownership, whether it depends on an interactive session, all registered routes, and a readiness/status endpoint when one exists. /listen and /hangup affect voice sessions only and do not own the REST daemon.",
          "responses": {
            "200": {
              "description": "Active daemon and complete service catalog"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-services-id",
      "kind": "api",
      "title": "/v1/services/{id}",
      "summary": "Get one daemon-owned REST service contract",
      "aliases": [
        "/v1/services/{id}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Discovery",
        "v1",
        "services",
        "{id}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/services/{id}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Discovery"
      ],
      "operations": {
        "get": {
          "summary": "Get one daemon-owned REST service contract",
          "tags": [
            "Discovery"
          ],
          "security": [],
          "parameters": [
            {
              "name": "id",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              },
              "description": "Service id from GET /v1/services"
            }
          ],
          "responses": {
            "200": {
              "description": "Service lifecycle, availability, readiness, and routes"
            },
            "404": {
              "description": "Unknown service id"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-services-systemd",
      "kind": "api",
      "title": "/v1/services/systemd",
      "summary": "Systemd service status (where supported)",
      "aliases": [
        "/v1/services/systemd"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Engines",
        "v1",
        "services",
        "systemd"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/services/systemd"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Engines"
      ],
      "operations": {
        "get": {
          "summary": "Systemd service status (where supported)",
          "tags": [
            "Engines"
          ],
          "responses": {
            "200": {
              "description": "Service snapshot"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-services-systemd-unit",
      "kind": "api",
      "title": "/v1/services/systemd/{unit}",
      "summary": "Perform an action on one user-level systemd unit",
      "aliases": [
        "/v1/services/systemd/{unit}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Engines",
        "v1",
        "services",
        "systemd",
        "{unit}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/services/systemd/{unit}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Engines"
      ],
      "operations": {
        "post": {
          "summary": "Perform an action on one user-level systemd unit",
          "tags": [
            "Engines"
          ],
          "parameters": [
            {
              "name": "unit",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Service action completed"
            },
            "400": {
              "description": "Missing action"
            },
            "500": {
              "description": "Service action failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-sessions",
      "kind": "api",
      "title": "/v1/sessions",
      "summary": "List Omnius task sessions",
      "aliases": [
        "/v1/sessions"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Sessions",
        "v1",
        "sessions"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/sessions"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Sessions"
      ],
      "operations": {
        "get": {
          "summary": "List Omnius task sessions",
          "tags": [
            "Sessions"
          ],
          "responses": {
            "200": {
              "description": "Paginated sessions"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-sessions-id",
      "kind": "api",
      "title": "/v1/sessions/{id}",
      "summary": "Get session history",
      "aliases": [
        "/v1/sessions/{id}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Sessions",
        "v1",
        "sessions",
        "{id}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/sessions/{id}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Sessions"
      ],
      "operations": {
        "get": {
          "summary": "Get session history",
          "tags": [
            "Sessions"
          ],
          "parameters": [
            {
              "name": "id",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Session history"
            },
            "404": {
              "description": "Not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-skills",
      "kind": "api",
      "title": "/v1/skills",
      "summary": "List AIWG skills (PT-02)",
      "aliases": [
        "/v1/skills"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Skills",
        "v1",
        "skills"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/skills"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Skills"
      ],
      "operations": {
        "get": {
          "summary": "List AIWG skills (PT-02)",
          "tags": [
            "Skills"
          ],
          "parameters": [
            {
              "$ref": "#/components/parameters/Repo"
            },
            {
              "$ref": "#/components/parameters/Limit"
            },
            {
              "$ref": "#/components/parameters/Offset"
            },
            {
              "$ref": "#/components/parameters/IfNoneMatch"
            }
          ],
          "responses": {
            "200": {
              "description": "Paginated skill list",
              "headers": {
                "X-API-Version": {
                  "description": "REST API contract version (semver)",
                  "schema": {
                    "type": "string",
                    "example": "1.0.0"
                  }
                },
                "X-Request-ID": {
                  "description": "Echoed request ID for correlation",
                  "schema": {
                    "type": "string"
                  }
                }
              }
            },
            "304": {
              "description": "Not modified"
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-skills-name",
      "kind": "api",
      "title": "/v1/skills/{name}",
      "summary": "Get skill content (PT-02)",
      "aliases": [
        "/v1/skills/{name}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Skills",
        "v1",
        "skills",
        "{name}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/skills/{name}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Skills"
      ],
      "operations": {
        "get": {
          "summary": "Get skill content (PT-02)",
          "tags": [
            "Skills"
          ],
          "parameters": [
            {
              "name": "name",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Skill metadata + markdown content"
            },
            "404": {
              "description": "Not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-sponsors",
      "kind": "api",
      "title": "/v1/sponsors",
      "summary": "Local sponsor directory cache",
      "aliases": [
        "/v1/sponsors"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Nexus",
        "v1",
        "sponsors"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/sponsors"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Nexus"
      ],
      "operations": {
        "get": {
          "summary": "Local sponsor directory cache",
          "tags": [
            "Nexus"
          ],
          "responses": {
            "200": {
              "description": "Paginated sponsors"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-system",
      "kind": "api",
      "title": "/v1/system",
      "summary": "System info + GPU/RAM/CPU",
      "aliases": [
        "/v1/system"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Metering",
        "v1",
        "system"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/system"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Metering"
      ],
      "operations": {
        "get": {
          "summary": "System info + GPU/RAM/CPU",
          "tags": [
            "Metering"
          ],
          "responses": {
            "200": {
              "description": "System snapshot"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-todos",
      "kind": "api",
      "title": "/v1/todos",
      "summary": "List sessions that have todo lists; Write/replace the todo list for a session",
      "aliases": [
        "/v1/todos"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "Agentic",
        "v1",
        "todos"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/todos"
        },
        {
          "type": "rest",
          "target": "POST /v1/todos"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "Agentic"
      ],
      "operations": {
        "get": {
          "summary": "List sessions that have todo lists",
          "tags": [
            "Agentic"
          ],
          "responses": {
            "200": {
              "description": "Array of session ids with todo files"
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        },
        "post": {
          "summary": "Write/replace the todo list for a session",
          "tags": [
            "Agentic"
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "session_id",
                    "todos"
                  ],
                  "properties": {
                    "session_id": {
                      "type": "string"
                    },
                    "todos": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "content",
                          "status"
                        ],
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "content": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "pending",
                              "in_progress",
                              "completed",
                              "blocked"
                            ]
                          },
                          "parentId": {
                            "type": "string"
                          },
                          "blocker": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Updated todos"
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-todos-session-id",
      "kind": "api",
      "title": "/v1/todos/{session_id}",
      "summary": "Read the todo list for a session; Delete the todo list for a session",
      "aliases": [
        "/v1/todos/{session_id}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "DELETE",
        "Agentic",
        "v1",
        "todos",
        "{session_id}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/todos/{session_id}"
        },
        {
          "type": "rest",
          "target": "DELETE /v1/todos/{session_id}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "DELETE"
      ],
      "tags": [
        "Agentic"
      ],
      "operations": {
        "get": {
          "summary": "Read the todo list for a session",
          "tags": [
            "Agentic"
          ],
          "parameters": [
            {
              "name": "session_id",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Todo list"
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        },
        "delete": {
          "summary": "Delete the todo list for a session",
          "tags": [
            "Agentic"
          ],
          "parameters": [
            {
              "name": "session_id",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Deleted"
            },
            "400": {
              "description": "Invalid request",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "401": {
              "description": "Unauthorized",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "403": {
              "description": "Forbidden",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "404": {
              "description": "Not found",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "429": {
              "description": "Rate limited",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "500": {
              "description": "Internal error",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            },
            "501": {
              "description": "Not implemented",
              "content": {
                "application/problem+json": {
                  "schema": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-tools",
      "kind": "api",
      "title": "/v1/tools",
      "summary": "List agentic tool registry with security metadata",
      "aliases": [
        "/v1/tools"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Tools",
        "v1",
        "tools"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/tools"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Tools"
      ],
      "operations": {
        "get": {
          "summary": "List agentic tool registry with security metadata",
          "tags": [
            "Tools"
          ],
          "description": "Returns every discovered tool, including unavailable tools with an availability reason, plus name, class, description, JSON-schema parameters, direct_callable, security policy {categories, risk, requires_scope, off_device_allowed, rationale}, and per-tool endpoint hrefs. Every available built-in is direct-callable through the shared policy gate. Filters: ?category=read|write|exec|network|hardware|agent|sensitive · ?scope=read|run|admin · ?risk=low|medium|high|critical. Pagination via ?limit=N&offset=N (default limit=50; pass limit=200 to see all).",
          "responses": {
            "200": {
              "description": "Paginated tools with security metadata"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-tools-name",
      "kind": "api",
      "title": "/v1/tools/{name}",
      "summary": "Single tool schema + security policy; Unregister an external tool (run scope)",
      "aliases": [
        "/v1/tools/{name}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "DELETE",
        "Tools",
        "v1",
        "tools",
        "{name}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/tools/{name}"
        },
        {
          "type": "rest",
          "target": "DELETE /v1/tools/{name}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "DELETE"
      ],
      "tags": [
        "Tools"
      ],
      "operations": {
        "get": {
          "summary": "Single tool schema + security policy",
          "tags": [
            "Tools"
          ],
          "parameters": [
            {
              "name": "name",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              },
              "description": "Tool name (snake_case, e.g. file_read)"
            }
          ],
          "responses": {
            "200": {
              "description": "Tool entry with security info (built-in or external)"
            },
            "404": {
              "description": "Unknown tool name"
            }
          }
        },
        "delete": {
          "summary": "Unregister an external tool (run scope)",
          "tags": [
            "Tools"
          ],
          "description": "Removes an externally-registered tool from the per-working-directory registry. Built-in tools are immutable and return 404.",
          "parameters": [
            {
              "name": "name",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Unregistered"
            },
            "403": {
              "description": "Forbidden — run/admin scope required"
            },
            "404": {
              "description": "No external tool with that name"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-tools-name-call",
      "kind": "api",
      "title": "/v1/tools/{name}/call",
      "summary": "Execute a single tool directly (MCP-style, no agent loop)",
      "aliases": [
        "/v1/tools/{name}/call"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Tools",
        "v1",
        "tools",
        "{name}",
        "call"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/tools/{name}/call"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Tools"
      ],
      "operations": {
        "post": {
          "summary": "Execute a single tool directly (MCP-style, no agent loop)",
          "tags": [
            "Tools"
          ],
          "description": "Body: {args: object, working_dir?: string}. The `args` key is canonical (Q4) — the JSON-schema in /v1/tools/{name} `parameters` describes what goes INSIDE the args wrapper. Every available built-in and registered external tool is callable here. Returns ToolResult {success, output, llmContent?, error?, durationMs} plus security metadata. Auth gating: request scope (read/run/admin) must satisfy tool.requires_scope; non-loopback callers need admin scope unless tool.off_device_allowed=true.",
          "parameters": [
            {
              "name": "name",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "$ref": "#/components/parameters/MinimumOmniusVersion"
            }
          ],
          "responses": {
            "200": {
              "description": "Tool result envelope"
            },
            "403": {
              "description": "Forbidden — scope insufficient or off-device gate"
            },
            "404": {
              "description": "Unknown tool"
            },
            "500": {
              "description": "Tool execution failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-tools-name-eval",
      "kind": "api",
      "title": "/v1/tools/{name}/eval",
      "summary": "Evaluate an external tool against test cases (dev cycle)",
      "aliases": [
        "/v1/tools/{name}/eval"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Tools",
        "v1",
        "tools",
        "{name}",
        "eval"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/tools/{name}/eval"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Tools"
      ],
      "operations": {
        "post": {
          "summary": "Evaluate an external tool against test cases (dev cycle)",
          "tags": [
            "Tools"
          ],
          "description": "Runs the registered tool for each case and scores it — the dev-cycle complement to /v1/evaluate (which scores agent runs). Body: {cases: [{name?, args, expect?}]}. `expect` supports {success, output_contains, output_equals, output_matches}. Returns per-case pass/fail plus {total, passed, failed, pass_rate, duration_ms}.",
          "parameters": [
            {
              "name": "name",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Eval report"
            },
            "400": {
              "description": "Missing/empty cases"
            },
            "403": {
              "description": "Forbidden — run/admin scope required"
            },
            "404": {
              "description": "No external tool with that name"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-tools-register",
      "kind": "api",
      "title": "/v1/tools/register",
      "summary": "Register an application-specific external tool (run scope)",
      "aliases": [
        "/v1/tools/register"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Tools",
        "v1",
        "tools",
        "register"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/tools/register"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Tools"
      ],
      "operations": {
        "post": {
          "summary": "Register an application-specific external tool (run scope)",
          "tags": [
            "Tools"
          ],
          "description": "Unified registration contract for agents integrating Omnius into their stack. Body: {name, description, parameters (JSON schema, type:object), security?, transport}. `transport` is discriminated: {type:\"http\", callback_url, auth_header?, headers?, timeout_ms?, result_path?} — Omnius POSTs {name, args, session_id} to callback_url; OR {type:\"mcp\", server, tool, connect?:{url, transport, headers}} — proxies to a named tool on an MCP server, auto-connecting when `connect` is supplied. Registered tools are persisted per working directory (.omnius/external-tools.json) and appear in GET /v1/tools alongside built-ins. Names that collide with built-ins are rejected (409). Remote callers require admin scope.",
          "responses": {
            "200": {
              "description": "Registered (replaced existing)"
            },
            "201": {
              "description": "Registered (new)"
            },
            "400": {
              "description": "Invalid manifest"
            },
            "403": {
              "description": "Forbidden — run/admin scope required"
            },
            "409": {
              "description": "Name collides with a built-in tool"
            },
            "502": {
              "description": "MCP server connect failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-update",
      "kind": "api",
      "title": "/v1/update",
      "summary": "Global Omnius update transaction status; Start an exact-version global Omnius update",
      "aliases": [
        "/v1/update"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "Engines",
        "v1",
        "update"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/update"
        },
        {
          "type": "rest",
          "target": "POST /v1/update"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "Engines"
      ],
      "operations": {
        "get": {
          "summary": "Global Omnius update transaction status",
          "tags": [
            "Engines"
          ],
          "responses": {
            "200": {
              "description": "Durable install and runtime verification state"
            }
          }
        },
        "post": {
          "summary": "Start an exact-version global Omnius update",
          "description": "Installs the global npm package, verifies the package and executable, restarts and verifies the daemon, and relaunches the tray when it was running.",
          "tags": [
            "Engines"
          ],
          "requestBody": {
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "version": {
                      "type": "string",
                      "example": "1.2.3"
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "202": {
              "description": "Update transaction started"
            },
            "409": {
              "description": "No update available or an update is already running"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-usage",
      "kind": "api",
      "title": "/v1/usage",
      "summary": "Token usage and rate limits",
      "aliases": [
        "/v1/usage"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Metering",
        "v1",
        "usage"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/usage"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Metering"
      ],
      "operations": {
        "get": {
          "summary": "Token usage and rate limits",
          "tags": [
            "Metering"
          ],
          "responses": {
            "200": {
              "description": "Usage stats"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-vision-describe",
      "kind": "api",
      "title": "/v1/vision/describe",
      "summary": "Vision describe (deferred to PT-07)",
      "aliases": [
        "/v1/vision/describe"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Vision",
        "v1",
        "vision",
        "describe"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/vision/describe"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Vision"
      ],
      "operations": {
        "post": {
          "summary": "Vision describe (deferred to PT-07)",
          "tags": [
            "Vision"
          ],
          "responses": {
            "501": {
              "description": "Not yet daemon-resident"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-vision-embed",
      "kind": "api",
      "title": "/v1/vision/embed",
      "summary": "Create an offline-only OpenCLIP image embedding",
      "aliases": [
        "/v1/vision/embed"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Vision",
        "v1",
        "vision",
        "embed"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/vision/embed"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Vision"
      ],
      "operations": {
        "post": {
          "summary": "Create an offline-only OpenCLIP image embedding",
          "tags": [
            "Vision"
          ],
          "description": "Uses only the verified OpenCLIP ViT-B-32/laion2b_s34b_b79k runtime. Inference never installs dependencies or downloads model artifacts; it checks the setup artifact digest and denies worker network access. Provides path or bytesBase64.",
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "path": {
                      "type": "string"
                    },
                    "bytesBase64": {
                      "type": "string",
                      "description": "Base64-encoded image bytes"
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "512-dimensional L2-normalized embedding with model digest"
            },
            "400": {
              "description": "Invalid media input"
            },
            "502": {
              "description": "Typed vision_embedding_failed"
            },
            "503": {
              "description": "Typed vision_runtime_not_ready or Jetson memory admission failure"
            },
            "504": {
              "description": "Typed vision_embedding_timeout"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-vision-embed-readiness",
      "kind": "api",
      "title": "/v1/vision/embed/readiness",
      "summary": "Read OpenCLIP vision embedding readiness",
      "aliases": [
        "/v1/vision/embed/readiness"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Vision",
        "v1",
        "vision",
        "embed",
        "readiness"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/vision/embed/readiness"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Vision"
      ],
      "operations": {
        "get": {
          "summary": "Read OpenCLIP vision embedding readiness",
          "tags": [
            "Vision"
          ],
          "description": "Non-mutating status for the isolated ~/.omnius/runtimes/vision/open-clip runtime. It never imports Python, installs dependencies, downloads weights, or loads a model. It distinguishes installed/weightsReady from inferenceAvailable: a fully provisioned runtime remains HTTP 503 while Jetson unified-memory admission is temporarily blocked.",
          "responses": {
            "200": {
              "description": "Verified OpenCLIP runtime is ready"
            },
            "503": {
              "description": "Not ready; includes setup_in_progress, lastError, and Jetson memory admission"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-vision-embed-setup",
      "kind": "api",
      "title": "/v1/vision/embed/setup",
      "summary": "Explicitly set up the isolated OpenCLIP vision runtime",
      "aliases": [
        "/v1/vision/embed/setup"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Vision",
        "v1",
        "vision",
        "embed",
        "setup"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/vision/embed/setup"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Vision"
      ],
      "operations": {
        "post": {
          "summary": "Explicitly set up the isolated OpenCLIP vision runtime",
          "tags": [
            "Vision"
          ],
          "description": "Admin-only single-flight setup, also daemon-bootstrapped by default on JetPack (OMNIUS_VISION_AUTO_SETUP=0 disables). It creates a --system-site-packages venv, inherits existing CUDA Torch and vendor torchvision, installs a fully pinned non-Torch wheel closure with --no-deps, and then validates the managed runtime with user-site packages disabled. It downloads the OpenCLIP checkpoint from immutable revision 1a25a446712ba5ee05982a381eed697ef9b435cf with a fixed SHA-256. It never resolves Torch/torchvision from generic PyPI. A checksum-pinned local torchvision wheel override remains supported. Provisioning completes despite transient memory pressure; only model loading/inference applies the 8 GiB admission gate.",
          "responses": {
            "200": {
              "description": "Provisioned; readiness may still report memory-blocked until model loading is admitted"
            },
            "202": {
              "description": "Single-flight setup accepted; poll readiness"
            },
            "403": {
              "description": "Admin scope required"
            },
            "500": {
              "description": "Setup could not be started"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-asr",
      "kind": "api",
      "title": "/v1/voice/asr",
      "summary": "Legacy alias of /v1/asr/transcriptions",
      "aliases": [
        "/v1/voice/asr"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "ASR",
        "v1",
        "voice",
        "asr"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/asr"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "post": {
          "summary": "Legacy alias of /v1/asr/transcriptions",
          "tags": [
            "ASR"
          ],
          "responses": {
            "200": {
              "description": "Transcription result"
            },
            "400": {
              "description": "Empty or tiny audio"
            },
            "500": {
              "description": "ASR runtime unavailable or transcription failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-asr-models",
      "kind": "api",
      "title": "/v1/voice/asr-models",
      "summary": "Compatibility alias of GET /v1/asr/engines",
      "aliases": [
        "/v1/voice/asr-models"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "ASR",
        "v1",
        "voice",
        "asr-models"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/voice/asr-models"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "get": {
          "summary": "Compatibility alias of GET /v1/asr/engines",
          "tags": [
            "ASR"
          ],
          "responses": {
            "200": {
              "description": "Canonical ASR registry plus legacy model projection"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-asr-models-switch",
      "kind": "api",
      "title": "/v1/voice/asr-models/switch",
      "summary": "Compatibility alias of POST /v1/asr/activate",
      "aliases": [
        "/v1/voice/asr-models/switch"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "ASR",
        "v1",
        "voice",
        "asr-models",
        "switch"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/asr-models/switch"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "post": {
          "summary": "Compatibility alias of POST /v1/asr/activate",
          "tags": [
            "ASR"
          ],
          "responses": {
            "200": {
              "description": "Exact selection activated"
            },
            "400": {
              "description": "Unknown selection"
            },
            "409": {
              "description": "Runtime unavailable"
            },
            "500": {
              "description": "Activation failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-clone-refs",
      "kind": "api",
      "title": "/v1/voice/clone-refs",
      "summary": "List voice clone references; Upload a voice clone reference (JSON+base64)",
      "aliases": [
        "/v1/voice/clone-refs"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "Voice",
        "v1",
        "voice",
        "clone-refs"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/voice/clone-refs"
        },
        {
          "type": "rest",
          "target": "POST /v1/voice/clone-refs"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "get": {
          "summary": "List voice clone references",
          "tags": [
            "Voice"
          ],
          "responses": {
            "200": {
              "description": "List of {filename, name, size, isActive}"
            }
          }
        },
        "post": {
          "summary": "Upload a voice clone reference (JSON+base64)",
          "tags": [
            "Voice"
          ],
          "description": "Body `{filename, base64}`. Convenient for small files; for big files use /v1/voice/clone-refs/upload (raw multipart/octet-stream) or /v1/voice/clone-refs/from-url (server-side fetch).",
          "responses": {
            "200": {
              "description": "Reference registered"
            },
            "400": {
              "description": "Bad input"
            },
            "500": {
              "description": "Upload failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-clone-refs-filename",
      "kind": "api",
      "title": "/v1/voice/clone-refs/{filename}",
      "summary": "Delete a voice clone reference",
      "aliases": [
        "/v1/voice/clone-refs/{filename}"
      ],
      "keywords": [
        "rest",
        "openapi",
        "DELETE",
        "Voice",
        "v1",
        "voice",
        "clone-refs",
        "{filename}"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "DELETE /v1/voice/clone-refs/{filename}"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "DELETE"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "delete": {
          "summary": "Delete a voice clone reference",
          "tags": [
            "Voice"
          ],
          "parameters": [
            {
              "name": "filename",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Deleted"
            },
            "404": {
              "description": "Not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-clone-refs-filename-activate",
      "kind": "api",
      "title": "/v1/voice/clone-refs/{filename}/activate",
      "summary": "Set this clone reference as the active LuxTTS clone target",
      "aliases": [
        "/v1/voice/clone-refs/{filename}/activate"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Voice",
        "v1",
        "voice",
        "clone-refs",
        "{filename}",
        "activate"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/clone-refs/{filename}/activate"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "post": {
          "summary": "Set this clone reference as the active LuxTTS clone target",
          "tags": [
            "Voice"
          ],
          "parameters": [
            {
              "name": "filename",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Activated"
            },
            "404": {
              "description": "Filename not found"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-clone-refs-filename-rename",
      "kind": "api",
      "title": "/v1/voice/clone-refs/{filename}/rename",
      "summary": "Rename the friendly name (filename unchanged) — body {name}",
      "aliases": [
        "/v1/voice/clone-refs/{filename}/rename"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Voice",
        "v1",
        "voice",
        "clone-refs",
        "{filename}",
        "rename"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/clone-refs/{filename}/rename"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "post": {
          "summary": "Rename the friendly name (filename unchanged) — body {name}",
          "tags": [
            "Voice"
          ],
          "parameters": [
            {
              "name": "filename",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Renamed"
            },
            "400": {
              "description": "Missing name"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-clone-refs-from-url",
      "kind": "api",
      "title": "/v1/voice/clone-refs/from-url",
      "summary": "Fetch a voice clone reference from a URL",
      "aliases": [
        "/v1/voice/clone-refs/from-url"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Voice",
        "v1",
        "voice",
        "clone-refs",
        "from-url"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/clone-refs/from-url"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "post": {
          "summary": "Fetch a voice clone reference from a URL",
          "tags": [
            "Voice"
          ],
          "description": "Body `{url, filename?, name?, activate?}`. Server fetches the URL (60s timeout, 50 MB cap, http/https only), saves to disk, registers as a clone reference. Auto-detects extension from URL/Content-Type.",
          "responses": {
            "200": {
              "description": "Reference registered"
            },
            "400": {
              "description": "Invalid URL or unsupported scheme"
            },
            "413": {
              "description": "Audio too large"
            },
            "502": {
              "description": "Upstream fetch failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-clone-refs-upload",
      "kind": "api",
      "title": "/v1/voice/clone-refs/upload",
      "summary": "Upload a voice clone reference (raw bytes)",
      "aliases": [
        "/v1/voice/clone-refs/upload"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Voice",
        "v1",
        "voice",
        "clone-refs",
        "upload"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/clone-refs/upload"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "post": {
          "summary": "Upload a voice clone reference (raw bytes)",
          "tags": [
            "Voice"
          ],
          "description": "Accepts `multipart/form-data` with field `file` OR raw audio bytes with `Content-Type: audio/*`. Optional `?name=` query param sets the friendly name. Better than the JSON+base64 endpoint for files >10 MB.",
          "responses": {
            "200": {
              "description": "Reference registered"
            },
            "400": {
              "description": "Bad input"
            },
            "500": {
              "description": "Upload failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-models",
      "kind": "api",
      "title": "/v1/voice/models",
      "summary": "List TTS voice models with backend metadata and managed readiness",
      "aliases": [
        "/v1/voice/models"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Voice",
        "v1",
        "voice",
        "models"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/voice/models"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "get": {
          "summary": "List TTS voice models with backend metadata and managed readiness",
          "tags": [
            "Voice"
          ],
          "responses": {
            "200": {
              "description": "Voice model list, active selection, and Voxtral pull/deploy state"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-models-model-id-deploy",
      "kind": "api",
      "title": "/v1/voice/models/{modelId}/deploy",
      "summary": "Pull and deploy one managed CUDA TTS model",
      "aliases": [
        "/v1/voice/models/{modelId}/deploy"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Voice",
        "v1",
        "voice",
        "models",
        "{modelId}",
        "deploy"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/models/{modelId}/deploy"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "post": {
          "summary": "Pull and deploy one managed CUDA TTS model",
          "tags": [
            "Voice"
          ],
          "description": "For voxtral-4b-tts-2603 this verifies the selected CUDA device and starts a persistent local vLLM-Omni server. Set OMNIUS_TTS_CUDA_DEVICE to choose the physical GPU. On Jetson Orin with SM 8.7, Python 3.10, and CUDA 12.6/JetPack 6.2, Omnius installs the matched YuyiRobotLab Jetson Torch/vLLM 0.19 provider pair. Other JetPack versions preserve vendor Torch and build vLLM against it. Contaminated Omnius venvs are recreated automatically; generic PyPI Torch is never accepted as an ARM fallback.",
          "parameters": [
            {
              "name": "modelId",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Runtime deployed and ready"
            },
            "404": {
              "description": "No managed deploy adapter"
            },
            "500": {
              "description": "Runtime installation, CUDA preflight, or startup failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-models-model-id-pull",
      "kind": "api",
      "title": "/v1/voice/models/{modelId}/pull",
      "summary": "Install runtime prerequisites and pull one managed TTS model",
      "aliases": [
        "/v1/voice/models/{modelId}/pull"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Voice",
        "v1",
        "voice",
        "models",
        "{modelId}",
        "pull"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/models/{modelId}/pull"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "post": {
          "summary": "Install runtime prerequisites and pull one managed TTS model",
          "tags": [
            "Voice"
          ],
          "description": "For voxtral-4b-tts-2603 this creates an Omnius-managed environment and snapshots mistralai/Voxtral-4B-TTS-2603. It does not require shell setup and does not start inference.",
          "parameters": [
            {
              "name": "modelId",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Weights ready"
            },
            "404": {
              "description": "No managed pull adapter"
            },
            "500": {
              "description": "Dependency installation or download failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-models-switch",
      "kind": "api",
      "title": "/v1/voice/models/switch",
      "summary": "Switch and enable the active TTS model — body {modelId, enable?}",
      "aliases": [
        "/v1/voice/models/switch"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Voice",
        "v1",
        "voice",
        "models",
        "switch"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/models/switch"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "post": {
          "summary": "Switch and enable the active TTS model — body {modelId, enable?}",
          "tags": [
            "Voice"
          ],
          "responses": {
            "200": {
              "description": "Exact requested model selected and, by default, enabled"
            },
            "400": {
              "description": "Missing or unknown modelId"
            },
            "409": {
              "description": "Model disabled by configuration"
            },
            "500": {
              "description": "Switch or enable failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-speak",
      "kind": "api",
      "title": "/v1/voice/speak",
      "summary": "Synthesize text and broadcast to /v1/voicechat/ws clients (no audio in response body)",
      "aliases": [
        "/v1/voice/speak"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Voice",
        "v1",
        "voice",
        "speak"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/speak"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "post": {
          "summary": "Synthesize text and broadcast to /v1/voicechat/ws clients (no audio in response body)",
          "tags": [
            "Voice"
          ],
          "responses": {
            "200": {
              "description": "Queued for broadcast"
            },
            "400": {
              "description": "Missing text"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-start",
      "kind": "api",
      "title": "/v1/voice/start",
      "summary": "Enable and warm the daemon voice runtime; optional body {modelId|model|voice}",
      "aliases": [
        "/v1/voice/start"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Voice",
        "v1",
        "voice",
        "start"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/start"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "post": {
          "summary": "Enable and warm the daemon voice runtime; optional body {modelId|model|voice}",
          "tags": [
            "Voice"
          ],
          "responses": {
            "200": {
              "description": "Voice enabled and ready"
            },
            "400": {
              "description": "Unknown model"
            },
            "409": {
              "description": "Model disabled by configuration"
            },
            "500": {
              "description": "Warmup failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-state",
      "kind": "api",
      "title": "/v1/voice/state",
      "summary": "Voice runtime status (engine/model state plus actual selected microphone source and channel provenance)",
      "aliases": [
        "/v1/voice/state"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Voice",
        "v1",
        "voice",
        "state"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/voice/state"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "get": {
          "summary": "Voice runtime status (engine/model state plus actual selected microphone source and channel provenance)",
          "tags": [
            "Voice"
          ],
          "responses": {
            "200": {
              "description": "Runtime status snapshot"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-stop",
      "kind": "api",
      "title": "/v1/voice/stop",
      "summary": "Pause daemon voice input immediately (TTS models remain warm)",
      "aliases": [
        "/v1/voice/stop"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Voice",
        "v1",
        "voice",
        "stop"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/stop"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "post": {
          "summary": "Pause daemon voice input immediately (TTS models remain warm)",
          "tags": [
            "Voice"
          ],
          "responses": {
            "200": {
              "description": "Voice input paused"
            },
            "500": {
              "description": "Stop failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-supertonic-settings",
      "kind": "api",
      "title": "/v1/voice/supertonic-settings",
      "summary": "Read Supertonic3 voice style settings and options; Update Supertonic3 voice style settings",
      "aliases": [
        "/v1/voice/supertonic-settings"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "Voice",
        "v1",
        "voice",
        "supertonic-settings"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/voice/supertonic-settings"
        },
        {
          "type": "rest",
          "target": "POST /v1/voice/supertonic-settings"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "get": {
          "summary": "Read Supertonic3 voice style settings and options",
          "tags": [
            "Voice"
          ],
          "responses": {
            "200": {
              "description": "Supertonic3 settings"
            }
          }
        },
        "post": {
          "summary": "Update Supertonic3 voice style settings",
          "tags": [
            "Voice"
          ],
          "responses": {
            "200": {
              "description": "Updated"
            },
            "400": {
              "description": "Missing settings"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-transcribe",
      "kind": "api",
      "title": "/v1/voice/transcribe",
      "summary": "Transcribe an uploaded audio file",
      "aliases": [
        "/v1/voice/transcribe"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "ASR",
        "v1",
        "voice",
        "transcribe"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/transcribe"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "post": {
          "summary": "Transcribe an uploaded audio file",
          "tags": [
            "ASR"
          ],
          "description": "Compatibility route for the selected ASR engine. Accepts `multipart/form-data` with field `file` OR raw audio bytes with `Content-Type: audio/*`; optional `?context=` supplies VibeVoice hotwords/context. Returns the actual engineId/modelId plus text, speakers, timestamps, raw structured output, and warnings when supported.",
          "responses": {
            "200": {
              "description": "Transcription result"
            },
            "400": {
              "description": "Empty or tiny audio"
            },
            "500": {
              "description": "Selected ASR runtime unavailable or transcription failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-transcribe-stream",
      "kind": "api",
      "title": "/v1/voice/transcribe/stream",
      "summary": "Isolated final ASR over Server-Sent Events",
      "aliases": [
        "/v1/voice/transcribe/stream"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "ASR",
        "v1",
        "voice",
        "transcribe",
        "stream"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/transcribe/stream"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "ASR"
      ],
      "operations": {
        "post": {
          "summary": "Isolated final ASR over Server-Sent Events",
          "tags": [
            "ASR"
          ],
          "description": "Client uploads raw PCM 16kHz mono Int16 LE while the response stays open as SSE. Audio is isolated per request and never written into the daemon's local-microphone transcriber. The selected backend runs after upload completion and emits `ready`, one structured `final`, then `done`; `partials:false` is explicit. Use /v1/voicechat/ws with a pcmStream-capable backend for true full-duplex voicechat.",
          "responses": {
            "200": {
              "description": "SSE readiness, final transcription, and completion events"
            },
            "500": {
              "description": "Streaming ASR failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voice-tts",
      "kind": "api",
      "title": "/v1/voice/tts",
      "summary": "Synthesize text to audio bytes",
      "aliases": [
        "/v1/voice/tts"
      ],
      "keywords": [
        "rest",
        "openapi",
        "POST",
        "Voice",
        "v1",
        "voice",
        "tts"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "POST /v1/voice/tts"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "POST"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "post": {
          "summary": "Synthesize text to audio bytes",
          "tags": [
            "Voice"
          ],
          "description": "Returns synthesized audio and automatically enables/warms the selected runtime. An explicit model has no silent fallback. Format `wav` (default) ships a complete WAV with header; `pcm` ships raw Int16 LE PCM. Set model=voxtral-4b-tts-2603 and voice=<preset> for the managed CUDA Voxtral renderer; the OpenAI-compatible alias also accepts model=mistralai/Voxtral-4B-TTS-2603. Other model transactions remain serialized and restore the persistent renderer. Headers report X-Voice-Model, X-Voice-Backend, and X-Sample-Rate.",
          "responses": {
            "200": {
              "description": "Audio bytes (audio/wav or audio/L16). Headers: X-Voice-Model, X-Sample-Rate."
            },
            "400": {
              "description": "Missing text or unknown model"
            },
            "409": {
              "description": "Requested model disabled by configuration"
            },
            "500": {
              "description": "Synthesis failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-voicechat-ws",
      "kind": "api",
      "title": "/v1/voicechat/ws",
      "summary": "WebSocket — full-duplex voicechat (binary PCM + JSON control)",
      "aliases": [
        "/v1/voicechat/ws"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Voice",
        "v1",
        "voicechat",
        "ws"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/voicechat/ws"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Voice"
      ],
      "operations": {
        "get": {
          "summary": "WebSocket — full-duplex voicechat (binary PCM + JSON control)",
          "tags": [
            "Voice"
          ],
          "description": "**Protocol**: WebSocket Upgrade (HTTP 101). OpenAPI 3.0 doesn't natively model WebSockets — the request/response frame schemas are defined as components: see `VoicechatClientFrame` and `VoicechatServerFrame` below.\n\n**Origin**: same-origin from the browser, so works on `localhost:11435`, LAN IP, public IP, or behind any TLS-terminating reverse proxy (which switches `ws://` → `wss://`).\n\n## Binary frames\n- **Client → server**: PCM Int16 mono **16 kHz** mic capture (one frame ≈ 4096 samples).\n- **Server → client**: TTS PCM Int16 at the model's native sample rate. Each binary batch is **always preceded** by a `tts_header` text frame announcing `sampleRate` so the client constructs the right `AudioBuffer`.\n\n## Text frames (JSON control)\n- **Client → server**: `start` (boot the VoiceChatSession state machine), `stop` (tear down), `speak` (synth+broadcast text), `ping` (keepalive). See `VoicechatClientFrame`.\n- **Server → client**: `hello` (sent IMMEDIATELY on connect — does NOT wait for engine load), `loaded` (engines ready), `transcript` (partial or final ASR), `agent_text` (LLM response), `tts_header`+binary+`tts_start`+`tts_end` (audio sequence), `state` (runtime state), `session_state` (state machine), `error`, `keepalive` (every 15s), `pong`. See `VoicechatServerFrame`.\n\n## Multi-client\nAll connected clients share the same engine instance. TTS audio is broadcast to every client; mic input from every client is mixed into the same transcriber. Echo cancellation: server drops mic frames while `tts_speaking=true`; clients should also locally drop mic during their own TTS playback.\n\n## JS example\n```js\nconst ws = new WebSocket(`${location.protocol === 'https:' ? 'wss' : 'ws'}://${location.host}/v1/voicechat/ws?user=alice`);\nws.binaryType = 'arraybuffer';\nws.onopen = () => ws.send(JSON.stringify({type:'start'}));\nws.onmessage = (ev) => {\n  if (typeof ev.data === 'string') {\n    const msg = JSON.parse(ev.data);\n    if (msg.type === 'transcript') console.log('asr:', msg.text, msg.final);\n    if (msg.type === 'agent_text') console.log('agent:', msg.text);\n    if (msg.type === 'tts_header') pendingSampleRate = msg.sampleRate;\n  } else {\n    playPcm(new Int16Array(ev.data), pendingSampleRate);\n  }\n};\n// Then send mic PCM as binary frames every ~256 ms.\n```",
          "parameters": [
            {
              "name": "user",
              "in": "query",
              "schema": {
                "type": "string"
              },
              "description": "Optional client display name surfaced in `userConnected` events."
            },
            {
              "name": "Connection",
              "in": "header",
              "required": true,
              "schema": {
                "type": "string",
                "enum": [
                  "Upgrade"
                ]
              }
            },
            {
              "name": "Upgrade",
              "in": "header",
              "required": true,
              "schema": {
                "type": "string",
                "enum": [
                  "websocket"
                ]
              }
            }
          ],
          "responses": {
            "101": {
              "description": "Switching protocols — connection upgraded to WebSocket. Frames flow per the schemas in `components.schemas.VoicechatClientFrame` (request) and `components.schemas.VoicechatServerFrame` (response)."
            },
            "400": {
              "description": "Missing Upgrade header (i.e. plain HTTP request to a WebSocket-only path)."
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-web-crawl",
      "kind": "api",
      "title": "/v1/web/crawl",
      "summary": "Inspect web-crawl availability, schema, and security policy; Crawl a website directly through the Omnius tool runtime",
      "aliases": [
        "/v1/web/crawl"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "Web",
        "Tools",
        "v1",
        "web",
        "crawl"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/web/crawl"
        },
        {
          "type": "rest",
          "target": "POST /v1/web/crawl"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "Web",
        "Tools"
      ],
      "operations": {
        "get": {
          "summary": "Inspect web-crawl availability, schema, and security policy",
          "tags": [
            "Web",
            "Tools"
          ],
          "responses": {
            "200": {
              "description": "web_crawl capability metadata"
            }
          }
        },
        "post": {
          "summary": "Crawl a website directly through the Omnius tool runtime",
          "tags": [
            "Web",
            "Tools"
          ],
          "description": "Stable alias for POST /v1/tools/web_crawl/call. Shared tool security applies; browser-backed crawling requires the runtime dependencies reported by GET.",
          "responses": {
            "200": {
              "description": "ToolResult crawl response"
            },
            "403": {
              "description": "Policy denied"
            },
            "500": {
              "description": "Crawl failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-web-fetch",
      "kind": "api",
      "title": "/v1/web/fetch",
      "summary": "Inspect web-fetch availability, schema, and security policy; Fetch a URL directly through the Omnius tool runtime",
      "aliases": [
        "/v1/web/fetch"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "Web",
        "Tools",
        "v1",
        "web",
        "fetch"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/web/fetch"
        },
        {
          "type": "rest",
          "target": "POST /v1/web/fetch"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "Web",
        "Tools"
      ],
      "operations": {
        "get": {
          "summary": "Inspect web-fetch availability, schema, and security policy",
          "tags": [
            "Web",
            "Tools"
          ],
          "responses": {
            "200": {
              "description": "web_fetch capability metadata"
            }
          }
        },
        "post": {
          "summary": "Fetch a URL directly through the Omnius tool runtime",
          "tags": [
            "Web",
            "Tools"
          ],
          "description": "Stable alias for POST /v1/tools/web_fetch/call. Body: {args:{url:string}}. Shared tool security and network-egress policy apply.",
          "responses": {
            "200": {
              "description": "ToolResult fetch response"
            },
            "403": {
              "description": "Policy denied"
            },
            "500": {
              "description": "Fetch failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.v1-web-search",
      "kind": "api",
      "title": "/v1/web/search",
      "summary": "Inspect web-search availability, schema, and security policy; Search the web directly through the Omnius tool runtime",
      "aliases": [
        "/v1/web/search"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "POST",
        "Web",
        "Tools",
        "v1",
        "web",
        "search"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /v1/web/search"
        },
        {
          "type": "rest",
          "target": "POST /v1/web/search"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "tags": [
        "Web",
        "Tools"
      ],
      "operations": {
        "get": {
          "summary": "Inspect web-search availability, schema, and security policy",
          "tags": [
            "Web",
            "Tools"
          ],
          "description": "Stable alias for GET /v1/tools/web_search.",
          "responses": {
            "200": {
              "description": "web_search capability metadata"
            },
            "404": {
              "description": "web_search runtime unavailable"
            }
          }
        },
        "post": {
          "summary": "Search the web directly through the Omnius tool runtime",
          "tags": [
            "Web",
            "Tools"
          ],
          "description": "Stable alias for POST /v1/tools/web_search/call. Uses the same auth, profile, origin, timeout, output-size, and audit policy. Body example: {\"args\":{\"query\":\"CUDA ASR on Jetson\",\"num_results\":5,\"provider\":\"duckduckgo\"}}. No search API key is required.",
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "args"
                  ],
                  "properties": {
                    "args": {
                      "type": "object",
                      "required": [
                        "query"
                      ],
                      "properties": {
                        "query": {
                          "type": "string"
                        },
                        "num_results": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "provider": {
                          "type": "string",
                          "enum": [
                            "duckduckgo"
                          ]
                        }
                      }
                    },
                    "session_id": {
                      "type": "string"
                    },
                    "profile": {
                      "type": "string"
                    },
                    "timeout_ms": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "ToolResult search response"
            },
            "400": {
              "description": "Invalid request"
            },
            "403": {
              "description": "Policy denied"
            },
            "500": {
              "description": "Search failed"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "api.version",
      "kind": "api",
      "title": "/version",
      "summary": "Package, API, and discovery contract versions",
      "aliases": [
        "/version"
      ],
      "keywords": [
        "rest",
        "openapi",
        "GET",
        "Health",
        "version"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "integrator",
        "service-agent",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "rest",
          "target": "GET /version"
        },
        {
          "type": "openapi",
          "target": "/openapi.json"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/openapi.ts",
          "relation": "openapi-source"
        },
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "endpoint-inventory"
        }
      ],
      "methods": [
        "GET"
      ],
      "tags": [
        "Health"
      ],
      "operations": {
        "get": {
          "summary": "Package, API, and discovery contract versions",
          "tags": [
            "Health"
          ],
          "security": [],
          "responses": {
            "200": {
              "description": "Package/boot/API/discovery versions, package hash, Node.js, and platform"
            }
          }
        }
      },
      "source_of_truth": [
        "GET /openapi.json",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "capability.bring-your-own-inference",
      "kind": "capability",
      "title": "Bring your own inference",
      "summary": "Connect local runtimes, Claude, Gemini, and registered OpenAI-compatible providers through explicit protocol and credential descriptors.",
      "aliases": [
        "BYOI",
        "BYO inference",
        "external inference",
        "provider account",
        "provider keys"
      ],
      "keywords": [
        "endpoint",
        "model",
        "protocol",
        "api key",
        "claude",
        "gemini"
      ],
      "maturity": "stable",
      "prerequisites": [
        "Configured endpoint",
        "Exact provider protocol",
        "Provider credential when required"
      ],
      "interfaces": [
        {
          "type": "cli",
          "target": "/endpoint providers"
        },
        {
          "type": "cli",
          "target": "/model"
        },
        {
          "type": "http",
          "target": "PUT /v1/config/endpoint"
        }
      ],
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "canonical-guide"
        },
        {
          "type": "config",
          "target": "docs/reference/configuration.md",
          "relation": "credentials"
        }
      ],
      "related": [
        "provider.anthropic",
        "provider.gemini",
        "config.provider-credentials",
        "config.provider-protocol",
        "operation.version-compatibility"
      ]
    },
    {
      "id": "capability.osint-research",
      "kind": "capability",
      "title": "Categorized OSINT research",
      "summary": "Discover a compact ranked shortlist from the bundled 77-category OSINT4ALL snapshot, expand one exact resource, then deliberately route it through an appropriate web tool with provenance and safety guidance.",
      "aliases": [
        "OSINT",
        "OSINT4ALL",
        "long-haul research",
        "open source intelligence"
      ],
      "keywords": [
        "research",
        "catalog",
        "search",
        "provenance",
        "corroboration",
        "identity",
        "social",
        "network",
        "geospatial"
      ],
      "maturity": "stable",
      "prerequisites": [
        "Legitimate research purpose",
        "Authorization for active or sensitive target interaction"
      ],
      "interfaces": [
        {
          "type": "agent-tool",
          "target": "osint_search",
          "description": "Compact deterministic local discovery"
        },
        {
          "type": "agent-tool",
          "target": "osint_show",
          "description": "Exact resource expansion"
        }
      ],
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/osint-research.md",
          "relation": "canonical-guide"
        },
        {
          "type": "source",
          "target": "packages/execution/src/tools/osint-catalog-data.ts",
          "relation": "generated-catalog"
        }
      ],
      "related": [
        "tool.osint-search",
        "tool.osint-show",
        "tool.web-search",
        "tool.web-fetch",
        "tool.web-crawl"
      ]
    },
    {
      "id": "command.access",
      "kind": "command",
      "title": "/access",
      "summary": "Show access policy and host binding",
      "aliases": [
        "/access",
        "access"
      ],
      "keywords": [
        "command",
        "network",
        "access"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/access"
        },
        {
          "type": "rest",
          "target": "/v1/commands/access"
        },
        {
          "type": "gateway-command",
          "target": "/access"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/access",
          "description": "Show access policy and host binding"
        },
        {
          "signature": "/access <loopback|lan|any>",
          "description": "Set access policy (OMNIUS_ACCESS) and restart daemon"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.apikey",
      "kind": "command",
      "title": "/apikey",
      "summary": "Show current API key (for pasting into Web UI / clients)",
      "aliases": [
        "/apikey",
        "apikey",
        "/key",
        "key"
      ],
      "keywords": [
        "command",
        "secret",
        "apikey",
        "copy",
        "new"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/apikey"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/apikey",
          "description": "Show current API key (for pasting into Web UI / clients)"
        },
        {
          "signature": "/apikey copy",
          "description": "Copy the API key to clipboard"
        },
        {
          "signature": "/apikey new",
          "description": "Rotate to a new API key (regenerate)"
        },
        {
          "signature": "/key",
          "description": "Alias for /apikey"
        }
      ],
      "subcommands": [
        "copy",
        "new"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": true,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.approve",
      "kind": "command",
      "title": "/approve",
      "summary": "Approve a pending gateway/admin action",
      "aliases": [
        "/approve",
        "approve"
      ],
      "keywords": [
        "command",
        "planned",
        "approve"
      ],
      "maturity": "planned",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/approve"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/approve",
          "description": "Approve a pending gateway/admin action",
          "implementationStatus": "planned"
        }
      ],
      "subcommands": [],
      "implementation_status": "planned",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "The command is planned and has no executable implementation",
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.background",
      "kind": "command",
      "title": "/background",
      "summary": "Run a prompt in an independent background session",
      "aliases": [
        "/background",
        "background",
        "/bg",
        "bg"
      ],
      "keywords": [
        "command",
        "session",
        "background"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/background"
        },
        {
          "type": "gateway-command",
          "target": "/background"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/background <prompt>",
          "description": "Run a prompt in an independent background session"
        },
        {
          "signature": "/bg <prompt>",
          "description": "Alias for /background <prompt>"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.bless",
      "kind": "command",
      "title": "/bless",
      "summary": "End blessed mode + DMN",
      "aliases": [
        "/bless",
        "bless"
      ],
      "keywords": [
        "command",
        "runtime",
        "bless",
        "stop"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/bless"
        },
        {
          "type": "rest",
          "target": "/v1/commands/bless"
        },
        {
          "type": "gateway-command",
          "target": "/bless"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/bless stop",
          "description": "End blessed mode + DMN"
        }
      ],
      "subcommands": [
        "stop"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.broker",
      "kind": "command",
      "title": "/broker",
      "summary": "Show resource broker status — loaded models, in-flight loads, RAM/VRAM headroom",
      "aliases": [
        "/broker",
        "broker"
      ],
      "keywords": [
        "command",
        "runtime",
        "broker",
        "evict",
        "threshold"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/broker"
        },
        {
          "type": "rest",
          "target": "/v1/commands/broker"
        },
        {
          "type": "gateway-command",
          "target": "/broker"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/broker",
          "description": "Show resource broker status — loaded models, in-flight loads, RAM/VRAM headroom"
        },
        {
          "signature": "/broker evict <host>:<name>",
          "description": "Force eviction of a tracked model (e.g. /broker evict ollama:moondream)"
        },
        {
          "signature": "/broker threshold <ram|vram|idle> <v>",
          "description": "Tune broker thresholds (RAM/VRAM in MB, idle in seconds)"
        }
      ],
      "subcommands": [
        "evict",
        "threshold"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.browser",
      "kind": "command",
      "title": "/browser",
      "summary": "Manage browser-agent connectivity",
      "aliases": [
        "/browser",
        "browser"
      ],
      "keywords": [
        "command",
        "planned",
        "browser"
      ],
      "maturity": "planned",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/browser"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/browser connect|disconnect|status",
          "description": "Manage browser-agent connectivity",
          "implementationStatus": "planned"
        }
      ],
      "subcommands": [],
      "implementation_status": "planned",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "The command is planned and has no executable implementation",
        "Calling it through the REST command proxy; this command is not REST-exposed"
      ]
    },
    {
      "id": "command.bruteforce",
      "kind": "command",
      "title": "/bruteforce",
      "summary": "Toggle brute-force mode (auto re-engage on turn limit)",
      "aliases": [
        "/bruteforce",
        "bruteforce",
        "/brute",
        "brute"
      ],
      "keywords": [
        "command",
        "core",
        "bruteforce"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/bruteforce"
        },
        {
          "type": "rest",
          "target": "/v1/commands/bruteforce"
        },
        {
          "type": "gateway-command",
          "target": "/bruteforce"
        },
        {
          "type": "agent-tool-command",
          "target": "/bruteforce"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/bruteforce",
          "description": "Toggle brute-force mode (auto re-engage on turn limit)"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.call",
      "kind": "command",
      "title": "/call",
      "summary": "Start voice call session (cloudflared tunnel + ASR/TTS)",
      "aliases": [
        "/call",
        "call"
      ],
      "keywords": [
        "command",
        "media",
        "call"
      ],
      "maturity": "stable",
      "layer": "media",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/call"
        },
        {
          "type": "rest",
          "target": "/v1/commands/call"
        },
        {
          "type": "gateway-command",
          "target": "/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/call",
          "description": "Start voice call session (cloudflared tunnel + ASR/TTS)"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.camera",
      "kind": "command",
      "title": "/camera",
      "summary": "Open compact camera preset menu shared with /live",
      "aliases": [
        "/camera",
        "camera"
      ],
      "keywords": [
        "command",
        "core",
        "camera",
        "status"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/camera"
        },
        {
          "type": "rest",
          "target": "/v1/commands/camera"
        },
        {
          "type": "gateway-command",
          "target": "/camera"
        },
        {
          "type": "agent-tool-command",
          "target": "/camera"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/camera",
          "description": "Open compact camera preset menu shared with /live"
        },
        {
          "signature": "/camera status",
          "description": "Show selected camera and per-device presets"
        },
        {
          "signature": "/camera select|preview|resolution|fps|rotate",
          "description": "Manage camera source, preview, resolution, FPS, and orientation"
        }
      ],
      "subcommands": [
        "status"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.capabilities",
      "kind": "command",
      "title": "List machine capabilities",
      "summary": "Print the complete Omnius discovery catalog for programmatic use.",
      "aliases": [
        "omnius capabilities"
      ],
      "keywords": [
        "json",
        "catalog",
        "machine-readable"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "cli",
          "target": "omnius capabilities --json"
        }
      ],
      "references": [
        {
          "type": "schema",
          "target": "docs/DISCOVERY.json",
          "relation": "output-contract"
        }
      ],
      "related": [
        "overview",
        "api.discovery"
      ]
    },
    {
      "id": "command.clear",
      "kind": "command",
      "title": "/clear",
      "summary": "Clear the screen",
      "aliases": [
        "/clear",
        "clear",
        "/cls",
        "cls"
      ],
      "keywords": [
        "command",
        "core",
        "clear"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/clear"
        },
        {
          "type": "rest",
          "target": "/v1/commands/clear"
        },
        {
          "type": "gateway-command",
          "target": "/clear"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/clear",
          "description": "Clear the screen"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.codegraph",
      "kind": "command",
      "title": "/codegraph",
      "summary": "Code-graph snapshot: stats, top files, recent activity",
      "aliases": [
        "/codegraph",
        "codegraph",
        "/cg",
        "cg"
      ],
      "keywords": [
        "command",
        "tools",
        "codegraph",
        "watch"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/codegraph"
        },
        {
          "type": "rest",
          "target": "/v1/commands/codegraph"
        },
        {
          "type": "gateway-command",
          "target": "/codegraph"
        },
        {
          "type": "agent-tool-command",
          "target": "/codegraph"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/codegraph",
          "description": "Code-graph snapshot: stats, top files, recent activity"
        },
        {
          "signature": "/codegraph watch [N]",
          "description": "Subscribe to live code-graph events for N seconds (default 30)"
        },
        {
          "signature": "/cg",
          "description": "Alias for /codegraph"
        }
      ],
      "subcommands": [
        "watch"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.cohere",
      "kind": "command",
      "title": "/cohere",
      "summary": "Toggle COHERE cognitive commons - join distributed memory/identity mesh",
      "aliases": [
        "/cohere",
        "cohere"
      ],
      "keywords": [
        "command",
        "network",
        "cohere",
        "stats",
        "models",
        "allow",
        "deny"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/cohere"
        },
        {
          "type": "rest",
          "target": "/v1/commands/cohere"
        },
        {
          "type": "gateway-command",
          "target": "/cohere"
        },
        {
          "type": "agent-tool-command",
          "target": "/cohere"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/cohere",
          "description": "Toggle COHERE cognitive commons - join distributed memory/identity mesh"
        },
        {
          "signature": "/cohere stats",
          "description": "Show network stats - queries in/out, model usage, peer transparency"
        },
        {
          "signature": "/cohere models",
          "description": "List downloaded models with COHERE exposure status"
        },
        {
          "signature": "/cohere allow <model>",
          "description": "Allow a model for remote COHERE queries"
        },
        {
          "signature": "/cohere deny <model>",
          "description": "Hide a model from remote COHERE queries"
        }
      ],
      "subcommands": [
        "stats",
        "models",
        "allow",
        "deny"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.color",
      "kind": "command",
      "title": "/color",
      "summary": "Show or configure terminal colors/theme",
      "aliases": [
        "/color",
        "color",
        "/colors",
        "colors",
        "/theme",
        "theme"
      ],
      "keywords": [
        "command",
        "ui",
        "color"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/color"
        },
        {
          "type": "rest",
          "target": "/v1/commands/color"
        },
        {
          "type": "gateway-command",
          "target": "/color"
        },
        {
          "type": "agent-tool-command",
          "target": "/color"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/color",
          "description": "Show or configure terminal colors/theme"
        },
        {
          "signature": "/theme",
          "description": "Alias for /color"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.commands",
      "kind": "command",
      "title": "/commands",
      "summary": "Allow agent to invoke slash commands as tools",
      "aliases": [
        "/commands",
        "commands",
        "/cmds",
        "cmds"
      ],
      "keywords": [
        "command",
        "core",
        "commands",
        "auto",
        "manual"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/commands"
        },
        {
          "type": "rest",
          "target": "/v1/commands/commands"
        },
        {
          "type": "gateway-command",
          "target": "/commands"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/commands auto",
          "description": "Allow agent to invoke slash commands as tools"
        },
        {
          "signature": "/cmds auto",
          "description": "Alias for /commands auto"
        },
        {
          "signature": "/commands manual",
          "description": "Slash commands are user-only (default)"
        }
      ],
      "subcommands": [
        "auto",
        "manual"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.compact",
      "kind": "command",
      "title": "/compact",
      "summary": "Force context compaction now (default strategy)",
      "aliases": [
        "/compact",
        "compact",
        "/gc",
        "gc"
      ],
      "keywords": [
        "command",
        "session",
        "compact"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/compact"
        },
        {
          "type": "rest",
          "target": "/v1/commands/compact"
        },
        {
          "type": "gateway-command",
          "target": "/compact"
        },
        {
          "type": "agent-tool-command",
          "target": "/compact"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/compact",
          "description": "Force context compaction now (default strategy)"
        },
        {
          "signature": "/compact <strategy>",
          "description": "Compact with strategy: aggressive, decisions, errors, summary, structured"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.config",
      "kind": "command",
      "title": "/config",
      "summary": "Show current configuration",
      "aliases": [
        "/config",
        "config",
        "/cfg",
        "cfg"
      ],
      "keywords": [
        "command",
        "core",
        "config"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/config"
        },
        {
          "type": "rest",
          "target": "/v1/commands/config"
        },
        {
          "type": "gateway-command",
          "target": "/config"
        },
        {
          "type": "agent-tool-command",
          "target": "/config"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/config",
          "description": "Show current configuration"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.context",
      "kind": "command",
      "title": "/context",
      "summary": "Force-save session context to .omnius/context/",
      "aliases": [
        "/context",
        "context"
      ],
      "keywords": [
        "command",
        "session",
        "context",
        "save",
        "restore",
        "show"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/context"
        },
        {
          "type": "rest",
          "target": "/v1/commands/context"
        },
        {
          "type": "gateway-command",
          "target": "/context"
        },
        {
          "type": "agent-tool-command",
          "target": "/context"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/context save",
          "description": "Force-save session context to .omnius/context/"
        },
        {
          "signature": "/context restore",
          "description": "Restore context from previous sessions into next task"
        },
        {
          "signature": "/context show",
          "description": "Show saved session context status"
        }
      ],
      "subcommands": [
        "save",
        "restore",
        "show"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.cost",
      "kind": "command",
      "title": "/cost",
      "summary": "Show session token cost breakdown",
      "aliases": [
        "/cost",
        "cost",
        "/costs",
        "costs"
      ],
      "keywords": [
        "command",
        "core",
        "cost"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/cost"
        },
        {
          "type": "rest",
          "target": "/v1/commands/cost"
        },
        {
          "type": "gateway-command",
          "target": "/cost"
        },
        {
          "type": "agent-tool-command",
          "target": "/cost"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/cost",
          "description": "Show session token cost breakdown"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.cron",
      "kind": "command",
      "title": "/cron",
      "summary": "Cron/scheduled job management",
      "aliases": [
        "/cron",
        "cron"
      ],
      "keywords": [
        "command",
        "core",
        "cron",
        "list",
        "add",
        "edit",
        "pause",
        "resume",
        "run",
        "remove",
        "outputs",
        "tick"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/cron"
        },
        {
          "type": "rest",
          "target": "/v1/commands/cron"
        },
        {
          "type": "gateway-command",
          "target": "/cron"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/cron",
          "description": "Cron/scheduled job management"
        },
        {
          "signature": "/cron list",
          "description": "List cron jobs"
        },
        {
          "signature": "/cron add <schedule> <prompt>",
          "description": "Create a new cron job"
        },
        {
          "signature": "/cron edit <id> <field> <val>",
          "description": "Update a cron job field"
        },
        {
          "signature": "/cron pause <id>",
          "description": "Pause a cron job"
        },
        {
          "signature": "/cron resume <id>",
          "description": "Resume a paused cron job"
        },
        {
          "signature": "/cron run <id>",
          "description": "Execute a cron job immediately"
        },
        {
          "signature": "/cron remove <id>",
          "description": "Delete a cron job"
        },
        {
          "signature": "/cron outputs <id>",
          "description": "Show saved output files for a job"
        },
        {
          "signature": "/cron tick",
          "description": "Run scheduler tick"
        }
      ],
      "subcommands": [
        "list",
        "add",
        "edit",
        "pause",
        "resume",
        "run",
        "remove",
        "outputs",
        "tick"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.daemon",
      "kind": "command",
      "title": "/daemon",
      "summary": "Show or manage the local API daemon",
      "aliases": [
        "/daemon",
        "daemon"
      ],
      "keywords": [
        "command",
        "runtime",
        "daemon"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/daemon"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/daemon",
          "description": "Show or manage the local API daemon"
        },
        {
          "signature": "/daemon <start|stop|restart|takeover>",
          "description": "Control the local API daemon"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": true,
        "networked": true,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.debug",
      "kind": "command",
      "title": "/debug",
      "summary": "Toggle debug mode — show/hide trust_tier wrappers and REG fires",
      "aliases": [
        "/debug",
        "debug"
      ],
      "keywords": [
        "command",
        "runtime",
        "debug",
        "on",
        "off"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/debug"
        },
        {
          "type": "rest",
          "target": "/v1/commands/debug"
        },
        {
          "type": "gateway-command",
          "target": "/debug"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/debug",
          "description": "Toggle debug mode — show/hide trust_tier wrappers and REG fires"
        },
        {
          "signature": "/debug on",
          "description": "Show trust_tier wrappers and REG fires in terminal"
        },
        {
          "signature": "/debug off",
          "description": "Hide trust_tier wrappers and REG fires (default)"
        },
        {
          "signature": "/debug",
          "description": "Toggle debug mode — show/hide trust_tier wrappers and REG fires"
        },
        {
          "signature": "/debug on",
          "description": "Show trust_tier wrappers and REG fires in terminal"
        },
        {
          "signature": "/debug off",
          "description": "Hide trust_tier wrappers and REG fires (default)"
        }
      ],
      "subcommands": [
        "on",
        "off"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.deep",
      "kind": "command",
      "title": "/deep",
      "summary": "Toggle deep context - relaxes compaction so large models use 85% of context",
      "aliases": [
        "/deep",
        "deep",
        "/deep-context",
        "deep-context"
      ],
      "keywords": [
        "command",
        "core",
        "deep"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/deep"
        },
        {
          "type": "rest",
          "target": "/v1/commands/deep"
        },
        {
          "type": "gateway-command",
          "target": "/deep"
        },
        {
          "type": "agent-tool-command",
          "target": "/deep"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/deep",
          "description": "Toggle deep context - relaxes compaction so large models use 85% of context"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.deny",
      "kind": "command",
      "title": "/deny",
      "summary": "Deny a pending gateway/admin action",
      "aliases": [
        "/deny",
        "deny"
      ],
      "keywords": [
        "command",
        "planned",
        "deny"
      ],
      "maturity": "planned",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/deny"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/deny",
          "description": "Deny a pending gateway/admin action",
          "implementationStatus": "planned"
        }
      ],
      "subcommands": [],
      "implementation_status": "planned",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": true,
        "networked": false,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "The command is planned and has no executable implementation",
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.destroy",
      "kind": "command",
      "title": "/destroy",
      "summary": "Find and kill orphaned Omnius child processes (this project)",
      "aliases": [
        "/destroy",
        "destroy"
      ],
      "keywords": [
        "command",
        "core",
        "destroy",
        "processes",
        "project"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/destroy"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/destroy processes",
          "description": "Find and kill orphaned Omnius child processes (this project)"
        },
        {
          "signature": "/destroy processes --global",
          "description": "Kill ALL orphaned Omnius processes system-wide"
        },
        {
          "signature": "/destroy project",
          "description": "Remove .omnius folder, kill all tasks, clear console, and exit"
        }
      ],
      "subcommands": [
        "processes",
        "project"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": false,
        "destructive": true,
        "networked": false,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed"
      ]
    },
    {
      "id": "command.discover",
      "kind": "command",
      "title": "Discover capabilities",
      "summary": "Rank Omnius capabilities by intent, with optional kind and result limits.",
      "aliases": [
        "omnius discover"
      ],
      "keywords": [
        "search",
        "catalog",
        "json"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "cli",
          "target": "omnius discover \"<query>\" [--kind <kind>] [--limit <n>] [--json]"
        }
      ],
      "references": [
        {
          "type": "guide",
          "target": "docs/DISCOVERY.md",
          "relation": "usage"
        }
      ],
      "related": [
        "api.discovery",
        "command.show",
        "overview"
      ]
    },
    {
      "id": "command.docs",
      "kind": "command",
      "title": "Open the documentation overview",
      "summary": "Print the human-readable Omnius documentation and discovery entrypoints.",
      "aliases": [
        "omnius docs"
      ],
      "keywords": [
        "documentation",
        "overview"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "cli",
          "target": "omnius docs"
        }
      ],
      "references": [
        {
          "type": "guide",
          "target": "docs/DISCOVERY.md",
          "relation": "overview"
        }
      ],
      "related": [
        "overview",
        "command.discover"
      ]
    },
    {
      "id": "command.dream",
      "kind": "command",
      "title": "/dream",
      "summary": "Start dream mode - creative idle exploration (writes to .omnius/dreams/)",
      "aliases": [
        "/dream",
        "dream"
      ],
      "keywords": [
        "command",
        "runtime",
        "dream",
        "deep",
        "lucid",
        "stop"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/dream"
        },
        {
          "type": "rest",
          "target": "/v1/commands/dream"
        },
        {
          "type": "gateway-command",
          "target": "/dream"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/dream",
          "description": "Start dream mode - creative idle exploration (writes to .omnius/dreams/)"
        },
        {
          "signature": "/dream deep",
          "description": "Deep dream - multi-cycle exploration with sleep architecture"
        },
        {
          "signature": "/dream lucid",
          "description": "Lucid dream - implements proposals, tests, evaluates in cycles"
        },
        {
          "signature": "/dream stop",
          "description": "Wake up - stop dreaming"
        }
      ],
      "subcommands": [
        "deep",
        "lucid",
        "stop"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.emojis",
      "kind": "command",
      "title": "/emojis",
      "summary": "Toggle emoji rendering in TUI messages",
      "aliases": [
        "/emojis",
        "emojis",
        "/emoji",
        "emoji"
      ],
      "keywords": [
        "command",
        "ui",
        "emojis"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/emojis"
        },
        {
          "type": "rest",
          "target": "/v1/commands/emojis"
        },
        {
          "type": "gateway-command",
          "target": "/emojis"
        },
        {
          "type": "agent-tool-command",
          "target": "/emojis"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/emojis",
          "description": "Toggle emoji rendering in TUI messages"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.endpoint",
      "kind": "command",
      "title": "/endpoint",
      "summary": "Show current endpoint",
      "aliases": [
        "/endpoint",
        "endpoint",
        "/ep",
        "ep"
      ],
      "keywords": [
        "command",
        "network",
        "endpoint",
        "sponsor"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/endpoint"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/endpoint",
          "description": "Show current endpoint"
        },
        {
          "signature": "/endpoint <url>",
          "description": "Set backend URL (auto-detects type)"
        },
        {
          "signature": "/endpoint <url> --auth <t>",
          "description": "Set endpoint with Bearer auth"
        },
        {
          "signature": "/endpoint sponsor",
          "description": "Browse and connect to sponsored inference from the nexus mesh"
        }
      ],
      "subcommands": [
        "sponsor"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": true,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.evaluate",
      "kind": "command",
      "title": "/evaluate",
      "summary": "Evaluate last completed task (LLM quality scoring)",
      "aliases": [
        "/evaluate",
        "evaluate",
        "/eval",
        "eval"
      ],
      "keywords": [
        "command",
        "core",
        "evaluate"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/evaluate"
        },
        {
          "type": "rest",
          "target": "/v1/commands/evaluate"
        },
        {
          "type": "gateway-command",
          "target": "/evaluate"
        },
        {
          "type": "agent-tool-command",
          "target": "/evaluate"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/evaluate",
          "description": "Evaluate last completed task (LLM quality scoring)"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.expose",
      "kind": "command",
      "title": "/expose",
      "summary": "Expose local inference via libp2p (default)",
      "aliases": [
        "/expose",
        "expose"
      ],
      "keywords": [
        "command",
        "gateway",
        "expose",
        "passthrough",
        "forward",
        "config",
        "status",
        "stop"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/expose"
        },
        {
          "type": "rest",
          "target": "/v1/commands/expose"
        },
        {
          "type": "gateway-command",
          "target": "/expose"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/expose <backend>",
          "description": "Expose local inference via libp2p (default)"
        },
        {
          "signature": "/expose <backend> --tunnel",
          "description": "Expose via cloudflared tunnel"
        },
        {
          "signature": "/expose passthrough",
          "description": "Forward configured /endpoint through libp2p P2P"
        },
        {
          "signature": "/expose forward --loadbalance",
          "description": "Passthrough with distributed rate-limit budget"
        },
        {
          "signature": "/expose config",
          "description": "Interactive expose configuration menu"
        },
        {
          "signature": "/expose status",
          "description": "Show gateway stats (requests, models, budget)"
        },
        {
          "signature": "/expose stop",
          "description": "Stop all expose gateways"
        },
        {
          "signature": "/expose stop --tunnel",
          "description": "Stop tunnel gateway only"
        },
        {
          "signature": "/expose stop --libp2p",
          "description": "Stop libp2p gateway only"
        }
      ],
      "subcommands": [
        "passthrough",
        "forward",
        "config",
        "status",
        "stop"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.files",
      "kind": "command",
      "title": "/files",
      "summary": "Show searchable working-directory file overview",
      "aliases": [
        "/files",
        "files",
        "/workspace",
        "workspace"
      ],
      "keywords": [
        "command",
        "tools",
        "files",
        "menu"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/files"
        },
        {
          "type": "rest",
          "target": "/v1/commands/files"
        },
        {
          "type": "gateway-command",
          "target": "/files"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/files",
          "description": "Show searchable working-directory file overview"
        },
        {
          "signature": "/files <query>",
          "description": "Filter the working-directory file overview"
        },
        {
          "signature": "/files menu",
          "description": "Open searchable workspace file selector"
        },
        {
          "signature": "/workspace",
          "description": "Alias for /files"
        },
        {
          "signature": "/workspace <query>",
          "description": "Alias for /files <query>"
        },
        {
          "signature": "/workspace menu",
          "description": "Alias for /files menu"
        }
      ],
      "subcommands": [
        "menu"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.flow",
      "kind": "command",
      "title": "/flow",
      "summary": "Toggle FlowState protocol - immediate action, tight loops, goal clarity",
      "aliases": [
        "/flow",
        "flow",
        "/flowstate",
        "flowstate"
      ],
      "keywords": [
        "command",
        "core",
        "flow"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/flow"
        },
        {
          "type": "rest",
          "target": "/v1/commands/flow"
        },
        {
          "type": "gateway-command",
          "target": "/flow"
        },
        {
          "type": "agent-tool-command",
          "target": "/flow"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/flow",
          "description": "Toggle FlowState protocol - immediate action, tight loops, goal clarity"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.fortemi",
      "kind": "command",
      "title": "/fortemi",
      "summary": "Manage Fortemi React bridge integration",
      "aliases": [
        "/fortemi",
        "fortemi"
      ],
      "keywords": [
        "command",
        "core",
        "fortemi"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/fortemi"
        },
        {
          "type": "rest",
          "target": "/v1/commands/fortemi"
        },
        {
          "type": "gateway-command",
          "target": "/fortemi"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/fortemi",
          "description": "Manage Fortemi React bridge integration"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.full-send-bless",
      "kind": "command",
      "title": "/full-send-bless",
      "summary": "Infinite warm loop - DMN self-reflection chains tasks autonomously",
      "aliases": [
        "/full-send-bless",
        "full-send-bless"
      ],
      "keywords": [
        "command",
        "runtime",
        "full-send-bless"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/full-send-bless"
        },
        {
          "type": "rest",
          "target": "/v1/commands/full-send-bless"
        },
        {
          "type": "gateway-command",
          "target": "/full-send-bless"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/full-send-bless",
          "description": "Infinite warm loop - DMN self-reflection chains tasks autonomously"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.hangup",
      "kind": "command",
      "title": "/hangup",
      "summary": "End active call session",
      "aliases": [
        "/hangup",
        "hangup"
      ],
      "keywords": [
        "command",
        "media",
        "hangup"
      ],
      "maturity": "stable",
      "layer": "media",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/hangup"
        },
        {
          "type": "rest",
          "target": "/v1/commands/hangup"
        },
        {
          "type": "gateway-command",
          "target": "/hangup"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/hangup",
          "description": "End active call session"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.help",
      "kind": "command",
      "title": "/help",
      "summary": "Show this help",
      "aliases": [
        "/help",
        "help",
        "/h",
        "h",
        "/?",
        "?"
      ],
      "keywords": [
        "command",
        "core",
        "help"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/help"
        },
        {
          "type": "rest",
          "target": "/v1/commands/help"
        },
        {
          "type": "gateway-command",
          "target": "/help"
        },
        {
          "type": "agent-tool-command",
          "target": "/help"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/help",
          "description": "Show this help"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.hf",
      "kind": "command",
      "title": "/hf",
      "summary": "Show HF token status (set / not set)",
      "aliases": [
        "/hf",
        "hf"
      ],
      "keywords": [
        "command",
        "core",
        "hf",
        "clear",
        "cancel"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/hf"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/hf",
          "description": "Show HF token status (set / not set)"
        },
        {
          "signature": "/hf <token>",
          "description": "Save Hugging Face access token to ~/.omnius/hf_token and unblock the active gated download"
        },
        {
          "signature": "/hf clear",
          "description": "Remove the persisted HF token"
        },
        {
          "signature": "/hf cancel",
          "description": "Cancel any pending HF token prompt and fall back immediately"
        }
      ],
      "subcommands": [
        "clear",
        "cancel"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": true,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.host",
      "kind": "command",
      "title": "/host",
      "summary": "Set bind host:port (OMNIUS_HOST) and restart daemon",
      "aliases": [
        "/host",
        "host"
      ],
      "keywords": [
        "command",
        "network",
        "host"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/host"
        },
        {
          "type": "rest",
          "target": "/v1/commands/host"
        },
        {
          "type": "gateway-command",
          "target": "/host"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/host <host[:port]>",
          "description": "Set bind host:port (OMNIUS_HOST) and restart daemon"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.image",
      "kind": "command",
      "title": "/image",
      "summary": "Open image-generation model/setup menu",
      "aliases": [
        "/image",
        "image"
      ],
      "keywords": [
        "command",
        "media",
        "image",
        "--model",
        "setup",
        "list"
      ],
      "maturity": "stable",
      "layer": "media",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/image"
        },
        {
          "type": "rest",
          "target": "/v1/commands/image"
        },
        {
          "type": "gateway-command",
          "target": "/image"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/image",
          "description": "Open image-generation model/setup menu"
        },
        {
          "signature": "/image <prompt>",
          "description": "Generate an image from a prompt and show an ASCII preview"
        },
        {
          "signature": "/image --model <model> <prompt>",
          "description": "Generate with an explicit image model"
        },
        {
          "signature": "/image setup <ollama|diffusers|sdcpp>",
          "description": "Show setup commands for an image-generation backend"
        },
        {
          "signature": "/image list",
          "description": "List image models by category, quality, size, and hardware fit"
        }
      ],
      "subcommands": [
        "--model",
        "setup",
        "list"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.indicator",
      "kind": "command",
      "title": "/indicator",
      "summary": "Start the native system indicator and report readiness",
      "aliases": [
        "/indicator",
        "indicator",
        "/tray",
        "tray"
      ],
      "keywords": [
        "command",
        "ui",
        "indicator",
        "start",
        "status"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/indicator"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/indicator",
          "description": "Start the native system indicator and report readiness"
        },
        {
          "signature": "/indicator start",
          "description": "Start the native system indicator and report readiness"
        },
        {
          "signature": "/indicator status",
          "description": "Report native system indicator readiness and daemon health"
        },
        {
          "signature": "/tray",
          "description": "Alias for /indicator"
        },
        {
          "signature": "/tray start",
          "description": "Alias for /indicator start"
        },
        {
          "signature": "/tray status",
          "description": "Alias for /indicator status"
        }
      ],
      "subcommands": [
        "start",
        "status"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.ingest",
      "kind": "command",
      "title": "/ingest",
      "summary": "Ingest an audio, PDF, or text file into memory",
      "aliases": [
        "/ingest",
        "ingest"
      ],
      "keywords": [
        "command",
        "media",
        "ingest"
      ],
      "maturity": "stable",
      "layer": "media",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/ingest"
        },
        {
          "type": "rest",
          "target": "/v1/commands/ingest"
        },
        {
          "type": "gateway-command",
          "target": "/ingest"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/ingest <file>",
          "description": "Ingest an audio, PDF, or text file into memory"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.init",
      "kind": "command",
      "title": "Initialize agent discovery guidance",
      "summary": "Create or update managed Omnius discovery blocks in project guidance while preserving user content.",
      "aliases": [
        "omnius init"
      ],
      "keywords": [
        "AGENTS.md",
        "OMNIUS.md",
        "check",
        "dry-run"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "cli",
          "target": "omnius init [--check|--dry-run|--json]"
        }
      ],
      "references": [
        {
          "type": "guide",
          "target": "docs/getting-started/install.md",
          "relation": "usage"
        }
      ],
      "related": [
        "operation.install-discovery",
        "overview"
      ]
    },
    {
      "id": "command.insights",
      "kind": "command",
      "title": "/insights",
      "summary": "Show historical session insights",
      "aliases": [
        "/insights",
        "insights"
      ],
      "keywords": [
        "command",
        "core",
        "insights"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/insights"
        },
        {
          "type": "rest",
          "target": "/v1/commands/insights"
        },
        {
          "type": "gateway-command",
          "target": "/insights"
        },
        {
          "type": "agent-tool-command",
          "target": "/insights"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/insights",
          "description": "Show historical session insights"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.ipfs",
      "kind": "command",
      "title": "/ipfs",
      "summary": "Show IPFS/Helia status",
      "aliases": [
        "/ipfs",
        "ipfs"
      ],
      "keywords": [
        "command",
        "network",
        "ipfs",
        "pin",
        "publish",
        "share",
        "import"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/ipfs"
        },
        {
          "type": "rest",
          "target": "/v1/commands/ipfs"
        },
        {
          "type": "gateway-command",
          "target": "/ipfs"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/ipfs",
          "description": "Show IPFS/Helia status"
        },
        {
          "signature": "/ipfs pin <cid>",
          "description": "Pin an IPFS CID"
        },
        {
          "signature": "/ipfs publish",
          "description": "Publish identity snapshot to IPFS"
        },
        {
          "signature": "/ipfs share <tool|skill> <name>",
          "description": "Share a tool or skill through IPFS"
        },
        {
          "signature": "/ipfs import <cid>",
          "description": "Import a shared IPFS tool or skill reference"
        }
      ],
      "subcommands": [
        "pin",
        "publish",
        "share",
        "import"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.listen",
      "kind": "command",
      "title": "/listen",
      "summary": "Toggle live microphone transcription (Whisper)",
      "aliases": [
        "/listen",
        "listen",
        "/mic",
        "mic"
      ],
      "keywords": [
        "command",
        "media",
        "listen",
        "manual",
        "auto",
        "stop"
      ],
      "maturity": "stable",
      "layer": "media",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/listen"
        },
        {
          "type": "rest",
          "target": "/v1/commands/listen"
        },
        {
          "type": "gateway-command",
          "target": "/listen"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/listen",
          "description": "Toggle live microphone transcription (Whisper)"
        },
        {
          "signature": "/mic",
          "description": "Alias for /listen"
        },
        {
          "signature": "/listen <model>",
          "description": "Set model: tiny, base, small, medium, large"
        },
        {
          "signature": "/listen manual",
          "description": "Manual mode - press Enter to submit (turns off auto)"
        },
        {
          "signature": "/listen auto",
          "description": "Auto-submit after 3s silence (blinking indicator)"
        },
        {
          "signature": "/listen stop",
          "description": "Stop listening"
        }
      ],
      "subcommands": [
        "manual",
        "auto",
        "stop"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.live",
      "kind": "command",
      "title": "/live",
      "summary": "Open live sensor stream menu for video/audio context",
      "aliases": [
        "/live",
        "live"
      ],
      "keywords": [
        "command",
        "core",
        "live",
        "status",
        "run",
        "chat",
        "camera",
        "resolution",
        "fps",
        "rotate",
        "infer",
        "clip",
        "stop"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/live"
        },
        {
          "type": "rest",
          "target": "/v1/commands/live"
        },
        {
          "type": "gateway-command",
          "target": "/live"
        },
        {
          "type": "agent-tool-command",
          "target": "/live"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/live",
          "description": "Open live sensor stream menu for video/audio context"
        },
        {
          "signature": "/live status",
          "description": "Show live sensor devices, selected streams, and latest snapshot"
        },
        {
          "signature": "/live run [agent]",
          "description": "Start low-latency video/audio feedback; agent enables background PFC review"
        },
        {
          "signature": "/live chat",
          "description": "Start low-latency voicechat with live audio/video context and async agent review"
        },
        {
          "signature": "/live camera <device>",
          "description": "Select a camera and render an ASCII preview"
        },
        {
          "signature": "/live resolution [camera] 720p|1080p|1440p|4k|native",
          "description": "Set per-camera live stream resolution (default 1080p)"
        },
        {
          "signature": "/live fps [camera] 1|2|4|8|12|15|24|30",
          "description": "Set per-camera live stream FPS (default 8)"
        },
        {
          "signature": "/live camera-on|camera-off [camera]",
          "description": "Enable or disable an individual live camera stream"
        },
        {
          "signature": "/live rotate auto|cw|ccw|180|none [camera]",
          "description": "Detect or set persistent camera orientation correction"
        },
        {
          "signature": "/live infer [now|on|off]",
          "description": "Toggle or run camera object/location inference"
        },
        {
          "signature": "/live clip [on|off]",
          "description": "Toggle CLIP visual-memory recognition on live frames"
        },
        {
          "signature": "/live audio|asr|sounds on|off",
          "description": "Toggle live audio context streams"
        },
        {
          "signature": "/live stop",
          "description": "Disable all live sensor streams"
        }
      ],
      "subcommands": [
        "status",
        "run",
        "chat",
        "camera",
        "resolution",
        "fps",
        "rotate",
        "infer",
        "clip",
        "stop"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.livechat",
      "kind": "command",
      "title": "/livechat",
      "summary": "Alias for /live chat, used by the top live button",
      "aliases": [
        "/livechat",
        "livechat"
      ],
      "keywords": [
        "command",
        "core",
        "livechat"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/livechat"
        },
        {
          "type": "rest",
          "target": "/v1/commands/livechat"
        },
        {
          "type": "gateway-command",
          "target": "/livechat"
        },
        {
          "type": "agent-tool-command",
          "target": "/livechat"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/livechat",
          "description": "Alias for /live chat, used by the top live button"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.mcp",
      "kind": "command",
      "title": "/mcp",
      "summary": "Show MCP server/tool status and controls",
      "aliases": [
        "/mcp",
        "mcp",
        "/mcps",
        "mcps"
      ],
      "keywords": [
        "command",
        "tools",
        "mcp",
        "reload"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/mcp"
        },
        {
          "type": "rest",
          "target": "/v1/commands/mcp"
        },
        {
          "type": "gateway-command",
          "target": "/mcp"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/mcp",
          "description": "Show MCP server/tool status and controls"
        },
        {
          "signature": "/mcp reload",
          "description": "Reload MCP servers and tools"
        }
      ],
      "subcommands": [
        "reload"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.memory",
      "kind": "command",
      "title": "/memory",
      "summary": "Toggle memory visualizer - graph/episodes/concepts/timeline",
      "aliases": [
        "/memory",
        "memory",
        "/mem",
        "mem"
      ],
      "keywords": [
        "command",
        "memory",
        "memory",
        "graph",
        "episodes",
        "concepts",
        "timeline"
      ],
      "maturity": "stable",
      "layer": "memory",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/memory"
        },
        {
          "type": "rest",
          "target": "/v1/commands/memory"
        },
        {
          "type": "gateway-command",
          "target": "/memory"
        },
        {
          "type": "agent-tool-command",
          "target": "/memory"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/memory",
          "description": "Toggle memory visualizer - graph/episodes/concepts/timeline"
        },
        {
          "signature": "/memory graph",
          "description": "Show knowledge graph view"
        },
        {
          "signature": "/memory episodes",
          "description": "Show recent episodes view"
        },
        {
          "signature": "/memory concepts",
          "description": "Show concept clusters view"
        },
        {
          "signature": "/memory timeline",
          "description": "Show temporal timeline view"
        }
      ],
      "subcommands": [
        "graph",
        "episodes",
        "concepts",
        "timeline"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.metabolize",
      "kind": "command",
      "title": "/metabolize",
      "summary": "Run memory maintenance: import deferred memory, prune episodes, compact graph stores",
      "aliases": [
        "/metabolize",
        "metabolize",
        "/metab",
        "metab"
      ],
      "keywords": [
        "command",
        "memory",
        "metabolize"
      ],
      "maturity": "stable",
      "layer": "memory",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/metabolize"
        },
        {
          "type": "rest",
          "target": "/v1/commands/metabolize"
        },
        {
          "type": "gateway-command",
          "target": "/metabolize"
        },
        {
          "type": "agent-tool-command",
          "target": "/metabolize"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/metabolize [--dry-run] [--verbose] [--min-score <n>]",
          "description": "Run memory maintenance: import deferred memory, prune episodes, compact graph stores"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.metrics",
      "kind": "command",
      "title": "/metrics",
      "summary": "Show runtime metrics: tokens, context window, throughput, and tool usage",
      "aliases": [
        "/metrics",
        "metrics"
      ],
      "keywords": [
        "command",
        "session",
        "metrics"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/metrics"
        },
        {
          "type": "rest",
          "target": "/v1/commands/metrics"
        },
        {
          "type": "gateway-command",
          "target": "/metrics"
        },
        {
          "type": "agent-tool-command",
          "target": "/metrics"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/metrics",
          "description": "Show runtime metrics: tokens, context window, throughput, and tool usage"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.model",
      "kind": "command",
      "title": "/model",
      "summary": "Select from available models",
      "aliases": [
        "/model",
        "model"
      ],
      "keywords": [
        "command",
        "model",
        "model"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/model"
        },
        {
          "type": "rest",
          "target": "/v1/commands/model"
        },
        {
          "type": "gateway-command",
          "target": "/model"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/model",
          "description": "Select from available models"
        },
        {
          "signature": "/model <name>",
          "description": "Switch to a specific model"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.models",
      "kind": "command",
      "title": "/models",
      "summary": "List all available models",
      "aliases": [
        "/models",
        "models"
      ],
      "keywords": [
        "command",
        "model",
        "models",
        "3d",
        "cad",
        "viewer",
        "hf",
        "evict",
        "cleanup"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/models"
        },
        {
          "type": "rest",
          "target": "/v1/commands/models"
        },
        {
          "type": "gateway-command",
          "target": "/models"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/models",
          "description": "List all available models"
        },
        {
          "signature": "/models",
          "description": "Show unified ~/.omnius model store: disk usage, cached repos, last-used"
        },
        {
          "signature": "/models 3d",
          "description": "Select CAD/3D generation and reconstruction model adapters"
        },
        {
          "signature": "/models cad",
          "description": "Select text-to-CAD model adapters such as cad0"
        },
        {
          "signature": "/models viewer [file]",
          "description": "Start a temporary standalone CAD/3D viewer endpoint"
        },
        {
          "signature": "/models hf list --modality 3d",
          "description": "List curated and installed Hugging Face CAD/3D adapters"
        },
        {
          "signature": "/models evict <repo>",
          "description": "Remove a cached HF repo from the unified store to reclaim disk"
        },
        {
          "signature": "/models evict --free <GB>",
          "description": "LRU-evict cached models until <GB> of free disk is available"
        },
        {
          "signature": "/models cleanup",
          "description": "Migrate legacy per-repo .omnius/{image,video,audio}-gen caches into the unified store and delete the originals"
        },
        {
          "signature": "/models cleanup --dry-run",
          "description": "Preview /models cleanup without touching disk"
        }
      ],
      "subcommands": [
        "3d",
        "cad",
        "viewer",
        "hf",
        "evict",
        "cleanup"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.mouse",
      "kind": "command",
      "title": "/mouse",
      "summary": "Toggle terminal mouse tracking",
      "aliases": [
        "/mouse",
        "mouse"
      ],
      "keywords": [
        "command",
        "ui",
        "mouse"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/mouse"
        },
        {
          "type": "rest",
          "target": "/v1/commands/mouse"
        },
        {
          "type": "gateway-command",
          "target": "/mouse"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/mouse",
          "description": "Toggle terminal mouse tracking"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.music",
      "kind": "command",
      "title": "/music",
      "summary": "Open music-generation model/setup menu",
      "aliases": [
        "/music",
        "music"
      ],
      "keywords": [
        "command",
        "core",
        "music",
        "--model",
        "setup",
        "list"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/music"
        },
        {
          "type": "rest",
          "target": "/v1/commands/music"
        },
        {
          "type": "gateway-command",
          "target": "/music"
        },
        {
          "type": "agent-tool-command",
          "target": "/music"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/music",
          "description": "Open music-generation model/setup menu"
        },
        {
          "signature": "/music <prompt>",
          "description": "Generate a music clip from a prompt"
        },
        {
          "signature": "/music --model <model> <prompt>",
          "description": "Generate music with an explicit music model"
        },
        {
          "signature": "/music setup <transformers|audiocraft|stable-audio|diffusers>",
          "description": "Show setup commands for a music-generation backend"
        },
        {
          "signature": "/music list",
          "description": "List music models by category, quality, size, and hardware fit"
        }
      ],
      "subcommands": [
        "--model",
        "setup",
        "list"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.neovim",
      "kind": "command",
      "title": "/neovim",
      "summary": "Toggle embedded Neovim editor (Ctrl+N to switch focus)",
      "aliases": [
        "/neovim",
        "neovim",
        "/nvim",
        "nvim",
        "/vim",
        "vim"
      ],
      "keywords": [
        "command",
        "ui",
        "neovim"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/neovim"
        },
        {
          "type": "rest",
          "target": "/v1/commands/neovim"
        },
        {
          "type": "gateway-command",
          "target": "/neovim"
        },
        {
          "type": "agent-tool-command",
          "target": "/neovim"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/neovim",
          "description": "Toggle embedded Neovim editor (Ctrl+N to switch focus)"
        },
        {
          "signature": "/neovim <file>",
          "description": "Open file in embedded Neovim editor"
        },
        {
          "signature": "/nvim <file>",
          "description": "Alias for /neovim <file>"
        },
        {
          "signature": "/vim <file>",
          "description": "Alias for /neovim <file>"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.network",
      "kind": "command",
      "title": "/network",
      "summary": "Quick network access helper",
      "aliases": [
        "/network",
        "network",
        "/k",
        "k"
      ],
      "keywords": [
        "command",
        "network",
        "network",
        "config"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/network"
        },
        {
          "type": "rest",
          "target": "/v1/commands/network"
        },
        {
          "type": "gateway-command",
          "target": "/network"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/k <any|lan|loopback|config>",
          "description": "Quick network access helper"
        },
        {
          "signature": "/network config",
          "description": "Interactive network access menu"
        }
      ],
      "subcommands": [
        "config"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.nexus",
      "kind": "command",
      "title": "/nexus",
      "summary": "Show nexus P2P network status",
      "aliases": [
        "/nexus",
        "nexus"
      ],
      "keywords": [
        "command",
        "network",
        "nexus",
        "connect",
        "name",
        "restart",
        "disconnect",
        "wallet"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/nexus"
        },
        {
          "type": "rest",
          "target": "/v1/commands/nexus"
        },
        {
          "type": "gateway-command",
          "target": "/nexus"
        },
        {
          "type": "agent-tool-command",
          "target": "/nexus"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/nexus",
          "description": "Show nexus P2P network status"
        },
        {
          "signature": "/nexus connect",
          "description": "Connect to the agent mesh network"
        },
        {
          "signature": "/nexus name <name>",
          "description": "Set custom agent name (persists globally across all Omnius instances)"
        },
        {
          "signature": "/nexus name",
          "description": "Show current agent name"
        },
        {
          "signature": "/nexus restart",
          "description": "Kill daemon and reconnect (picks up new version)"
        },
        {
          "signature": "/nexus restart --clean",
          "description": "Restart + clear metering data for fresh stats"
        },
        {
          "signature": "/nexus disconnect",
          "description": "Kill daemon without reconnecting"
        },
        {
          "signature": "/nexus wallet",
          "description": "Show wallet address and x402 payment status"
        }
      ],
      "subcommands": [
        "connect",
        "name",
        "restart",
        "disconnect",
        "wallet"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.ollama",
      "kind": "command",
      "title": "/ollama",
      "summary": "Dry-run stale Ollama pool process cleanup",
      "aliases": [
        "/ollama",
        "ollama"
      ],
      "keywords": [
        "command",
        "core",
        "ollama",
        "cleanup"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/ollama"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/ollama cleanup",
          "description": "Dry-run stale Ollama pool process cleanup"
        },
        {
          "signature": "/ollama cleanup --execute",
          "description": "Terminate guarded stale Ollama pool runners"
        }
      ],
      "subcommands": [
        "cleanup"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": false,
        "destructive": true,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed"
      ]
    },
    {
      "id": "command.p2p",
      "kind": "command",
      "title": "/p2p",
      "summary": "Join the P2P agent mesh network",
      "aliases": [
        "/p2p",
        "p2p"
      ],
      "keywords": [
        "command",
        "network",
        "p2p",
        "start",
        "status",
        "stop"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/p2p"
        },
        {
          "type": "rest",
          "target": "/v1/commands/p2p"
        },
        {
          "type": "gateway-command",
          "target": "/p2p"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/p2p start",
          "description": "Join the P2P agent mesh network"
        },
        {
          "signature": "/p2p status",
          "description": "Show mesh peers and rooms"
        },
        {
          "signature": "/p2p stop",
          "description": "Leave the mesh network"
        }
      ],
      "subcommands": [
        "start",
        "status",
        "stop"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.parallel",
      "kind": "command",
      "title": "/parallel",
      "summary": "Show current Ollama parallel inference slots",
      "aliases": [
        "/parallel",
        "parallel"
      ],
      "keywords": [
        "command",
        "runtime",
        "parallel"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/parallel"
        },
        {
          "type": "rest",
          "target": "/v1/commands/parallel"
        },
        {
          "type": "gateway-command",
          "target": "/parallel"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/parallel",
          "description": "Show current Ollama parallel inference slots"
        },
        {
          "signature": "/parallel <1-15>",
          "description": "Set parallel slots (restarts Ollama, max 15)"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.paste",
      "kind": "command",
      "title": "/paste",
      "summary": "Attach clipboard image content to the current or next prompt",
      "aliases": [
        "/paste",
        "paste"
      ],
      "keywords": [
        "command",
        "media",
        "paste"
      ],
      "maturity": "stable",
      "layer": "media",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/paste"
        },
        {
          "type": "gateway-command",
          "target": "/paste"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/paste",
          "description": "Attach clipboard image content to the current or next prompt"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.pause",
      "kind": "command",
      "title": "/pause",
      "summary": "Pause after current turn finishes (gentle halt, /resume to continue)",
      "aliases": [
        "/pause",
        "pause"
      ],
      "keywords": [
        "command",
        "session",
        "pause"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/pause"
        },
        {
          "type": "gateway-command",
          "target": "/pause"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/pause",
          "description": "Pause after current turn finishes (gentle halt, /resume to continue)"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.personality",
      "kind": "command",
      "title": "/personality",
      "summary": "Alias family for response style/personality controls",
      "aliases": [
        "/personality",
        "personality"
      ],
      "keywords": [
        "command",
        "ui",
        "personality"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/personality"
        },
        {
          "type": "rest",
          "target": "/v1/commands/personality"
        },
        {
          "type": "gateway-command",
          "target": "/personality"
        },
        {
          "type": "agent-tool-command",
          "target": "/personality"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/personality <preset>",
          "description": "Alias family for response style/personality controls"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.platforms",
      "kind": "command",
      "title": "/platforms",
      "summary": "Show gateway platform state",
      "aliases": [
        "/platforms",
        "platforms",
        "/gateway",
        "gateway"
      ],
      "keywords": [
        "command",
        "core",
        "platforms",
        "status",
        "menu",
        "setup",
        "onboard",
        "config",
        "enable",
        "disable",
        "set",
        "clear"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/platforms"
        },
        {
          "type": "rest",
          "target": "/v1/commands/platforms"
        },
        {
          "type": "gateway-command",
          "target": "/platforms"
        },
        {
          "type": "agent-tool-command",
          "target": "/platforms"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/platforms",
          "description": "Show gateway platform state"
        },
        {
          "signature": "/platforms status",
          "description": "Show gateway platform state"
        },
        {
          "signature": "/platforms menu",
          "description": "Open interactive platform connectivity menu"
        },
        {
          "signature": "/platforms setup",
          "description": "Open platform onboarding menu"
        },
        {
          "signature": "/platforms onboard",
          "description": "Open platform onboarding menu"
        },
        {
          "signature": "/platforms config",
          "description": "Show redacted platform adapter configuration"
        },
        {
          "signature": "/platforms enable <id>",
          "description": "Enable a platform adapter"
        },
        {
          "signature": "/platforms disable <id>",
          "description": "Disable a platform adapter"
        },
        {
          "signature": "/platforms set <id> token-env <ENV>",
          "description": "Set adapter token environment variable"
        },
        {
          "signature": "/platforms set <id> base-url <url>",
          "description": "Set adapter base URL or webhook URL"
        },
        {
          "signature": "/platforms set <id> target <target>",
          "description": "Set adapter default channel, room, or target"
        },
        {
          "signature": "/platforms set <id> mode <polling|webhook>",
          "description": "Set adapter polling or webhook mode"
        },
        {
          "signature": "/platforms clear <id> <key>",
          "description": "Clear saved adapter token, token-env, base-url, or target"
        },
        {
          "signature": "/gateway",
          "description": "Alias for /platforms"
        },
        {
          "signature": "/gateway menu",
          "description": "Alias for /platforms menu"
        }
      ],
      "subcommands": [
        "status",
        "menu",
        "setup",
        "onboard",
        "config",
        "enable",
        "disable",
        "set",
        "clear"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.plugins",
      "kind": "command",
      "title": "/plugins",
      "summary": "List or manage plugins",
      "aliases": [
        "/plugins",
        "plugins"
      ],
      "keywords": [
        "command",
        "planned",
        "plugins"
      ],
      "maturity": "planned",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/plugins"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/plugins",
          "description": "List or manage plugins",
          "implementationStatus": "planned"
        }
      ],
      "subcommands": [],
      "implementation_status": "planned",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "The command is planned and has no executable implementation",
        "Calling it through the REST command proxy; this command is not REST-exposed"
      ]
    },
    {
      "id": "command.pointcloud",
      "kind": "command",
      "title": "/pointcloud",
      "summary": "Open point-cloud generation model/setup menu",
      "aliases": [
        "/pointcloud",
        "pointcloud",
        "/points",
        "points",
        "/pcl",
        "pcl",
        "/point",
        "point"
      ],
      "keywords": [
        "command",
        "media",
        "pointcloud",
        "--image",
        "setup",
        "list",
        "prewarm"
      ],
      "maturity": "stable",
      "layer": "media",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/pointcloud"
        },
        {
          "type": "rest",
          "target": "/v1/commands/pointcloud"
        },
        {
          "type": "gateway-command",
          "target": "/pointcloud"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/pointcloud",
          "description": "Open point-cloud generation model/setup menu"
        },
        {
          "signature": "/pointcloud --image <path>",
          "description": "Generate a 3D point cloud PLY from an image using depth estimation"
        },
        {
          "signature": "/pointcloud --image <path> --model <model>",
          "description": "Generate with an explicit depth model (depth-anything-v3-* or mda-*)"
        },
        {
          "signature": "/pointcloud --image <path1,path2> --backend mda",
          "description": "Multi-view depth fusion from comma-separated image paths"
        },
        {
          "signature": "/pointcloud setup <depth-anything|mda>",
          "description": "Show setup commands for a point-cloud backend"
        },
        {
          "signature": "/pointcloud list",
          "description": "List point-cloud models by backend, quality, and VRAM fit"
        },
        {
          "signature": "/pointcloud prewarm",
          "description": "Download and warm up the selected depth model"
        },
        {
          "signature": "/points <args>",
          "description": "Alias for /pointcloud"
        },
        {
          "signature": "/pcl <args>",
          "description": "Alias for /pointcloud"
        }
      ],
      "subcommands": [
        "--image",
        "setup",
        "list",
        "prewarm"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.prompt",
      "kind": "command",
      "title": "/prompt",
      "summary": "Show or edit the active prompt template",
      "aliases": [
        "/prompt",
        "prompt"
      ],
      "keywords": [
        "command",
        "ui",
        "prompt"
      ],
      "maturity": "planned",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/prompt"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/prompt",
          "description": "Show or edit the active prompt template",
          "implementationStatus": "planned"
        }
      ],
      "subcommands": [],
      "implementation_status": "planned",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "The command is planned and has no executable implementation",
        "Calling it through the REST command proxy; this command is not REST-exposed"
      ]
    },
    {
      "id": "command.provider",
      "kind": "command",
      "title": "/provider",
      "summary": "Show or select provider profile",
      "aliases": [
        "/provider",
        "provider"
      ],
      "keywords": [
        "command",
        "network",
        "provider"
      ],
      "maturity": "planned",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/provider"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/provider",
          "description": "Show or select provider profile",
          "implementationStatus": "planned"
        }
      ],
      "subcommands": [],
      "implementation_status": "planned",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "The command is planned and has no executable implementation",
        "Calling it through the REST command proxy; this command is not REST-exposed"
      ]
    },
    {
      "id": "command.prune",
      "kind": "command",
      "title": "/prune",
      "summary": "Shrink knowledge.db in the background: evict low-signal graph nodes (archived), then VACUUM. 'infer' = model-guided sleep consolidation. No arg shows stats + usage",
      "aliases": [
        "/prune",
        "prune"
      ],
      "keywords": [
        "command",
        "memory",
        "prune"
      ],
      "maturity": "stable",
      "layer": "memory",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/prune"
        },
        {
          "type": "rest",
          "target": "/v1/commands/prune"
        },
        {
          "type": "gateway-command",
          "target": "/prune"
        },
        {
          "type": "agent-tool-command",
          "target": "/prune"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/prune [now|dry|infer|aggressive|stats] [--target <n>]",
          "description": "Shrink knowledge.db in the background: evict low-signal graph nodes (archived), then VACUUM. 'infer' = model-guided sleep consolidation. No arg shows stats + usage"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.queue",
      "kind": "command",
      "title": "/queue",
      "summary": "Queue a prompt for the next turn without interrupting the current run",
      "aliases": [
        "/queue",
        "queue",
        "/q",
        "q"
      ],
      "keywords": [
        "command",
        "session",
        "queue"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/queue"
        },
        {
          "type": "rest",
          "target": "/v1/commands/queue"
        },
        {
          "type": "gateway-command",
          "target": "/queue"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/queue <prompt>",
          "description": "Queue a prompt for the next turn without interrupting the current run"
        },
        {
          "signature": "/q <prompt>",
          "description": "Alias for /queue <prompt>"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.quit",
      "kind": "command",
      "title": "/quit",
      "summary": "Exit omnius",
      "aliases": [
        "/quit",
        "quit",
        "/exit",
        "exit"
      ],
      "keywords": [
        "command",
        "core",
        "quit"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/quit"
        },
        {
          "type": "gateway-command",
          "target": "/quit"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/quit",
          "description": "Exit omnius"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.realtime",
      "kind": "command",
      "title": "/realtime",
      "summary": "Toggle short spoken-dialogue mode for ASR/TTS-backed chat",
      "aliases": [
        "/realtime",
        "realtime"
      ],
      "keywords": [
        "command",
        "core",
        "realtime"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/realtime"
        },
        {
          "type": "rest",
          "target": "/v1/commands/realtime"
        },
        {
          "type": "gateway-command",
          "target": "/realtime"
        },
        {
          "type": "agent-tool-command",
          "target": "/realtime"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/realtime",
          "description": "Toggle short spoken-dialogue mode for ASR/TTS-backed chat"
        },
        {
          "signature": "/realtime on|off|status",
          "description": "Set or inspect realtime conversation mode"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.reasoning",
      "kind": "command",
      "title": "/reasoning",
      "summary": "Alias family for thinking/reasoning controls",
      "aliases": [
        "/reasoning",
        "reasoning"
      ],
      "keywords": [
        "command",
        "ui",
        "reasoning"
      ],
      "maturity": "planned",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/reasoning"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/reasoning",
          "description": "Alias family for thinking/reasoning controls",
          "implementationStatus": "planned"
        }
      ],
      "subcommands": [],
      "implementation_status": "planned",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "The command is planned and has no executable implementation",
        "Calling it through the REST command proxy; this command is not REST-exposed"
      ]
    },
    {
      "id": "command.reload-mcp",
      "kind": "command",
      "title": "/reload-mcp",
      "summary": "Reload MCP servers and tools",
      "aliases": [
        "/reload-mcp",
        "reload-mcp"
      ],
      "keywords": [
        "command",
        "planned",
        "reload-mcp"
      ],
      "maturity": "planned",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/reload-mcp"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/reload-mcp",
          "description": "Reload MCP servers and tools",
          "implementationStatus": "planned"
        }
      ],
      "subcommands": [],
      "implementation_status": "planned",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "The command is planned and has no executable implementation",
        "Calling it through the REST command proxy; this command is not REST-exposed"
      ]
    },
    {
      "id": "command.reminder",
      "kind": "command",
      "title": "/reminder",
      "summary": "List scoped TUI reminders",
      "aliases": [
        "/reminder",
        "reminder",
        "/remind",
        "remind",
        "/reminders",
        "reminders"
      ],
      "keywords": [
        "command",
        "runtime",
        "reminder",
        "in"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/reminder"
        },
        {
          "type": "rest",
          "target": "/v1/commands/reminder"
        },
        {
          "type": "gateway-command",
          "target": "/reminder"
        },
        {
          "type": "agent-tool-command",
          "target": "/reminder"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/reminder [list|all]",
          "description": "List scoped TUI reminders"
        },
        {
          "signature": "/remind <when> <message>",
          "description": "Set a scoped minimal reminder; a due time is required"
        },
        {
          "signature": "/remind in 30m <message>",
          "description": "Set a scoped minimal reminder with a relative due time"
        },
        {
          "signature": "/reminders",
          "description": "Alias for /reminder"
        }
      ],
      "subcommands": [
        "in"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.resume",
      "kind": "command",
      "title": "/resume",
      "summary": "Resume a paused/stopped task or named saved session when available",
      "aliases": [
        "/resume",
        "resume"
      ],
      "keywords": [
        "command",
        "session",
        "resume"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/resume"
        },
        {
          "type": "gateway-command",
          "target": "/resume"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/resume",
          "description": "Resume a paused/stopped task or named saved session when available"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.retry",
      "kind": "command",
      "title": "/retry",
      "summary": "Retry the last submitted request",
      "aliases": [
        "/retry",
        "retry"
      ],
      "keywords": [
        "command",
        "session",
        "retry"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/retry"
        },
        {
          "type": "gateway-command",
          "target": "/retry"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/retry",
          "description": "Retry the last submitted request"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.rollback",
      "kind": "command",
      "title": "/rollback",
      "summary": "List checkpoints or restore an explicit checkpoint when policy allows",
      "aliases": [
        "/rollback",
        "rollback"
      ],
      "keywords": [
        "command",
        "session",
        "rollback"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/rollback"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/rollback [checkpoint]",
          "description": "List checkpoints or restore an explicit checkpoint when policy allows"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": true,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.scheduler",
      "kind": "command",
      "title": "/scheduler",
      "summary": "Scheduled tasks control panel (list/kill/toggle)",
      "aliases": [
        "/scheduler",
        "scheduler"
      ],
      "keywords": [
        "command",
        "runtime",
        "scheduler",
        "menu",
        "list",
        "kill"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/scheduler"
        },
        {
          "type": "rest",
          "target": "/v1/commands/scheduler"
        },
        {
          "type": "gateway-command",
          "target": "/scheduler"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/scheduler",
          "description": "Scheduled tasks control panel (list/kill/toggle)"
        },
        {
          "signature": "/scheduler menu",
          "description": "Interactive scheduler menu (toggle/kill)"
        },
        {
          "signature": "/scheduler list",
          "description": "List all scheduled tasks and timers"
        },
        {
          "signature": "/scheduler kill",
          "description": "Kill schedulers + active runs (with escalation if needed)"
        }
      ],
      "subcommands": [
        "menu",
        "list",
        "kill"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.score",
      "kind": "command",
      "title": "/score",
      "summary": "Show inference capability scorecard (memory, compute, speed, models)",
      "aliases": [
        "/score",
        "score",
        "/inference",
        "inference"
      ],
      "keywords": [
        "command",
        "core",
        "score"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/score"
        },
        {
          "type": "rest",
          "target": "/v1/commands/score"
        },
        {
          "type": "gateway-command",
          "target": "/score"
        },
        {
          "type": "agent-tool-command",
          "target": "/score"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/score",
          "description": "Show inference capability scorecard (memory, compute, speed, models)"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.secrets",
      "kind": "command",
      "title": "/secrets",
      "summary": "List registered secrets",
      "aliases": [
        "/secrets",
        "secrets",
        "/secret",
        "secret",
        "/vault",
        "vault"
      ],
      "keywords": [
        "command",
        "secret",
        "secrets",
        "set",
        "delete"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/secrets"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/secrets",
          "description": "List registered secrets"
        },
        {
          "signature": "/secrets set <name> <value>",
          "description": "Register a secret for redacted tool use"
        },
        {
          "signature": "/secrets delete <name>",
          "description": "Remove a registered secret"
        }
      ],
      "subcommands": [
        "set",
        "delete"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": true,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.selfmodify",
      "kind": "command",
      "title": "/selfmodify",
      "summary": "Toggle agent self-modify mode for natural-language runtime commands",
      "aliases": [
        "/selfmodify",
        "selfmodify",
        "/selfmod",
        "selfmod",
        "/self-modify",
        "self-modify"
      ],
      "keywords": [
        "command",
        "runtime",
        "selfmodify",
        "on",
        "off",
        "status"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/selfmodify"
        },
        {
          "type": "rest",
          "target": "/v1/commands/selfmodify"
        },
        {
          "type": "gateway-command",
          "target": "/selfmodify"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/selfmodify",
          "description": "Toggle agent self-modify mode for natural-language runtime commands"
        },
        {
          "signature": "/selfmodify on",
          "description": "Allow the agent to decide when to invoke self-modifying slash commands"
        },
        {
          "signature": "/selfmodify off",
          "description": "Disable agent self-modifying slash-command access (default)"
        },
        {
          "signature": "/selfmodify status",
          "description": "Show current self-modify mode"
        }
      ],
      "subcommands": [
        "on",
        "off",
        "status"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.sessions",
      "kind": "command",
      "title": "/sessions",
      "summary": "Browse saved sessions",
      "aliases": [
        "/sessions",
        "sessions",
        "/session",
        "session"
      ],
      "keywords": [
        "command",
        "session",
        "sessions"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/sessions"
        },
        {
          "type": "rest",
          "target": "/v1/commands/sessions"
        },
        {
          "type": "gateway-command",
          "target": "/sessions"
        },
        {
          "type": "agent-tool-command",
          "target": "/sessions"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/sessions",
          "description": "Browse saved sessions"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.sethome",
      "kind": "command",
      "title": "/sethome",
      "summary": "Set the project home for gateway/session use",
      "aliases": [
        "/sethome",
        "sethome"
      ],
      "keywords": [
        "command",
        "planned",
        "sethome"
      ],
      "maturity": "planned",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/sethome"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/sethome",
          "description": "Set the project home for gateway/session use",
          "implementationStatus": "planned"
        }
      ],
      "subcommands": [],
      "implementation_status": "planned",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "The command is planned and has no executable implementation",
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.setup",
      "kind": "command",
      "title": "/setup",
      "summary": "Run the initial setup wizard again",
      "aliases": [
        "/setup",
        "setup",
        "/wizard",
        "wizard"
      ],
      "keywords": [
        "command",
        "runtime",
        "setup"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/setup"
        },
        {
          "type": "rest",
          "target": "/v1/commands/setup"
        },
        {
          "type": "gateway-command",
          "target": "/setup"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/setup",
          "description": "Run the initial setup wizard again"
        },
        {
          "signature": "/wizard",
          "description": "Alias for /setup"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.show",
      "kind": "command",
      "title": "Show a capability",
      "summary": "Expand one Omnius discovery entry by stable ID.",
      "aliases": [
        "omnius show"
      ],
      "keywords": [
        "expand",
        "entry",
        "json"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "cli",
          "target": "omnius show <id> [--json]"
        }
      ],
      "references": [
        {
          "type": "guide",
          "target": "docs/DISCOVERY.md",
          "relation": "usage"
        }
      ],
      "related": [
        "api.discovery",
        "command.discover"
      ]
    },
    {
      "id": "command.skillify",
      "kind": "command",
      "title": "/skillify",
      "summary": "Extract a reusable skill from the current session",
      "aliases": [
        "/skillify",
        "skillify"
      ],
      "keywords": [
        "command",
        "tools",
        "skillify"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/skillify"
        },
        {
          "type": "rest",
          "target": "/v1/commands/skillify"
        },
        {
          "type": "gateway-command",
          "target": "/skillify"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/skillify [request]",
          "description": "Extract a reusable skill from the current session"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.skills",
      "kind": "command",
      "title": "/skills",
      "summary": "List available AIWG skills",
      "aliases": [
        "/skills",
        "skills",
        "/skill",
        "skill"
      ],
      "keywords": [
        "command",
        "tools",
        "skills"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/skills"
        },
        {
          "type": "rest",
          "target": "/v1/commands/skills"
        },
        {
          "type": "gateway-command",
          "target": "/skills"
        },
        {
          "type": "agent-tool-command",
          "target": "/skills"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/skills",
          "description": "List available AIWG skills"
        },
        {
          "signature": "/skill",
          "description": "Alias for /skills"
        },
        {
          "signature": "/skills <keyword>",
          "description": "Filter skills by name or trigger"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.skin",
      "kind": "command",
      "title": "/skin",
      "summary": "Configure the visual skin/theme bundle",
      "aliases": [
        "/skin",
        "skin"
      ],
      "keywords": [
        "command",
        "ui",
        "skin"
      ],
      "maturity": "planned",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/skin"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/skin",
          "description": "Configure the visual skin/theme bundle",
          "implementationStatus": "planned"
        }
      ],
      "subcommands": [],
      "implementation_status": "planned",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "The command is planned and has no executable implementation",
        "Calling it through the REST command proxy; this command is not REST-exposed"
      ]
    },
    {
      "id": "command.sound",
      "kind": "command",
      "title": "/sound",
      "summary": "Open sound-effect model/setup menu",
      "aliases": [
        "/sound",
        "sound"
      ],
      "keywords": [
        "command",
        "core",
        "sound",
        "--model",
        "setup",
        "list"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/sound"
        },
        {
          "type": "rest",
          "target": "/v1/commands/sound"
        },
        {
          "type": "gateway-command",
          "target": "/sound"
        },
        {
          "type": "agent-tool-command",
          "target": "/sound"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/sound",
          "description": "Open sound-effect model/setup menu"
        },
        {
          "signature": "/sound <prompt>",
          "description": "Generate a sound effect or ambience clip from a prompt"
        },
        {
          "signature": "/sound --model <model> <prompt>",
          "description": "Generate sound with an explicit audio model"
        },
        {
          "signature": "/sound setup <diffusers|audiocraft|stable-audio|tangoflux>",
          "description": "Show setup commands for a sound-generation backend"
        },
        {
          "signature": "/sound list",
          "description": "List sound models by category, quality, size, and hardware fit"
        }
      ],
      "subcommands": [
        "--model",
        "setup",
        "list"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.sponsor",
      "kind": "command",
      "title": "/sponsor",
      "summary": "Sponsor inference - onboarding wizard or dashboard",
      "aliases": [
        "/sponsor",
        "sponsor"
      ],
      "keywords": [
        "command",
        "network",
        "sponsor",
        "status",
        "image",
        "video",
        "sound",
        "music",
        "pause",
        "remove"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/sponsor"
        },
        {
          "type": "rest",
          "target": "/v1/commands/sponsor"
        },
        {
          "type": "gateway-command",
          "target": "/sponsor"
        },
        {
          "type": "agent-tool-command",
          "target": "/sponsor"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/sponsor",
          "description": "Sponsor inference - onboarding wizard or dashboard"
        },
        {
          "signature": "/sponsor status",
          "description": "Show sponsor dashboard with usage metrics"
        },
        {
          "signature": "/sponsor image <prompt>",
          "description": "Generate an image on a sponsored peer"
        },
        {
          "signature": "/sponsor video <prompt>",
          "description": "Generate a video on a sponsored peer"
        },
        {
          "signature": "/sponsor sound <prompt>",
          "description": "Generate a sound effect on a sponsored peer"
        },
        {
          "signature": "/sponsor music <prompt>",
          "description": "Generate music on a sponsored peer"
        },
        {
          "signature": "/sponsor pause",
          "description": "Pause active sponsorship"
        },
        {
          "signature": "/sponsor remove",
          "description": "Remove sponsorship entirely"
        }
      ],
      "subcommands": [
        "status",
        "image",
        "video",
        "sound",
        "music",
        "pause",
        "remove"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.stats",
      "kind": "command",
      "title": "/stats",
      "summary": "Show session dashboard (metrics, tool usage, task history)",
      "aliases": [
        "/stats",
        "stats",
        "/dashboard",
        "dashboard"
      ],
      "keywords": [
        "command",
        "session",
        "stats"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/stats"
        },
        {
          "type": "rest",
          "target": "/v1/commands/stats"
        },
        {
          "type": "gateway-command",
          "target": "/stats"
        },
        {
          "type": "agent-tool-command",
          "target": "/stats"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/stats",
          "description": "Show session dashboard (metrics, tool usage, task history)"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.status",
      "kind": "command",
      "title": "/status",
      "summary": "Show overall runtime status",
      "aliases": [
        "/status",
        "status"
      ],
      "keywords": [
        "command",
        "planned",
        "status"
      ],
      "maturity": "planned",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/status"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/status",
          "description": "Show overall runtime status",
          "implementationStatus": "planned"
        }
      ],
      "subcommands": [],
      "implementation_status": "planned",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "The command is planned and has no executable implementation",
        "Calling it through the REST command proxy; this command is not REST-exposed"
      ]
    },
    {
      "id": "command.statusbar",
      "kind": "command",
      "title": "/statusbar",
      "summary": "Configure the status bar",
      "aliases": [
        "/statusbar",
        "statusbar",
        "/sb",
        "sb"
      ],
      "keywords": [
        "command",
        "ui",
        "statusbar"
      ],
      "maturity": "planned",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/statusbar"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/statusbar",
          "description": "Configure the status bar",
          "implementationStatus": "planned"
        },
        {
          "signature": "/sb",
          "description": "Alias for /statusbar",
          "implementationStatus": "planned"
        }
      ],
      "subcommands": [],
      "implementation_status": "planned",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "The command is planned and has no executable implementation",
        "Calling it through the REST command proxy; this command is not REST-exposed"
      ]
    },
    {
      "id": "command.stop",
      "kind": "command",
      "title": "/stop",
      "summary": "Kill current inference immediately and save state (/resume to continue)",
      "aliases": [
        "/stop",
        "stop"
      ],
      "keywords": [
        "command",
        "session",
        "stop"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/stop"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/stop",
          "description": "Kill current inference immediately and save state (/resume to continue)"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": true,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.storage",
      "kind": "command",
      "title": "/storage",
      "summary": "Show .omnius storage usage and safety summary",
      "aliases": [
        "/storage",
        "storage"
      ],
      "keywords": [
        "command",
        "admin",
        "storage"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/storage"
        },
        {
          "type": "rest",
          "target": "/v1/commands/storage"
        },
        {
          "type": "gateway-command",
          "target": "/storage"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/storage",
          "description": "Show .omnius storage usage and safety summary"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.stream",
      "kind": "command",
      "title": "/stream",
      "summary": "Toggle real-time token streaming (pastel syntax highlighting)",
      "aliases": [
        "/stream",
        "stream"
      ],
      "keywords": [
        "command",
        "core",
        "stream"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/stream"
        },
        {
          "type": "rest",
          "target": "/v1/commands/stream"
        },
        {
          "type": "gateway-command",
          "target": "/stream"
        },
        {
          "type": "agent-tool-command",
          "target": "/stream"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/stream",
          "description": "Toggle real-time token streaming (pastel syntax highlighting)"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.style",
      "kind": "command",
      "title": "/style",
      "summary": "Show current response style",
      "aliases": [
        "/style",
        "style"
      ],
      "keywords": [
        "command",
        "core",
        "style"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/style"
        },
        {
          "type": "rest",
          "target": "/v1/commands/style"
        },
        {
          "type": "gateway-command",
          "target": "/style"
        },
        {
          "type": "agent-tool-command",
          "target": "/style"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/style",
          "description": "Show current response style"
        },
        {
          "signature": "/style <preset>",
          "description": "Set style: concise, balanced, verbose, pedagogical"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.task-type",
      "kind": "command",
      "title": "/task-type",
      "summary": "Set task type (code, document, analysis, plan, general, auto)",
      "aliases": [
        "/task-type",
        "task-type",
        "/tasktype",
        "tasktype",
        "/tt",
        "tt"
      ],
      "keywords": [
        "command",
        "runtime",
        "task-type"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/task-type"
        },
        {
          "type": "rest",
          "target": "/v1/commands/task-type"
        },
        {
          "type": "gateway-command",
          "target": "/task-type"
        },
        {
          "type": "agent-tool-command",
          "target": "/task-type"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/task-type",
          "description": "Set task type (code, document, analysis, plan, general, auto)"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.telegram",
      "kind": "command",
      "title": "/telegram",
      "summary": "Save Telegram bot token (persisted to settings)",
      "aliases": [
        "/telegram",
        "telegram",
        "/tg",
        "tg"
      ],
      "keywords": [
        "command",
        "gateway",
        "telegram",
        "--key",
        "--admin",
        "status",
        "stop",
        "disable",
        "enable",
        "mode",
        "subagents",
        "model",
        "endpoint",
        "auth",
        "bot",
        "poll",
        "live-photo",
        "draft",
        "admins",
        "personal",
        "access",
        "tools",
        "delete-message",
        "delete-messages",
        "delete-reaction",
        "delete-reactions"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/telegram"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/telegram --key <token>",
          "description": "Save Telegram bot token (persisted to settings)"
        },
        {
          "signature": "/telegram --admin <userid>",
          "description": "Set admin user filter (only this user can interact)"
        },
        {
          "signature": "/telegram",
          "description": "Toggle Telegram bridge on/off (uses saved key)"
        },
        {
          "signature": "/telegram status",
          "description": "Show Telegram bridge status"
        },
        {
          "signature": "/telegram stop",
          "description": "Disconnect Telegram bridge"
        },
        {
          "signature": "/telegram disable",
          "description": "Persistently disable Telegram long polling"
        },
        {
          "signature": "/telegram enable",
          "description": "Re-enable Telegram long polling"
        },
        {
          "signature": "/telegram mode auto|chat|action",
          "description": "Set Telegram interaction routing: auto, fast chat, or action sub-agent"
        },
        {
          "signature": "/telegram subagents <1-5>",
          "description": "Set global Telegram work-slot limit across all chats/groups"
        },
        {
          "signature": "/telegram model",
          "description": "Pick the Telegram-isolated model (model list from the Telegram endpoint)"
        },
        {
          "signature": "/telegram model <name|reset>",
          "description": "Set or clear the Telegram-isolated model (separate from main agent)"
        },
        {
          "signature": "/telegram endpoint",
          "description": "Pick the Telegram-isolated backend endpoint (same menu as /endpoint, bot-scoped)"
        },
        {
          "signature": "/telegram endpoint <url|reset> [--auth <t>]",
          "description": "Set or clear the Telegram-isolated endpoint"
        },
        {
          "signature": "/telegram auth",
          "description": "Show a TUI-only one-time code for Telegram admin authentication"
        },
        {
          "signature": "/telegram auth cancel",
          "description": "Cancel the pending Telegram admin authentication code"
        },
        {
          "signature": "/telegram bot <username> <text>",
          "description": "Send a Bot API bot-to-bot message by @username"
        },
        {
          "signature": "/telegram poll <chat> <question> | <option> [| <option>]",
          "description": "Send a Telegram poll"
        },
        {
          "signature": "/telegram live-photo <chat> <live_photo> <photo> [caption]",
          "description": "Send a Telegram live photo"
        },
        {
          "signature": "/telegram draft <chat_id> <draft_id> [text]",
          "description": "Set or clear a Telegram message draft"
        },
        {
          "signature": "/telegram admins <chat> [--bots]",
          "description": "List chat administrators, optionally including bots"
        },
        {
          "signature": "/telegram personal <user_id> <limit>",
          "description": "Fetch last messages from a user's profile personal chat"
        },
        {
          "signature": "/telegram access get <managed_bot_user_id>",
          "description": "Show managed-bot access restriction settings"
        },
        {
          "signature": "/telegram access set <managed_bot_user_id> <restricted|open> [added_user_ids]",
          "description": "Set managed-bot access restrictions"
        },
        {
          "signature": "/telegram tools [group <chat>|panel <chat> [policy_chat]]",
          "description": "Show unified Telegram tool policy or send inline admin toggle buttons"
        },
        {
          "signature": "/telegram delete-message <chat> <message> [reason]",
          "description": "Delete one Telegram message after policy and Bot API rights checks"
        },
        {
          "signature": "/telegram delete-messages <chat> <message,message> [reason]",
          "description": "Delete multiple Telegram messages after policy and Bot API rights checks"
        },
        {
          "signature": "/telegram delete-reaction <chat> <message> [--user <id>|--actor <chat>]",
          "description": "Delete a Telegram message reaction"
        },
        {
          "signature": "/telegram delete-reactions <chat> [--user <id>|--actor <chat>]",
          "description": "Delete recent Telegram message reactions by user or chat"
        }
      ],
      "subcommands": [
        "--key",
        "--admin",
        "status",
        "stop",
        "disable",
        "enable",
        "mode",
        "subagents",
        "model",
        "endpoint",
        "auth",
        "bot",
        "poll",
        "live-photo",
        "draft",
        "admins",
        "personal",
        "access",
        "tools",
        "delete-message",
        "delete-messages",
        "delete-reaction",
        "delete-reactions"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": true,
        "profileGated": true
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.think",
      "kind": "command",
      "title": "/think",
      "summary": "Toggle thinking/reasoning mode (Qwen3, DeepSeek-R1, etc.)",
      "aliases": [
        "/think",
        "think"
      ],
      "keywords": [
        "command",
        "core",
        "think"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/think"
        },
        {
          "type": "rest",
          "target": "/v1/commands/think"
        },
        {
          "type": "gateway-command",
          "target": "/think"
        },
        {
          "type": "agent-tool-command",
          "target": "/think"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/think",
          "description": "Toggle thinking/reasoning mode (Qwen3, DeepSeek-R1, etc.)"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.title",
      "kind": "command",
      "title": "/title",
      "summary": "Show or set the current session title",
      "aliases": [
        "/title",
        "title"
      ],
      "keywords": [
        "command",
        "session",
        "title"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/title"
        },
        {
          "type": "rest",
          "target": "/v1/commands/title"
        },
        {
          "type": "gateway-command",
          "target": "/title"
        },
        {
          "type": "agent-tool-command",
          "target": "/title"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/title [name]",
          "description": "Show or set the current session title"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.tools",
      "kind": "command",
      "title": "/tools",
      "summary": "List agent-created custom tools",
      "aliases": [
        "/tools",
        "tools"
      ],
      "keywords": [
        "command",
        "tools",
        "tools"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/tools"
        },
        {
          "type": "rest",
          "target": "/v1/commands/tools"
        },
        {
          "type": "gateway-command",
          "target": "/tools"
        },
        {
          "type": "agent-tool-command",
          "target": "/tools"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/tools",
          "description": "List agent-created custom tools"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.toolsets",
      "kind": "command",
      "title": "/toolsets",
      "summary": "Show or select tool exposure sets",
      "aliases": [
        "/toolsets",
        "toolsets"
      ],
      "keywords": [
        "command",
        "planned",
        "toolsets"
      ],
      "maturity": "planned",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/toolsets"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/toolsets",
          "description": "Show or select tool exposure sets",
          "implementationStatus": "planned"
        }
      ],
      "subcommands": [],
      "implementation_status": "planned",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "The command is planned and has no executable implementation",
        "Calling it through the REST command proxy; this command is not REST-exposed"
      ]
    },
    {
      "id": "command.transcribe",
      "kind": "command",
      "title": "/transcribe",
      "summary": "Alias for /ingest <file>",
      "aliases": [
        "/transcribe",
        "transcribe"
      ],
      "keywords": [
        "command",
        "media",
        "transcribe"
      ],
      "maturity": "stable",
      "layer": "media",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/transcribe"
        },
        {
          "type": "rest",
          "target": "/v1/commands/transcribe"
        },
        {
          "type": "gateway-command",
          "target": "/transcribe"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/transcribe <file>",
          "description": "Alias for /ingest <file>"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.tree",
      "kind": "command",
      "title": "/tree",
      "summary": "Switch between the action waterfall and an explorable action tree",
      "aliases": [
        "/tree",
        "tree"
      ],
      "keywords": [
        "command",
        "core",
        "tree"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/tree"
        },
        {
          "type": "rest",
          "target": "/v1/commands/tree"
        },
        {
          "type": "gateway-command",
          "target": "/tree"
        },
        {
          "type": "agent-tool-command",
          "target": "/tree"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/tree",
          "description": "Switch between the action waterfall and an explorable action tree"
        },
        {
          "signature": "/tree on|off|status",
          "description": "Show, hide, or inspect the action-tree presentation"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.undo",
      "kind": "command",
      "title": "/undo",
      "summary": "Undo the last queued or saved exchange when available",
      "aliases": [
        "/undo",
        "undo"
      ],
      "keywords": [
        "command",
        "session",
        "undo"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/undo"
        },
        {
          "type": "gateway-command",
          "target": "/undo"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/undo",
          "description": "Undo the last queued or saved exchange when available"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.update",
      "kind": "command",
      "title": "/update",
      "summary": "Check for updates and auto-install",
      "aliases": [
        "/update",
        "update",
        "/upgrade",
        "upgrade"
      ],
      "keywords": [
        "command",
        "admin",
        "update",
        "auto",
        "manual",
        "check",
        "quick",
        "full"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/update"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/update",
          "description": "Check for updates and auto-install"
        },
        {
          "signature": "/upgrade",
          "description": "Alias for /update"
        },
        {
          "signature": "/update auto",
          "description": "Enable auto-update after task completion (default)"
        },
        {
          "signature": "/update manual",
          "description": "Disable auto-update (only update on /update)"
        },
        {
          "signature": "/update check",
          "description": "Check for Omnius and Ollama updates without opening the menu"
        },
        {
          "signature": "/update quick",
          "description": "Install the latest Omnius package non-interactively"
        },
        {
          "signature": "/update full",
          "description": "Run full non-interactive update: package, deps, rebuild, Python, cloudflared"
        }
      ],
      "subcommands": [
        "auto",
        "manual",
        "check",
        "quick",
        "full"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": false,
        "gateway": false,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": true,
        "networked": true,
        "secretBearing": false,
        "profileGated": true
      },
      "avoid_when": [
        "Calling it through the REST command proxy; this command is not REST-exposed",
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.usage",
      "kind": "command",
      "title": "/usage",
      "summary": "Show current session token count and cost",
      "aliases": [
        "/usage",
        "usage"
      ],
      "keywords": [
        "command",
        "core",
        "usage"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/usage"
        },
        {
          "type": "rest",
          "target": "/v1/commands/usage"
        },
        {
          "type": "gateway-command",
          "target": "/usage"
        },
        {
          "type": "agent-tool-command",
          "target": "/usage"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/usage",
          "description": "Show current session token count and cost"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.verbose",
      "kind": "command",
      "title": "/verbose",
      "summary": "Toggle verbose mode",
      "aliases": [
        "/verbose",
        "verbose",
        "/v",
        "v"
      ],
      "keywords": [
        "command",
        "core",
        "verbose"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/verbose"
        },
        {
          "type": "rest",
          "target": "/v1/commands/verbose"
        },
        {
          "type": "gateway-command",
          "target": "/verbose"
        },
        {
          "type": "agent-tool-command",
          "target": "/verbose"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/verbose",
          "description": "Toggle verbose mode"
        }
      ],
      "subcommands": [],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.video",
      "kind": "command",
      "title": "/video",
      "summary": "Open video-generation model/setup menu",
      "aliases": [
        "/video",
        "video"
      ],
      "keywords": [
        "command",
        "media",
        "video",
        "--model",
        "--image",
        "setup",
        "list",
        "prewarm"
      ],
      "maturity": "stable",
      "layer": "media",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/video"
        },
        {
          "type": "rest",
          "target": "/v1/commands/video"
        },
        {
          "type": "gateway-command",
          "target": "/video"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/video",
          "description": "Open video-generation model/setup menu"
        },
        {
          "signature": "/video <prompt>",
          "description": "Generate a short video from a prompt and show an ASCII thumbnail"
        },
        {
          "signature": "/video --model <model> <prompt>",
          "description": "Generate video with an explicit model"
        },
        {
          "signature": "/video --image <path|url> <prompt>",
          "description": "Image-to-video animation from a still"
        },
        {
          "signature": "/video setup <diffusers|comfyui>",
          "description": "Show setup commands for a video-generation backend"
        },
        {
          "signature": "/video list",
          "description": "List video models by category, quality, size, and hardware fit"
        },
        {
          "signature": "/video prewarm",
          "description": "Download and warm up the selected video model"
        }
      ],
      "subcommands": [
        "--model",
        "--image",
        "setup",
        "list",
        "prewarm"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": false
      },
      "safety": {
        "userOnly": true,
        "destructive": false,
        "networked": true,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": [
        "Allowing an autonomous agent to invoke it without an explicit user action"
      ]
    },
    {
      "id": "command.voice",
      "kind": "command",
      "title": "/voice",
      "summary": "Toggle TTS voice feedback",
      "aliases": [
        "/voice",
        "voice"
      ],
      "keywords": [
        "command",
        "media",
        "voice",
        "clone",
        "asr"
      ],
      "maturity": "stable",
      "layer": "media",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/voice"
        },
        {
          "type": "rest",
          "target": "/v1/commands/voice"
        },
        {
          "type": "gateway-command",
          "target": "/voice"
        },
        {
          "type": "agent-tool-command",
          "target": "/voice"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/voice",
          "description": "Toggle TTS voice feedback"
        },
        {
          "signature": "/voice <model>",
          "description": "Set voice: glados, overwatch, luxtts:announcer-testchamber03, kokoro, luxtts, misotts, supertonic, or a selected voicebox_* model"
        },
        {
          "signature": "/voice clone <file>",
          "description": "Set voice clone reference audio (wav/mp3/ogg/flac)"
        },
        {
          "signature": "/voice asr",
          "description": "Open ASR system and model selection"
        },
        {
          "signature": "/voice asr status",
          "description": "Show selected ASR engine/model and activation state"
        },
        {
          "signature": "/voice asr list",
          "description": "List ASR engines, models, and live/file capabilities"
        },
        {
          "signature": "/voice asr use <engine> [model]",
          "description": "Select and activate an installed ASR engine/model"
        },
        {
          "signature": "/voice asr setup <engine> [model] [device=N]",
          "description": "Install pinned ASR runtime/weights and activate on an exact CUDA device"
        },
        {
          "signature": "/voice clone glados",
          "description": "Generate clone ref from GLaDOS for LuxTTS/MisoTTS voice cloning"
        },
        {
          "signature": "/voice clone overwatch",
          "description": "Generate clone ref from Overwatch for LuxTTS/MisoTTS voice cloning"
        }
      ],
      "subcommands": [
        "clone",
        "asr"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "command.voicechat",
      "kind": "command",
      "title": "/voicechat",
      "summary": "Start voice chat session (async voice conversation)",
      "aliases": [
        "/voicechat",
        "voicechat"
      ],
      "keywords": [
        "command",
        "media",
        "voicechat",
        "stop"
      ],
      "maturity": "stable",
      "layer": "media",
      "audiences": [
        "user",
        "coding-agent",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "tui",
          "target": "/voicechat"
        },
        {
          "type": "rest",
          "target": "/v1/commands/voicechat"
        },
        {
          "type": "gateway-command",
          "target": "/voicechat"
        },
        {
          "type": "agent-tool-command",
          "target": "/voicechat"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/tui/command-registry.ts",
          "relation": "registry"
        }
      ],
      "signatures": [
        {
          "signature": "/voicechat",
          "description": "Start voice chat session (async voice conversation)"
        },
        {
          "signature": "/voicechat stop",
          "description": "Stop voice chat session"
        }
      ],
      "subcommands": [
        "stop"
      ],
      "implementation_status": "implemented",
      "surfaces": {
        "tui": true,
        "rest": true,
        "gateway": true,
        "agentTool": true
      },
      "safety": {
        "userOnly": false,
        "destructive": false,
        "networked": false,
        "secretBearing": false,
        "profileGated": false
      },
      "avoid_when": []
    },
    {
      "id": "config.provider-credentials",
      "kind": "config",
      "title": "Provider credential precedence",
      "summary": "Resolve one upstream credential from the explicit provider namespace through compatibility and persisted settings.",
      "aliases": [
        "provider keys",
        "api key precedence",
        "inference key"
      ],
      "keywords": [
        "OMNIUS_PROVIDER_API_KEY",
        "OMNIUS_MODEL_API_KEY",
        "OMNIUS_UPSTREAM_API_KEY",
        "VLLM_API_KEY"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "environment",
          "target": "OMNIUS_PROVIDER_API_KEY > OMNIUS_MODEL_API_KEY > OMNIUS_UPSTREAM_API_KEY > OMNIUS_API_KEY > VLLM_API_KEY > persisted config"
        }
      ],
      "references": [
        {
          "type": "config",
          "target": "docs/reference/configuration.md",
          "relation": "canonical-reference"
        },
        {
          "type": "security",
          "target": "docs/reference/auth-map.md",
          "relation": "boundary-map"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.rest-auth"
      ]
    },
    {
      "id": "config.provider-protocol",
      "kind": "config",
      "title": "Provider protocol selection",
      "summary": "Select ollama, openai-chat, or anthropic-messages explicitly; ambiguous custom endpoints remain disabled without network requests.",
      "aliases": [
        "endpoint protocol",
        "unknown protocol",
        "fail closed provider"
      ],
      "keywords": [
        "ollama",
        "openai-chat",
        "anthropic-messages",
        "custom endpoint"
      ],
      "maturity": "stable",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "canonical-reference"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "provider.custom"
      ]
    },
    {
      "id": "config.rest-auth",
      "kind": "config",
      "title": "REST bearer authentication",
      "summary": "Authenticate daemon callers with scoped, rate-limited, revocable bearer keys kept separate from provider credentials.",
      "aliases": [
        "daemon auth",
        "rest api key",
        "scopes"
      ],
      "keywords": [
        "OMNIUS_REST_API_KEY",
        "OMNIUS_REST_API_KEYS",
        "read",
        "run",
        "admin"
      ],
      "maturity": "stable",
      "references": [
        {
          "type": "security",
          "target": "docs/rest/auth-and-scopes.md",
          "relation": "canonical-reference"
        },
        {
          "type": "security",
          "target": "docs/reference/auth-map.md",
          "relation": "boundary-map"
        }
      ],
      "related": [
        "config.provider-credentials",
        "api.tools"
      ]
    },
    {
      "id": "guide.agent-memory-index",
      "kind": "guide",
      "title": "Agent Memory Index",
      "summary": "Use the Omnius docs skills when an agent needs to explore the documentation corpus instead of loading the whole docs tree.",
      "keywords": [
        "agent",
        "memory",
        "index",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/agent-memory/index.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/agent-memory/index.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.agent-memory-index-uppercase",
      "kind": "guide",
      "title": "Agent-Explorable Documentation",
      "summary": "Omnius documentation is exposed to agents through project-local AIWG-style bundles under .aiwg/addons/.",
      "keywords": [
        "agent",
        "memory",
        "INDEX",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/agent-memory/INDEX.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/agent-memory/INDEX.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.architecture-agent-system-map",
      "kind": "guide",
      "title": "Omnius Agent System Map",
      "summary": "Use this page when you need to understand how a user-visible behavior travels through Omnius, where its state lives, and which package owns a change. For a specific task recipe, search the generated catalog first:",
      "keywords": [
        "architecture",
        "agent",
        "system",
        "map",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "architecture",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/architecture/agent-system-map.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/architecture/agent-system-map.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.architecture-overview",
      "kind": "guide",
      "title": "Architecture Overview",
      "summary": "Omnius combines a terminal-first agent loop, REST daemon, model routing layer, tool runtime, persistent context, and peer mesh.",
      "keywords": [
        "architecture",
        "overview",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "architecture",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/architecture/overview.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/architecture/overview.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.concept-relational-language",
      "kind": "guide",
      "title": "Concept Relational Language (CRL) — Token-Efficient Concept Communication",
      "summary": "> Experimental hyper-compressed symbolic notation for mind-mapped logical flow tracking",
      "keywords": [
        "concept",
        "relational",
        "language",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/concept-relational-language.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/concept-relational-language.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.context-management-medium-models-proposal",
      "kind": "guide",
      "title": "Context Management for Medium Models (30-40B) — Implementation Proposal",
      "summary": "Date: 2026-04-25 Problem: Medium-tier models (~35B params) exhibit excessive repetition at ~35% context fill despite 256K context windows Root Cause: Monolithic context structure + attention degradation + tool schema bloat",
      "keywords": [
        "context",
        "management",
        "medium",
        "models",
        "proposal",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/context-management-medium-models-proposal.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/context-management-medium-models-proposal.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.dedup-false-positive-meta-analysis",
      "kind": "guide",
      "title": "Meta-Analysis: False Positive Duplicate Tool Call Detection",
      "summary": "Date: 2026-05-14 Scope: packages/orchestrator/src/agenticRunner.ts — proactivePrune() + buildResourceKey()",
      "keywords": [
        "dedup",
        "false",
        "positive",
        "meta",
        "analysis",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/dedup-false-positive-meta-analysis.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/dedup-false-positive-meta-analysis.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.discovery-agent-map",
      "kind": "guide",
      "title": "Agent Map",
      "summary": "Bundled Omnius documentation artifact: docs/discovery/agent-map.json.",
      "keywords": [
        "discovery",
        "agent",
        "map",
        "json"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/discovery/agent-map.json"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/discovery/agent-map.json",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.discovery-catalog-overrides",
      "kind": "guide",
      "title": "Discovery Catalog Curated Source",
      "summary": "Curated aliases, relationships, invocation modes, and conceptual entries merged into the generated catalog.",
      "aliases": [
        "catalog overrides",
        "discovery source"
      ],
      "keywords": [
        "source",
        "aliases",
        "relationships",
        "generation"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/discovery/catalog-overrides.json"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/discovery/catalog-overrides.json",
          "relation": "canonical-artifact"
        }
      ],
      "related": [
        "guide.discovery-json",
        "guide.discovery-markdown"
      ]
    },
    {
      "id": "guide.discovery-json",
      "kind": "guide",
      "title": "Omnius Machine Discovery Catalog",
      "summary": "Generated JSON catalog consumed by the CLI, REST discovery API, JavaScript API, and offline agents.",
      "aliases": [
        "DISCOVERY.json",
        "machine catalog"
      ],
      "keywords": [
        "generated",
        "json",
        "schema",
        "catalog"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/DISCOVERY.json"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/DISCOVERY.json",
          "relation": "canonical-artifact"
        }
      ],
      "related": [
        "overview",
        "guide.discovery-markdown",
        "api.discovery"
      ]
    },
    {
      "id": "guide.discovery-markdown",
      "kind": "guide",
      "title": "Omnius Discovery Catalog",
      "summary": "Human-readable generated index of every discoverable Omnius capability and bundled documentation artifact.",
      "aliases": [
        "DISCOVERY.md",
        "discovery guide"
      ],
      "keywords": [
        "generated",
        "catalog",
        "documentation"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/DISCOVERY.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/DISCOVERY.md",
          "relation": "canonical-artifact"
        }
      ],
      "related": [
        "overview",
        "guide.discovery-json",
        "api.discovery"
      ]
    },
    {
      "id": "guide.duplicate-calls-root-cause-analysis",
      "kind": "guide",
      "title": "Duplicate Tool Calls — Root Cause Analysis",
      "summary": "The agent repeatedly calls the same tool with the same arguments (e.g., fileread on the same path, grepsearch with the same pattern, shell with the same command). This wastes turns, burns context, and creates visible \"looping\" behavior.",
      "keywords": [
        "duplicate",
        "calls",
        "root",
        "cause",
        "analysis",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/duplicate-calls-root-cause-analysis.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/duplicate-calls-root-cause-analysis.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.duplicate-calls-root-cause-deep",
      "kind": "guide",
      "title": "Duplicate Tool Calls — Deep Root Cause Analysis",
      "summary": "The agent repeatedly calls the same tool with the same arguments right after having already called it. This is visible even in this agent's own conversation — fileread and grepsearch calls get duplicated within 1-2 turns.",
      "keywords": [
        "duplicate",
        "calls",
        "root",
        "cause",
        "deep",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/duplicate-calls-root-cause-deep.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/duplicate-calls-root-cause-deep.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.ephemeral-skill-pack-small-context",
      "kind": "guide",
      "title": "Ephemeral Skill Pack Small-Context Plan",
      "summary": "AIWG and Omnius skills are valuable, but full SKILL.md bodies are too large for small and medium context windows. The main agent should see only a tiny, task-scoped skill manifest, then delegate full skill unpacking to a sub-agent that returns a compact extraction.",
      "keywords": [
        "ephemeral",
        "skill",
        "pack",
        "small",
        "context",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/ephemeral-skill-pack-small-context.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/ephemeral-skill-pack-small-context.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.explorations-context-window-todo-association",
      "kind": "guide",
      "title": "Exploration: Associating Context-Window Entries with Todo-Scoped Run Periods",
      "summary": "Goal (from user): Understand how granular context-window entries (messages / tool results) are associated with periods of an agentic run, and specifically whether they are tied to a todo item so that, when that todo completes, its context content can be compressed.",
      "keywords": [
        "explorations",
        "context",
        "window",
        "todo",
        "association",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/explorations/context-window-todo-association.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/explorations/context-window-todo-association.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.explorations-todo-association-verify",
      "kind": "guide",
      "title": "Todo Association Verify",
      "summary": "Bundled Omnius documentation artifact: docs/explorations/todo-association-verify.json.",
      "keywords": [
        "explorations",
        "todo",
        "association",
        "verify",
        "json"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/explorations/todo-association-verify.json"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/explorations/todo-association-verify.json",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.explorations-verification-ledger",
      "kind": "guide",
      "title": "Verification Ledger",
      "summary": "Bundled Omnius documentation artifact: docs/explorations/verification-ledger.json.",
      "keywords": [
        "explorations",
        "verification",
        "ledger",
        "json"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/explorations/verification-ledger.json"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/explorations/verification-ledger.json",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.explorations-verify-todo-association",
      "kind": "guide",
      "title": "Verify Todo Association",
      "summary": "Bundled Omnius documentation artifact: docs/explorations/verify-todo-association.sh.",
      "keywords": [
        "explorations",
        "verify",
        "todo",
        "association",
        "sh"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/explorations/verify-todo-association.sh"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/explorations/verify-todo-association.sh",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.flowstate",
      "kind": "guide",
      "title": "FLOWSTATE.md",
      "summary": "Derived from 18 articles by Rian Doris (Founder & CEO, FlowState.com) and mapped to the Omnius AI execution framework. This document enables any agent to explore systems optimization through the lens of human peak performance neuroscience.",
      "keywords": [
        "flowstate",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/flowstate.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/flowstate.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.getting-started-first-run",
      "kind": "guide",
      "title": "First Run And Setup",
      "summary": "The setup flow is responsible for choosing a usable model path without assuming local Ollama is the only option.",
      "keywords": [
        "getting",
        "started",
        "first",
        "run",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/getting-started/first-run.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/getting-started/first-run.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.getting-started-install",
      "kind": "guide",
      "title": "Install Omnius",
      "summary": "This guide gets a machine ready to run Omnius from npm or from the workspace.",
      "keywords": [
        "getting",
        "started",
        "install",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/getting-started/install.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/getting-started/install.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.getting-started-model-providers",
      "kind": "guide",
      "title": "Model Providers And Endpoints",
      "summary": "Omnius routes model requests through a provider abstraction instead of treating local Ollama as the only source of models.",
      "keywords": [
        "getting",
        "started",
        "model",
        "providers",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/getting-started/model-providers.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/getting-started/model-providers.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.guides-agent-integration",
      "kind": "guide",
      "title": "Agent And Service Integration",
      "summary": "An integration should discover Omnius at runtime instead of encoding a partial provider or tool list.",
      "keywords": [
        "guides",
        "agent",
        "integration",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/guides/agent-integration.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/guides/agent-integration.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.guides-bring-your-own-inference",
      "kind": "guide",
      "title": "Bring Your Own Inference",
      "summary": "Omnius routes local and hosted models through an explicit provider descriptor. The descriptor determines the wire protocol, URL paths, authentication headers, and supported operations. It is the source of truth used by setup, model discovery, TUI runs, REST chat, summaries, voice, Telegram, sponsors, and endpoint probes.",
      "keywords": [
        "guides",
        "bring",
        "your",
        "own",
        "inference",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/guides/bring-your-own-inference.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.guides-dashboard",
      "kind": "guide",
      "title": "Web Dashboard",
      "summary": "The Omnius daemon serves a zero-build, self-contained dashboard from the same origin as the REST API. Start it with omnius serve, then open http://127.0.0.1:11435/. The interface uses Omnius's compact NOCLIP-derived style kit and shared responsive observability-card grids; the route registry in packages/cli/src/api/web-ui.ts is the source of truth for pages ",
      "keywords": [
        "guides",
        "dashboard",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/guides/dashboard.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/guides/dashboard.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.guides-media-generation",
      "kind": "guide",
      "title": "Media Generation",
      "summary": "Omnius exposes media generation through TUI commands, tools, Telegram creative workflows, and sponsor media endpoints.",
      "keywords": [
        "guides",
        "media",
        "generation",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/guides/media-generation.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/guides/media-generation.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.guides-osint-research",
      "kind": "guide",
      "title": "Categorized OSINT research",
      "summary": "Omnius ships a local, searchable snapshot of the OSINT4ALL Start.me page. It uses the same compact discovery pattern as AIWG skills:",
      "keywords": [
        "guides",
        "osint",
        "research",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/guides/osint-research.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/guides/osint-research.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.guides-realtime",
      "kind": "guide",
      "title": "Realtime Conversations",
      "summary": "Realtime mode is for short, natural, back-and-forth spoken conversation behind ASR and TTS.",
      "keywords": [
        "guides",
        "realtime",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/guides/realtime.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/guides/realtime.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.guides-sponsor-and-cohere",
      "kind": "guide",
      "title": "Sponsor And COHERE Mesh",
      "summary": "Sponsor and COHERE let Omnius share inference capacity across peers. Sponsor mode is explicit provider/consumer sharing. COHERE is a distributed cognitive inference mesh.",
      "keywords": [
        "guides",
        "sponsor",
        "and",
        "cohere",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/guides/sponsor-and-cohere.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/guides/sponsor-and-cohere.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.guides-system-tray",
      "kind": "guide",
      "title": "System Tray Indicator",
      "summary": "Omnius ships a native per-login tray indicator for Linux, macOS, and Windows on x64 hosts. It is separate from the REST daemon: closing the indicator never stops the daemon, and the daemon remains usable in headless sessions.",
      "keywords": [
        "guides",
        "system",
        "tray",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/guides/system-tray.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/guides/system-tray.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.guides-telegram",
      "kind": "guide",
      "title": "Telegram Bridge",
      "summary": "The Telegram bridge is a scoped public ingress and egress layer. It supports admin DMs, admin group mode, public group mode, media intake, generated artifact return, scoped memory, and persona documents.",
      "keywords": [
        "guides",
        "telegram",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/guides/telegram.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/guides/telegram.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.guides-tools-and-web-search",
      "kind": "guide",
      "title": "Tools And Web Search",
      "summary": "Omnius has two related tool surfaces:",
      "keywords": [
        "guides",
        "tools",
        "and",
        "web",
        "search",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/guides/tools-and-web-search.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/guides/tools-and-web-search.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.guides-tui-workflows",
      "kind": "guide",
      "title": "TUI Workflows",
      "summary": "The TUI is the primary Omnius control surface for interactive use.",
      "keywords": [
        "guides",
        "tui",
        "workflows",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/guides/tui-workflows.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/guides/tui-workflows.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.handoff-crl-encoder-decoder-fix-uppercase",
      "kind": "guide",
      "title": "HANDOFF: CRL Encoder/Decoder Bidirectional Fix",
      "summary": "Date: 2026-04-22 Status: Needs Implementation Failing Test: packages/memory/tests/crl-converter.test.ts - \"should validate roundtrip accuracy\"",
      "keywords": [
        "HANDOFF",
        "crl",
        "encoder",
        "decoder",
        "fix",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/HANDOFF-crl-encoder-decoder-fix.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/HANDOFF-crl-encoder-decoder-fix.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.index",
      "kind": "guide",
      "title": "Omnius Documentation",
      "summary": "Omnius is an autonomous local-first agent runtime with a TUI, REST daemon, P2P sponsor mesh, Telegram bridge, realtime conversation mode, media generation routes, and AIWG-compatible documentation skills.",
      "keywords": [
        "index",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/index.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/index.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.longhaul-35b-workorders",
      "kind": "guide",
      "title": "Work Orders — Long-Haul Implementation on a 35B-Class Model",
      "summary": "Origin: Root-cause review of the myactuator ESP32/PlatformIO session (35B ornith-vision) plus a 2026-literature sweep of surprising remedies. See companion analysis in docs/context-management-medium-models-proposal.md and docs/duplicate-calls-root-cause-analysis.md.",
      "keywords": [
        "longhaul",
        "35b",
        "workorders",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/longhaul-35b-workorders.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/longhaul-35b-workorders.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.memory-integration-analysis",
      "kind": "guide",
      "title": "Memory Integration Analysis — Parallel Systems Gap Assessment",
      "summary": "Date: 2026-04-23 Status: ✅ INTEGRATED — All P0 gaps closed Context: Review of literature on memory compression + integration testing of Omnius parallel memory systems",
      "keywords": [
        "memory",
        "integration",
        "analysis",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/memory-integration-analysis.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/memory-integration-analysis.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.model-capability-awareness-and-multimodal-memory-root-fix",
      "kind": "guide",
      "title": "Model Capability Awareness And Multimodal Identity Memory Root Fix",
      "summary": "Status: planning and integration tracker",
      "keywords": [
        "model",
        "capability",
        "awareness",
        "and",
        "multimodal",
        "memory",
        "root",
        "fix",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/model-capability-awareness-and-multimodal-memory-root-fix.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/model-capability-awareness-and-multimodal-memory-root-fix.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.multimodal-identity-memory-implementation",
      "kind": "guide",
      "title": "Multimodal Identity Memory Implementation Tracker",
      "summary": "Goal: make voice, text, image, Telegram reply context, CLIP-like embeddings, zettelkasten links, and social profiles converge on one evidence-based identity substrate.",
      "keywords": [
        "multimodal",
        "identity",
        "memory",
        "implementation",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/multimodal-identity-memory-implementation.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/multimodal-identity-memory-implementation.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.omnius-self-edit-eval-2026-06-10",
      "kind": "guide",
      "title": "Omnius Self-Edit Evaluation — Uncommitted Changes & Duplicate-Tool-Call Failure Mode",
      "summary": "> Eval of the working-tree changes against docs/opencode-agentic-loop-comparison.md. > Subject: an Omnius instance editing its own orchestrator to implement the P0–P10 > learnings. Generated 2026-06-10.",
      "keywords": [
        "omnius",
        "self",
        "edit",
        "eval",
        "2026",
        "06",
        "10",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/omnius-self-edit-eval-2026-06-10.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/omnius-self-edit-eval-2026-06-10.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.opencode-agentic-loop-comparison",
      "kind": "guide",
      "title": "OpenCode → Omnius: Agentic Loop & Sub-Agent Delegation Comparison",
      "summary": "> Exhaustive comparison between https://github.com/anomalyco/opencode/tree/dev and > packages/orchestrator/src/agenticRunner.ts (omnius). > Generated 2026-06-10.",
      "keywords": [
        "opencode",
        "agentic",
        "loop",
        "comparison",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/opencode-agentic-loop-comparison.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/opencode-agentic-loop-comparison.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.operations-delay-analysis",
      "kind": "guide",
      "title": "Unnecessary Causes of Delays Between Agent Actions",
      "summary": "Analysis of packages/orchestrator/src/ (95 files) — identified delay sources ranked by impact.",
      "keywords": [
        "operations",
        "delay",
        "analysis",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "operations",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/operations/delay-analysis.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/operations/delay-analysis.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.operations-delay-fix-review",
      "kind": "guide",
      "title": "Delay Fix Review — Commits Since Delay Analysis",
      "summary": "Date: 2026-06-10 Reference: /docs/operations/delay-analysis.md (15 delay sources documented)",
      "keywords": [
        "operations",
        "delay",
        "fix",
        "review",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "operations",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/operations/delay-fix-review.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/operations/delay-fix-review.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.operations-runtime-hygiene",
      "kind": "guide",
      "title": "Runtime Hygiene",
      "summary": "Runtime hygiene keeps long-running Omnius instances from accumulating stale state, stuck child processes, or leaked project artifacts.",
      "keywords": [
        "operations",
        "runtime",
        "hygiene",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "operations",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/operations/runtime-hygiene.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/operations/runtime-hygiene.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.operations-security-and-remote-access",
      "kind": "guide",
      "title": "Security And Remote Access",
      "summary": "Omnius is local-first by default. Remote access should be explicit, authenticated, and scoped.",
      "keywords": [
        "operations",
        "security",
        "and",
        "remote",
        "access",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "operations",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/operations/security-and-remote-access.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/operations/security-and-remote-access.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.operations-version-compatibility",
      "kind": "guide",
      "title": "Service Version Compatibility",
      "summary": "A client may be newer than the long-running Omnius daemon it reaches. The runtime version gate prevents a stale service from quietly accepting work whose provider, tool, or request contract it does not understand.",
      "keywords": [
        "operations",
        "version",
        "compatibility",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "operations",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/operations/version-compatibility.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/operations/version-compatibility.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.proposals-git-progress-tracking-strategy",
      "kind": "guide",
      "title": "Git Progress Tracking Strategy",
      "summary": "Use Git as an optional runtime evidence layer for Omnius agent sessions. When a project already has Git, Omnius should track its own mutations with the same discipline a careful implementer uses manually: baseline status, scoped diffs, changed-file summaries, verifier results after changes, and recovery artifacts.",
      "keywords": [
        "proposals",
        "git",
        "progress",
        "tracking",
        "strategy",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/proposals/git-progress-tracking-strategy.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/proposals/git-progress-tracking-strategy.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.proposals-opencode-modules-backend-adapter-uppercase",
      "kind": "guide",
      "title": "Backend Adapter",
      "summary": "Bundled Omnius documentation artifact: docs/proposals/opencode-modules/backendAdapter.ts.",
      "keywords": [
        "proposals",
        "opencode",
        "modules",
        "backendAdapter",
        "ts"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/proposals/opencode-modules/backendAdapter.ts"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/proposals/opencode-modules/backendAdapter.ts",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.proposals-opencode-modules-child-session-uppercase",
      "kind": "guide",
      "title": "Child Session",
      "summary": "Bundled Omnius documentation artifact: docs/proposals/opencode-modules/childSession.ts.",
      "keywords": [
        "proposals",
        "opencode",
        "modules",
        "childSession",
        "ts"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/proposals/opencode-modules/childSession.ts"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/proposals/opencode-modules/childSession.ts",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.proposals-opencode-modules-compaction-agent-uppercase",
      "kind": "guide",
      "title": "Compaction Agent",
      "summary": "Bundled Omnius documentation artifact: docs/proposals/opencode-modules/compactionAgent.ts.",
      "keywords": [
        "proposals",
        "opencode",
        "modules",
        "compactionAgent",
        "ts"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/proposals/opencode-modules/compactionAgent.ts"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/proposals/opencode-modules/compactionAgent.ts",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.proposals-opencode-modules-orchestrator",
      "kind": "guide",
      "title": "Orchestrator",
      "summary": "Bundled Omnius documentation artifact: docs/proposals/opencode-modules/orchestrator.ts.",
      "keywords": [
        "proposals",
        "opencode",
        "modules",
        "orchestrator",
        "ts"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/proposals/opencode-modules/orchestrator.ts"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/proposals/opencode-modules/orchestrator.ts",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.proposals-opencode-modules-runner",
      "kind": "guide",
      "title": "Runner",
      "summary": "Bundled Omnius documentation artifact: docs/proposals/opencode-modules/runner.ts.",
      "keywords": [
        "proposals",
        "opencode",
        "modules",
        "runner",
        "ts"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/proposals/opencode-modules/runner.ts"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/proposals/opencode-modules/runner.ts",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.reference-auth-map",
      "kind": "guide",
      "title": "Authentication And Authorization Map",
      "summary": "Omnius has two separate credential boundaries:",
      "keywords": [
        "reference",
        "auth",
        "map",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/reference/auth-map.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/reference/auth-map.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.reference-configuration",
      "kind": "guide",
      "title": "Configuration Reference",
      "summary": "Configuration is layered from environment, global user settings, project settings, and active TUI state.",
      "keywords": [
        "reference",
        "configuration",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/reference/configuration.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/reference/configuration.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.reference-rest-api",
      "kind": "guide",
      "title": "REST API Reference",
      "summary": "This is the maintained human inventory for the supported Omnius daemon API. The machine contract is generated by packages/cli/src/api/openapi.ts and served at /openapi.json; every operation in that contract must appear here, and the generated REST block in the root README must match this file byte-for-byte after heading normalization. Browser HTML routes and",
      "keywords": [
        "reference",
        "rest",
        "api",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/reference/rest-api.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/reference/rest-api.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.reference-slash-commands",
      "kind": "guide",
      "title": "Slash Commands",
      "summary": "This file is generated from packages/cli/src/tui/command-registry.ts.",
      "keywords": [
        "reference",
        "slash",
        "commands",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/reference/slash-commands.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/reference/slash-commands.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.research-archived-context-window-attention-model",
      "kind": "guide",
      "title": "Context Window Attention Model",
      "summary": "Bundled Omnius documentation artifact: docs/research/_archived/context_window_attention_model.py.",
      "keywords": [
        "research",
        "archived",
        "context",
        "window",
        "attention",
        "model",
        "py"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/research/_archived/context_window_attention_model.py"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/research/_archived/context_window_attention_model.py",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.research-archived-context-window-attention-spec",
      "kind": "guide",
      "title": "Context Window Attention-Weighted Optimization Spec",
      "summary": "The context window treats all items (system prompt, memory cards, chat history, voice transcriptions, reflection notes) at roughly equal attention weight (~1.0). This causes:",
      "keywords": [
        "research",
        "archived",
        "context",
        "window",
        "attention",
        "spec",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/research/_archived/context_window_attention_spec.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/research/_archived/context_window_attention_spec.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.research-archived-context-window-attention-weights",
      "kind": "guide",
      "title": "Context Window Attention Weights",
      "summary": "Bundled Omnius documentation artifact: docs/research/_archived/context_window_attention_weights.json.",
      "keywords": [
        "research",
        "archived",
        "context",
        "window",
        "attention",
        "weights",
        "json"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/research/_archived/context_window_attention_weights.json"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/research/_archived/context_window_attention_weights.json",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.research-archived-readme-uppercase",
      "kind": "guide",
      "title": "Archived design notes — unwired",
      "summary": "Documents in this directory describe design proposals that were never wired into the runtime. They are kept for historical context only.",
      "keywords": [
        "research",
        "archived",
        "README",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/research/_archived/README.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/research/_archived/README.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.research-k-splanifolds",
      "kind": "guide",
      "title": "K Splanifolds",
      "summary": "Bundled Omnius documentation artifact: docs/research/k-splanifolds.pdf.",
      "keywords": [
        "research",
        "k",
        "splanifolds",
        "pdf"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/research/k-splanifolds.pdf"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/research/k-splanifolds.pdf",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.research-personality-verbosity-control",
      "kind": "guide",
      "title": "LLM Personality Guidance & Verbosity Control: Research Synthesis",
      "summary": "Date: 2026-03-13 Purpose: Literature review and integration strategy for transient personality/verbosity steering in the Omnius framework",
      "keywords": [
        "research",
        "personality",
        "verbosity",
        "control",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/research/personality-verbosity-control.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/research/personality-verbosity-control.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-auth-and-scopes",
      "kind": "guide",
      "title": "Auth And Scopes",
      "summary": "Omnius can run without auth for local development, but shared deployments should use bearer keys.",
      "keywords": [
        "rest",
        "auth",
        "and",
        "scopes",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/auth-and-scopes.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/auth-and-scopes.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-endpoints-aims",
      "kind": "guide",
      "title": "AIMS Governance Endpoints",
      "summary": "Omnius exposes an ISO/IEC 42001-oriented AI Management System surface for audit-aligned deployments.",
      "keywords": [
        "rest",
        "endpoints",
        "aims",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/endpoints/aims.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/endpoints/aims.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-endpoints-aiwg",
      "kind": "guide",
      "title": "AIWG Cascade Endpoints",
      "summary": "AIWG endpoints expose a discover-then-expand documentation and workflow model for small and large context agents.",
      "keywords": [
        "rest",
        "endpoints",
        "aiwg",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/endpoints/aiwg.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/endpoints/aiwg.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-endpoints-chat",
      "kind": "guide",
      "title": "Chat And Inference Endpoints",
      "summary": "Returns an OpenAI-style model list aggregated from enabled endpoints. Model discovery should include local Ollama, configured external endpoints, sponsor endpoints, and COHERE/passthrough models where enabled.",
      "keywords": [
        "rest",
        "endpoints",
        "chat",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/endpoints/chat.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/endpoints/chat.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-endpoints-config",
      "kind": "guide",
      "title": "Config, Endpoints, Keys, Profiles, And Projects",
      "summary": "Endpoint switching uses the same normalization as the TUI. Use /v1/config/endpoint/test before switching a remote endpoint in automation.",
      "keywords": [
        "rest",
        "endpoints",
        "config",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/endpoints/config.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/endpoints/config.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-endpoints-discovery",
      "kind": "guide",
      "title": "Discovery",
      "summary": "The discovery API exposes the same catalog shipped in docs/DISCOVERY.json and used by omnius discover / omnius show.",
      "keywords": [
        "rest",
        "endpoints",
        "discovery",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/endpoints/discovery.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/endpoints/discovery.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-endpoints-events",
      "kind": "guide",
      "title": "Events, Metrics, Usage, Audit, System, Nexus, And Ollama Pool",
      "summary": "GET /v1/events is an SSE stream. Filter by exact type or prefix:",
      "keywords": [
        "rest",
        "endpoints",
        "events",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/endpoints/events.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/endpoints/events.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-endpoints-files",
      "kind": "guide",
      "title": "Files",
      "summary": "GET /v1/files?path=<relative-or-absolute> returns directory entries for the active or requested workspace.",
      "keywords": [
        "rest",
        "endpoints",
        "files",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/endpoints/files.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/endpoints/files.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-endpoints-memory",
      "kind": "guide",
      "title": "Memory, Sessions, And Context",
      "summary": "Use memory search for persistent knowledge, failures, prior decisions, and scoped context. Public connector surfaces such as Telegram should keep scope explicit so one chat does not pollute another.",
      "keywords": [
        "rest",
        "endpoints",
        "memory",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/endpoints/memory.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/endpoints/memory.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-endpoints-run",
      "kind": "guide",
      "title": "Runs, Jobs, Todos, And Scheduled Work",
      "summary": "Submits a long-running task to the daemon and returns an accepted job record. Runs are tracked under .omnius/jobs/.",
      "keywords": [
        "rest",
        "endpoints",
        "run",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/endpoints/run.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/endpoints/run.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-endpoints-skills",
      "kind": "guide",
      "title": "Skills And Commands",
      "summary": "The REST docs bundle is available as:",
      "keywords": [
        "rest",
        "endpoints",
        "skills",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/endpoints/skills.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/endpoints/skills.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-endpoints-tools",
      "kind": "guide",
      "title": "Tools, MCP, Hooks, Agents, And Code Graph",
      "summary": "GET /v1/tools and POST /v1/tools/{name}/call use the same direct-call registry, built from the @omnius/execution tool manifest plus virtual lifecycle tools such as taskcomplete. If a tool appears in /v1/tools with directcallable: true, the same name is callable at /v1/tools/{name}/call.",
      "keywords": [
        "rest",
        "endpoints",
        "tools",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/endpoints/tools.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/endpoints/tools.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-endpoints-voice-vision",
      "kind": "guide",
      "title": "Voice, Audio, Vision, And Voicechat",
      "summary": "The live /listen microphone path does not trust PulseAudio's mutable default source. When the documented Seeed ReSpeaker USB 4-Mic Array source alsainput.usb-SEEEDReSpeaker4MicArrayUAC1.0-00.multichannel-input is present as a six-channel Pulse source, Omnius selects it ahead of a running nxremappedout desktop/TTS remap and FFmpeg extracts DSP/beamformed chan",
      "keywords": [
        "rest",
        "endpoints",
        "voice",
        "vision",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/endpoints/voice-vision.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/endpoints/voice-vision.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-errors-pagination-etags",
      "kind": "guide",
      "title": "Errors, Pagination, ETags, And Request IDs",
      "summary": "The OpenAPI contract documents RFC 7807 Problem Details for common errors:",
      "keywords": [
        "rest",
        "errors",
        "pagination",
        "etags",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/errors-pagination-etags.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/errors-pagination-etags.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-examples-curl",
      "kind": "guide",
      "title": "Curl Examples",
      "summary": "curl -s \"$BASE/openapi.json\" | jq '.info.title, .info.version'",
      "keywords": [
        "rest",
        "examples",
        "curl",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/examples/curl.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/examples/curl.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-examples-openai-sdk",
      "kind": "guide",
      "title": "OpenAI SDK Examples",
      "summary": "Omnius exposes an OpenAI-compatible chat-completions endpoint at /v1/chat/completions.",
      "keywords": [
        "rest",
        "examples",
        "openai",
        "sdk",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/examples/openai-sdk.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/examples/openai-sdk.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-index-uppercase",
      "kind": "guide",
      "title": "Omnius REST API Docs",
      "summary": "This directory is the human-readable REST API reference for Omnius. It is meant to be explored incrementally by agents and humans.",
      "keywords": [
        "rest",
        "INDEX",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/INDEX.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/INDEX.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-openapi-source",
      "kind": "guide",
      "title": "OpenAPI Source And Renderers",
      "summary": "The canonical REST contract is generated by:",
      "keywords": [
        "rest",
        "openapi",
        "source",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/openapi-source.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/openapi-source.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-quickref-uppercase",
      "kind": "guide",
      "title": "Omnius REST Quick Reference",
      "summary": "GET /docs GET /api/docs GET /openapi.json GET /openapi.yaml GET /redoc",
      "keywords": [
        "rest",
        "QUICKREF",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/QUICKREF.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/QUICKREF.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.rest-rest-docs-manifest-uppercase",
      "kind": "guide",
      "title": "Rest Docs Manifest",
      "summary": "Bundled Omnius documentation artifact: docs/rest/REST-DOCS-MANIFEST.json.",
      "keywords": [
        "rest",
        "REST",
        "DOCS",
        "MANIFEST",
        "json"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "interface",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/rest/REST-DOCS-MANIFEST.json"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/rest/REST-DOCS-MANIFEST.json",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.reviews-adversary-system-review",
      "kind": "guide",
      "title": "Adversary System Review",
      "summary": "Date: 2026-06-28 Scope: Read-only pass Files reviewed:",
      "keywords": [
        "reviews",
        "adversary",
        "system",
        "review",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/reviews/adversary-system-review.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/reviews/adversary-system-review.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.sana-and-video-generation-integration-plan",
      "kind": "guide",
      "title": "Sana (Image) + `/video` (Video Generation) Integration Plan",
      "summary": "> Status: Plan only. Builds a complete, anchored handoff for a downstream implementation agent. > Goal: (A) Promote NVIDIA Sana to the primary image-generation model for /image and the image-generation tool, (B) ship an entirely new /video pipeline modeled exactly on the existing /image and /sound-/music patterns, including its agent tool, Telegram public/pr",
      "keywords": [
        "sana",
        "and",
        "video",
        "generation",
        "integration",
        "plan",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/sana-and-video-generation-integration-plan.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/sana-and-video-generation-integration-plan.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.session-diary-llm-training-analysis",
      "kind": "guide",
      "title": "Session Diary: LLM Training Alignment Analysis",
      "summary": "Is the session diary format what LLMs are trained on, such that it helps system handling?",
      "keywords": [
        "session",
        "diary",
        "llm",
        "training",
        "analysis",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/session-diary-llm-training-analysis.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/session-diary-llm-training-analysis.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.telegram-dmn-curiosity-outreach-scaffold",
      "kind": "guide",
      "title": "Telegram DMN Curiosity Outreach Scaffold",
      "summary": "This document tracks the root design for idle Telegram channel \"daydream\" behavior: private meta-analysis while a public group is idle, curiosity-driven exploration, scoped tool awareness, same-group follow-up planning, private DM follow-up planning, and persona document steering. It is intentionally a scaffold: artifacts describe possible actions and tool a",
      "keywords": [
        "telegram",
        "dmn",
        "curiosity",
        "outreach",
        "scaffold",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/telegram-dmn-curiosity-outreach-scaffold.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/telegram-dmn-curiosity-outreach-scaffold.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.telegram-mid-horizon-download-loop-handoff",
      "kind": "guide",
      "title": "Telegram Mid-Horizon Download Loop Handoff",
      "summary": "A Telegram admin-DM action run for \"can you please get me the pdf for Snow Crash\" burned 60+ turns trying Archive.org, browser clicks, repeated curl downloads, and third-party PDF mirrors. It eventually sent visible self-talk to Telegram:",
      "keywords": [
        "telegram",
        "mid",
        "horizon",
        "download",
        "loop",
        "handoff",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/telegram-mid-horizon-download-loop-handoff.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/telegram-mid-horizon-download-loop-handoff.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.telegram-reflection-corpus-integration-plan",
      "kind": "guide",
      "title": "Telegram Reflection Corpus Integration Plan",
      "summary": "Status: planning and implementation tracker",
      "keywords": [
        "telegram",
        "reflection",
        "corpus",
        "integration",
        "plan",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/telegram-reflection-corpus-integration-plan.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/telegram-reflection-corpus-integration-plan.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.telegram-unified-tooling-architecture",
      "kind": "guide",
      "title": "Telegram Unified Tooling Architecture",
      "summary": "Goal: give Telegram-sourced agent runs one scoped telegram tool that covers Telegram Bot API operations behind explicit Omnius policy, Telegram bot rights, and admin-controlled toggles. This replaces the current drift where some Telegram powers exist as private helpers, some exist as TUI slash commands, and only telegramsendfile is model-facing.",
      "keywords": [
        "telegram",
        "unified",
        "tooling",
        "architecture",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/telegram-unified-tooling-architecture.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/telegram-unified-tooling-architecture.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.threat-model",
      "kind": "guide",
      "title": "Omnius Threat Model",
      "summary": "> Version: 1.0.0 > Last Updated: 2026-03-26 > Classification: Internal Security Review > Status: Phase 1 - Initial Assessment",
      "keywords": [
        "threat",
        "model",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/threat-model.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/threat-model.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.trajectory-grounding",
      "kind": "guide",
      "title": "Trajectory Grounding",
      "summary": "Trajectory Grounding gives a running agent a compact, evidence-bound account of where a project stands, what changed, what remains uncertain, and the safest next action. Before the first main-agent request, Omnius asks the selected model to form a specific, structured orientation from that evidence. This is a control-plane checkpoint, not free-form self-talk",
      "keywords": [
        "trajectory",
        "grounding",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/trajectory-grounding.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/trajectory-grounding.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.vitepress-config",
      "kind": "guide",
      "title": "Config",
      "summary": "Bundled Omnius documentation artifact: docs/.vitepress/config.mts.",
      "keywords": [
        "vitepress",
        "config",
        "mts"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/.vitepress/config.mts"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/.vitepress/config.mts",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.voice-flow-architecture",
      "kind": "guide",
      "title": "Voice TTS Flow — Architecture & Implementation Guide",
      "summary": "This document describes the voice synthesis system in omnius: how it's built, how all the pieces connect, and how to add new voice features following the same patterns.",
      "keywords": [
        "voice",
        "flow",
        "architecture",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/voice-flow-architecture.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/voice-flow-architecture.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-daemon-hud-ui-overhaul",
      "kind": "guide",
      "title": "Daemon HUD UI Overhaul Work Order",
      "summary": "Overhaul the daemon web interface using /home/roko/Desktop/hud-ui-style-kit(6)/hud-ui-style-kit as the source of truth. Preserve current daemon behavior while replacing the OpenWebUI-like rounded dashboard styling with the cold tactical HUD visual system.",
      "keywords": [
        "work",
        "orders",
        "daemon",
        "hud",
        "ui",
        "overhaul",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/daemon-hud-ui-overhaul.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/daemon-hud-ui-overhaul.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-01-public-scrutiny-provenance-control-index-uppercase",
      "kind": "guide",
      "title": "Public Scrutiny Provenance Control Index",
      "summary": "Bundled Omnius documentation artifact: docs/work-orders/hermes-architecture-deltas/01-public-scrutiny-provenance-control/INDEX.md.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "01",
        "public",
        "scrutiny",
        "provenance",
        "control",
        "INDEX",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/01-public-scrutiny-provenance-control/INDEX.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/01-public-scrutiny-provenance-control/INDEX.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-01-public-scrutiny-provenance-control-workorder-uppercase",
      "kind": "guide",
      "title": "Workorder: Public Scrutiny Provenance Control",
      "summary": "Add a public Telegram scrutiny control plane that can elevate completion provenance checks when public accuracy risk rises, without hard-coded scenario phrases or shortcut wording that teaches the model to satisfy the gate without evidence.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "01",
        "public",
        "scrutiny",
        "provenance",
        "control",
        "WORKORDER",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/01-public-scrutiny-provenance-control/WORKORDER.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/01-public-scrutiny-provenance-control/WORKORDER.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-02-context-engine-plugin-boundary-index-uppercase",
      "kind": "guide",
      "title": "Context Engine Plugin Boundary Index",
      "summary": "Bundled Omnius documentation artifact: docs/work-orders/hermes-architecture-deltas/02-context-engine-plugin-boundary/INDEX.md.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "02",
        "context",
        "engine",
        "plugin",
        "boundary",
        "INDEX",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/02-context-engine-plugin-boundary/INDEX.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/02-context-engine-plugin-boundary/INDEX.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-02-context-engine-plugin-boundary-workorder-uppercase",
      "kind": "guide",
      "title": "Workorder: Context Engine Plugin Boundary",
      "summary": "Extract context assembly, compaction, memory stitching, and completion framing behind a small orchestrator-owned interface. The current runner should remain behaviorally compatible, but future context strategies should be swappable without editing the main AgenticRunner loop.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "02",
        "context",
        "engine",
        "plugin",
        "boundary",
        "WORKORDER",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/02-context-engine-plugin-boundary/WORKORDER.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/02-context-engine-plugin-boundary/WORKORDER.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-03-typed-gateway-event-stream-index-uppercase",
      "kind": "guide",
      "title": "Typed Gateway Event Stream Index",
      "summary": "Bundled Omnius documentation artifact: docs/work-orders/hermes-architecture-deltas/03-typed-gateway-event-stream/INDEX.md.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "03",
        "typed",
        "gateway",
        "event",
        "stream",
        "INDEX",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/03-typed-gateway-event-stream/INDEX.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/03-typed-gateway-event-stream/INDEX.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-03-typed-gateway-event-stream-workorder-uppercase",
      "kind": "guide",
      "title": "Workorder: Typed Gateway Event Stream",
      "summary": "Replace fragile renderer-facing string events with a typed event stream that separates what happened in the runner from how each gateway renders it.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "03",
        "typed",
        "gateway",
        "event",
        "stream",
        "WORKORDER",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/03-typed-gateway-event-stream/WORKORDER.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/03-typed-gateway-event-stream/WORKORDER.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-04-task-local-gateway-context-index-uppercase",
      "kind": "guide",
      "title": "Task-Local Gateway Context Index",
      "summary": "Bundled Omnius documentation artifact: docs/work-orders/hermes-architecture-deltas/04-task-local-gateway-context/INDEX.md.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "04",
        "task",
        "local",
        "gateway",
        "context",
        "INDEX",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/04-task-local-gateway-context/INDEX.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/04-task-local-gateway-context/INDEX.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-04-task-local-gateway-context-workorder-uppercase",
      "kind": "guide",
      "title": "Workorder: Task-Local Gateway Context",
      "summary": "Introduce a task-local gateway context based on Node AsyncLocalStorage so Telegram, REST, TUI, scheduler, and background runs can share a common current-session context without mutable cross-run leakage.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "04",
        "task",
        "local",
        "gateway",
        "context",
        "WORKORDER",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/04-task-local-gateway-context/WORKORDER.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/04-task-local-gateway-context/WORKORDER.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-05-process-lifecycle-monitoring-notifications-index-uppercase",
      "kind": "guide",
      "title": "Process Lifecycle Monitoring Notifications Index",
      "summary": "Bundled Omnius documentation artifact: docs/work-orders/hermes-architecture-deltas/05-process-lifecycle-monitoring-notifications/INDEX.md.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "05",
        "process",
        "lifecycle",
        "monitoring",
        "notifications",
        "INDEX",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/05-process-lifecycle-monitoring-notifications/INDEX.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/05-process-lifecycle-monitoring-notifications/INDEX.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-05-process-lifecycle-monitoring-notifications-workorder-uppercase",
      "kind": "guide",
      "title": "Workorder: Process Lifecycle Monitoring Notifications",
      "summary": "Extend Omnius's registry-based process lifecycle architecture with active monitoring, user-visible diagnostics, and cleanup of remaining direct legacy kill paths. Keep the lease registry as the only authority for automatic stale process termination.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "05",
        "process",
        "lifecycle",
        "monitoring",
        "notifications",
        "WORKORDER",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/05-process-lifecycle-monitoring-notifications/WORKORDER.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/05-process-lifecycle-monitoring-notifications/WORKORDER.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-06-vision-evidence-routing-ladder-index-uppercase",
      "kind": "guide",
      "title": "Vision Evidence Routing Ladder Index",
      "summary": "Bundled Omnius documentation artifact: docs/work-orders/hermes-architecture-deltas/06-vision-evidence-routing-ladder/INDEX.md.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "06",
        "vision",
        "evidence",
        "routing",
        "ladder",
        "INDEX",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/06-vision-evidence-routing-ladder/INDEX.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/06-vision-evidence-routing-ladder/INDEX.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-06-vision-evidence-routing-ladder-workorder-uppercase",
      "kind": "guide",
      "title": "Workorder: Vision Evidence Routing Ladder",
      "summary": "Build a generic visual evidence router that resolves scoped media reliably and chooses an analysis ladder based on the current request's information need:",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "06",
        "vision",
        "evidence",
        "routing",
        "ladder",
        "WORKORDER",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/06-vision-evidence-routing-ladder/WORKORDER.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/06-vision-evidence-routing-ladder/WORKORDER.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-07-durable-multi-agent-kanban-index-uppercase",
      "kind": "guide",
      "title": "Durable Multi-Agent Kanban Index",
      "summary": "Bundled Omnius documentation artifact: docs/work-orders/hermes-architecture-deltas/07-durable-multi-agent-kanban/INDEX.md.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "07",
        "durable",
        "multi",
        "agent",
        "kanban",
        "INDEX",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/07-durable-multi-agent-kanban/INDEX.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/07-durable-multi-agent-kanban/INDEX.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-07-durable-multi-agent-kanban-workorder-uppercase",
      "kind": "guide",
      "title": "Workorder: Durable Multi-Agent Kanban",
      "summary": "Add a durable multi-agent work board for long-running admin tasks and public disputed factual work. The board should support decomposition, worker assignment, verification, synthesis, diagnostics, and completion evidence without relying on one runner's transient todo list.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "07",
        "durable",
        "multi",
        "agent",
        "kanban",
        "WORKORDER",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/07-durable-multi-agent-kanban/WORKORDER.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/07-durable-multi-agent-kanban/WORKORDER.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-08-completion-critic-reconciliation-ledger-index-uppercase",
      "kind": "guide",
      "title": "Completion Critic Reconciliation Ledger Index",
      "summary": "Bundled Omnius documentation artifact: docs/work-orders/hermes-architecture-deltas/08-completion-critic-reconciliation-ledger/INDEX.md.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "08",
        "completion",
        "critic",
        "reconciliation",
        "ledger",
        "INDEX",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/08-completion-critic-reconciliation-ledger/INDEX.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/08-completion-critic-reconciliation-ledger/INDEX.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-08-completion-critic-reconciliation-ledger-workorder-uppercase",
      "kind": "guide",
      "title": "Workorder: Completion Critic Reconciliation Ledger",
      "summary": "Convert completion verification into a durable claim/evidence ledger. The critic must receive:",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "08",
        "completion",
        "critic",
        "reconciliation",
        "ledger",
        "WORKORDER",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/08-completion-critic-reconciliation-ledger/WORKORDER.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/08-completion-critic-reconciliation-ledger/WORKORDER.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-hermes-architecture-deltas-index-uppercase",
      "kind": "guide",
      "title": "Hermes Architecture Deltas Workorder Index",
      "summary": "Status: ready for implementation planning. These documents are workorders only; they do not claim the features are implemented.",
      "keywords": [
        "work",
        "orders",
        "hermes",
        "architecture",
        "deltas",
        "INDEX",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/hermes-architecture-deltas/INDEX.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/hermes-architecture-deltas/INDEX.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-omnius-context-engineering-behavior-fixes",
      "kind": "guide",
      "title": "Omnius Context Engineering Behavior Fixes",
      "summary": "Source observation: current Omnius behavior while supervising a noclip/earth sidebar cleanup task. The observed run mixed internal cognitive-agent artifacts with user-task artifacts, repeated stale edit attempts after the file had changed, and overclaimed completion despite stale or missing verification.",
      "keywords": [
        "work",
        "orders",
        "omnius",
        "context",
        "engineering",
        "behavior",
        "fixes",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/omnius-context-engineering-behavior-fixes.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/omnius-context-engineering-behavior-fixes.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-telegram-dropbear-context-rca-workorder",
      "kind": "guide",
      "title": "Telegram Dropbear Context Engineering RCA Work Order",
      "summary": "Observed run: /home/roko/Documents/Projects/Adjacent/telegramtest/.omnius, run id 1782873796963-i5r7mv.",
      "keywords": [
        "work",
        "orders",
        "telegram",
        "dropbear",
        "context",
        "rca",
        "workorder",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/telegram-dropbear-context-rca-workorder.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/telegram-dropbear-context-rca-workorder.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-wo-am-gaps-uppercase",
      "kind": "guide",
      "title": "Associative Memory Gap Work Orders",
      "summary": "Generated: 2026-04-13 Source: Deep audit of multimodal associative memory systems Status: READY FOR IMPLEMENTATION",
      "keywords": [
        "work",
        "orders",
        "WO",
        "AM",
        "GAPS",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/WO-AM-GAPS.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/WO-AM-GAPS.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-world-class-memory-compiler-readme-uppercase",
      "kind": "guide",
      "title": "World-Class Memory Compiler Program",
      "summary": "Status: active implementation program Owner: Omnius orchestration and memory packages Last updated: 2026-07-13",
      "keywords": [
        "work",
        "orders",
        "world",
        "class",
        "memory",
        "compiler",
        "README",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/world-class-memory-compiler/README.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/world-class-memory-compiler/README.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-world-class-memory-compiler-tracker-uppercase",
      "kind": "guide",
      "title": "Memory Compiler Implementation Tracker",
      "summary": "Last reconciled: 2026-07-13 Authority: This file is the granular program tracker. The work-order documents define the contract and acceptance criteria; neither test output nor a model claim may check an item without the named evidence.",
      "keywords": [
        "work",
        "orders",
        "world",
        "class",
        "memory",
        "compiler",
        "TRACKER",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/world-class-memory-compiler/TRACKER.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/world-class-memory-compiler/TRACKER.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-world-class-memory-compiler-wo-01-exact-request-budget-uppercase",
      "kind": "guide",
      "title": "WO-01 — Exact Request and Budget Compiler",
      "summary": "Status: in progress Primary modules: packages/orchestrator/src/agenticRunner.ts, contextWindowDump.ts, context-compiler.ts, context-fabric.ts Depends on: none",
      "keywords": [
        "work",
        "orders",
        "world",
        "class",
        "memory",
        "compiler",
        "WO",
        "01",
        "exact",
        "request",
        "budget",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/world-class-memory-compiler/WO-01-exact-request-budget.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/world-class-memory-compiler/WO-01-exact-request-budget.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-world-class-memory-compiler-wo-02-typed-memory-fabric-uppercase",
      "kind": "guide",
      "title": "WO-02 — Typed Memory Fabric and Immutable Event Ledger",
      "summary": "Status: in progress Primary modules: packages/memory/src/, packages/schemas/src/memory.ts, packages/orchestrator/src/evidenceLedger.ts, runEvents.ts Depends on: WO-01",
      "keywords": [
        "work",
        "orders",
        "world",
        "class",
        "memory",
        "compiler",
        "WO",
        "02",
        "typed",
        "memory",
        "fabric",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/world-class-memory-compiler/WO-02-typed-memory-fabric.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/world-class-memory-compiler/WO-02-typed-memory-fabric.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-world-class-memory-compiler-wo-03-dependency-working-set-uppercase",
      "kind": "guide",
      "title": "WO-03 — Dependency Graph and Working-Set Materializer",
      "summary": "Status: in progress Primary modules: packages/memory/src/memoryGraph.ts, temporalGraph.ts, packages/orchestrator/src/evidenceLedger.ts, agenticRunner.ts Depends on: WO-02",
      "keywords": [
        "work",
        "orders",
        "world",
        "class",
        "memory",
        "compiler",
        "WO",
        "03",
        "dependency",
        "working",
        "set",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/world-class-memory-compiler/WO-03-dependency-working-set.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/world-class-memory-compiler/WO-03-dependency-working-set.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-world-class-memory-compiler-wo-04-inference-memory-compiler-uppercase",
      "kind": "guide",
      "title": "WO-04 — Inference-Driven Memory Compiler",
      "summary": "Status: in progress Primary modules: packages/orchestrator/src/compaction-analyst.ts, agenticRunner.ts, contextWindowDump.ts Depends on: WO-01, WO-03",
      "keywords": [
        "work",
        "orders",
        "world",
        "class",
        "memory",
        "compiler",
        "WO",
        "04",
        "inference",
        "memory",
        "compiler",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/world-class-memory-compiler/WO-04-inference-memory-compiler.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/world-class-memory-compiler/WO-04-inference-memory-compiler.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-world-class-memory-compiler-wo-05-artifact-fidelity-materialization-uppercase",
      "kind": "guide",
      "title": "WO-05 — Artifact Fidelity and Explicit Materialization",
      "summary": "Status: in progress Primary modules: packages/execution/src/tools/file-read.ts, packages/orchestrator/src/evidenceBranch.ts, evidenceLedger.ts, artifactContract.ts Depends on: WO-02, WO-03",
      "keywords": [
        "work",
        "orders",
        "world",
        "class",
        "memory",
        "compiler",
        "WO",
        "05",
        "artifact",
        "fidelity",
        "materialization",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/world-class-memory-compiler/WO-05-artifact-fidelity-materialization.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/world-class-memory-compiler/WO-05-artifact-fidelity-materialization.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-world-class-memory-compiler-wo-06-temporal-hybrid-retrieval-uppercase",
      "kind": "guide",
      "title": "WO-06 — Temporal Hybrid Retrieval",
      "summary": "Status: in progress Primary modules: packages/memory/src/hybridMemoryRetriever.ts, pprRetrieval.ts, temporalGraph.ts, memoryGraph.ts Depends on: WO-02, WO-03, WO-05",
      "keywords": [
        "work",
        "orders",
        "world",
        "class",
        "memory",
        "compiler",
        "WO",
        "06",
        "temporal",
        "hybrid",
        "retrieval",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/world-class-memory-compiler/WO-06-temporal-hybrid-retrieval.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/world-class-memory-compiler/WO-06-temporal-hybrid-retrieval.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-world-class-memory-compiler-wo-07-evaluation-harness-uppercase",
      "kind": "guide",
      "title": "WO-07 — Replay Evaluation and Adversarial Harness",
      "summary": "Status: in progress Primary modules: packages/orchestrator/scripts/, test fixtures, context audit/log serializers Depends on: WO-01 through WO-06",
      "keywords": [
        "work",
        "orders",
        "world",
        "class",
        "memory",
        "compiler",
        "WO",
        "07",
        "evaluation",
        "harness",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/world-class-memory-compiler/WO-07-evaluation-harness.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/world-class-memory-compiler/WO-07-evaluation-harness.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.work-orders-world-class-memory-compiler-wo-08-rollout-legacy-removal-uppercase",
      "kind": "guide",
      "title": "WO-08 — Shadow Rollout, Migration, and Legacy Removal",
      "summary": "Status: in progress Primary modules: orchestrator configuration, telemetry, TUI audit display, legacy compaction/rehydration paths Depends on: WO-07",
      "keywords": [
        "work",
        "orders",
        "world",
        "class",
        "memory",
        "compiler",
        "WO",
        "08",
        "rollout",
        "legacy",
        "removal",
        "md"
      ],
      "maturity": "internal",
      "audiences": [
        "maintainer",
        "large-context-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/work-orders/world-class-memory-compiler/WO-08-rollout-legacy-removal.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/work-orders/world-class-memory-compiler/WO-08-rollout-legacy-removal.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "guide.x402-remote-inference-plan",
      "kind": "guide",
      "title": "x402 Remote Inference Integration — Security Audit & Comprehensive Plan",
      "summary": "C1: Private key not truly zeroed (nexus.ts L1455, L1901) privKeyHex = \"0\".repeat(64) only rebinds the JS variable — the original string lives on the heap until GC. JavaScript strings are immutable.",
      "keywords": [
        "x402",
        "remote",
        "inference",
        "plan",
        "md"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "layer": "documentation",
      "interfaces": [
        {
          "type": "file",
          "target": "docs/x402-remote-inference-plan.md"
        }
      ],
      "references": [
        {
          "type": "documentation",
          "target": "docs/x402-remote-inference-plan.md",
          "relation": "canonical-artifact"
        }
      ]
    },
    {
      "id": "layer.architecture",
      "kind": "layer",
      "title": "Architecture and ownership",
      "summary": "The process, package, dependency, and data-flow map that connects public interfaces to their source owners and runtime boundaries.",
      "aliases": [
        "system map",
        "ownership"
      ],
      "keywords": [
        "packages",
        "modules",
        "data flow"
      ],
      "maturity": "stable",
      "audiences": [
        "coding-agent",
        "maintainer"
      ],
      "interfaces": [
        {
          "type": "guide",
          "target": "docs/architecture/agent-system-map.md"
        }
      ],
      "source_of_truth": [
        "docs/architecture/agent-system-map.md",
        "pnpm-workspace.yaml"
      ]
    },
    {
      "id": "layer.code-intelligence",
      "kind": "layer",
      "title": "Code intelligence",
      "summary": "Repository indexing, symbol and code graph storage, retrieval, repository context, and evidence-directed navigation used by coding agents.",
      "aliases": [
        "indexer",
        "retrieval",
        "code graph"
      ],
      "keywords": [
        "symbols",
        "repository",
        "search"
      ],
      "maturity": "stable",
      "audiences": [
        "coding-agent",
        "maintainer"
      ],
      "interfaces": [
        {
          "type": "module",
          "target": "module.indexer"
        },
        {
          "type": "module",
          "target": "module.retrieval"
        }
      ],
      "source_of_truth": [
        "packages/indexer/src",
        "packages/retrieval/src"
      ]
    },
    {
      "id": "layer.context",
      "kind": "layer",
      "title": "Prompts and context engineering",
      "summary": "System prompts, task templates, context compilation, admission, compaction, dumps, history sanitation, token budgeting, and working-context recovery.",
      "aliases": [
        "context",
        "prompts",
        "compaction"
      ],
      "keywords": [
        "token budget",
        "history",
        "prompt"
      ],
      "maturity": "stable",
      "audiences": [
        "coding-agent",
        "maintainer"
      ],
      "interfaces": [
        {
          "type": "module",
          "target": "module.prompts"
        }
      ],
      "source_of_truth": [
        "packages/prompts/src",
        "packages/orchestrator/src/context-compiler.ts",
        "packages/orchestrator/src/context-admission.ts"
      ]
    },
    {
      "id": "layer.contracts",
      "kind": "layer",
      "title": "Contracts and schemas",
      "summary": "Shared TypeScript schemas, OpenAPI, command/tool/provider registries, version preconditions, and generated documentation that keep surfaces consistent.",
      "aliases": [
        "schemas",
        "OpenAPI",
        "registries"
      ],
      "keywords": [
        "contract",
        "version",
        "types"
      ],
      "maturity": "stable",
      "audiences": [
        "integrator",
        "maintainer",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "module",
          "target": "module.schemas"
        },
        {
          "type": "http",
          "target": "GET /openapi.json"
        }
      ],
      "source_of_truth": [
        "packages/schemas/src",
        "packages/cli/src/api/openapi.ts",
        "packages/cli/src/tui/command-registry.ts"
      ]
    },
    {
      "id": "layer.discovery",
      "kind": "layer",
      "title": "Discovery and onboarding",
      "summary": "Stable IDs, bootstrap profiles, task workflows, generated catalogs, package guidance, and live discovery endpoints that let agents navigate Omnius without prior repository knowledge.",
      "aliases": [
        "discovery"
      ],
      "keywords": [
        "bootstrap",
        "catalog",
        "docs"
      ],
      "maturity": "stable",
      "audiences": [
        "all-agents"
      ],
      "interfaces": [
        {
          "type": "cli",
          "target": "omnius discover"
        },
        {
          "type": "http",
          "target": "GET /v1/discovery/bootstrap"
        }
      ],
      "source_of_truth": [
        "scripts/generate-discovery.mjs",
        "docs/discovery/agent-map.json",
        "packages/cli/src/discovery.ts"
      ]
    },
    {
      "id": "layer.documentation",
      "kind": "layer",
      "title": "Documentation",
      "summary": "User, operator, integrator, and maintainer explanations linked from the generated discovery graph and deployable AIWG skills.",
      "aliases": [
        "docs",
        "guides"
      ],
      "keywords": [
        "reference",
        "skill",
        "VitePress"
      ],
      "maturity": "stable",
      "audiences": [
        "all-agents"
      ],
      "interfaces": [
        {
          "type": "file",
          "target": "docs/index.md"
        }
      ],
      "source_of_truth": [
        "docs",
        ".aiwg/addons/omnius-docs"
      ]
    },
    {
      "id": "layer.execution",
      "kind": "layer",
      "title": "Tool execution and policy",
      "summary": "Executable tools, schemas, security classification, direct versus agent-bound exposure, MCP/custom tools, mutation contracts, and shell/file/browser boundaries.",
      "aliases": [
        "tools",
        "MCP"
      ],
      "keywords": [
        "tool policy",
        "security",
        "direct call"
      ],
      "maturity": "stable",
      "audiences": [
        "coding-agent",
        "integrator",
        "maintainer"
      ],
      "interfaces": [
        {
          "type": "module",
          "target": "module.execution"
        },
        {
          "type": "http",
          "target": "GET /v1/tools"
        }
      ],
      "source_of_truth": [
        "packages/execution/src/index.ts",
        "packages/execution/src/tools/tool-manifest.ts",
        "packages/cli/src/api/direct-tool-registry.ts"
      ]
    },
    {
      "id": "layer.inference",
      "kind": "layer",
      "title": "Inference and provider routing",
      "summary": "Provider descriptors, endpoint protocol selection, model routing, local Ollama/vLLM, hosted APIs, sponsor capacity, and compatibility translation.",
      "aliases": [
        "models",
        "providers",
        "backend"
      ],
      "keywords": [
        "ollama",
        "vllm",
        "openai",
        "anthropic",
        "gemini"
      ],
      "maturity": "stable",
      "audiences": [
        "integrator",
        "operator",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "module",
          "target": "module.backend-vllm"
        },
        {
          "type": "http",
          "target": "GET /v1/models"
        }
      ],
      "source_of_truth": [
        "packages/backend-vllm/src/providerRegistry.ts",
        "packages/backend-vllm/src/backendFactory.ts"
      ]
    },
    {
      "id": "layer.interface",
      "kind": "layer",
      "title": "Interfaces",
      "summary": "The TUI, one-shot CLI, REST daemon, dashboard, tray indicator, Telegram gateway, and JavaScript library through which users and agents enter Omnius.",
      "aliases": [
        "surface",
        "UI",
        "REST"
      ],
      "keywords": [
        "cli",
        "tui",
        "dashboard",
        "tray",
        "telegram"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "module",
          "target": "module.cli"
        }
      ],
      "source_of_truth": [
        "packages/cli/src/index.ts",
        "packages/cli/src/api/serve.ts",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "layer.media",
      "kind": "layer",
      "title": "Voice, ASR, TTS, vision, and media",
      "summary": "ASR engine registry and managed weights, TTS/voice cloning, realtime voicechat, live sensors, vision, and image/video/audio generation backed by shared model storage.",
      "aliases": [
        "voice",
        "ASR",
        "TTS",
        "vision"
      ],
      "keywords": [
        "transcription",
        "speech",
        "media",
        "VibeVoice"
      ],
      "maturity": "stable",
      "audiences": [
        "user",
        "integrator",
        "operator",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "http",
          "target": "GET /v1/asr/engines"
        },
        {
          "type": "http",
          "target": "POST /v1/voice/tts"
        }
      ],
      "source_of_truth": [
        "packages/execution/src/asr",
        "packages/cli/src/api/voice-runtime.ts",
        "packages/cli/src/tui/voice.ts"
      ]
    },
    {
      "id": "layer.memory",
      "kind": "layer",
      "title": "Memory and sessions",
      "summary": "Project sessions, episodes, temporal graph memory, maintenance, summaries, task continuity, and explicit separation between conversational history and slash-command control input.",
      "aliases": [
        "sessions",
        "history",
        "temporal graph"
      ],
      "keywords": [
        "memory",
        "chat history",
        "episodes"
      ],
      "maturity": "stable",
      "audiences": [
        "coding-agent",
        "integrator",
        "maintainer"
      ],
      "interfaces": [
        {
          "type": "module",
          "target": "module.memory"
        }
      ],
      "source_of_truth": [
        "packages/memory/src",
        "packages/cli/src/api/chat-session.ts",
        "packages/cli/src/tui/project-context.ts"
      ]
    },
    {
      "id": "layer.observability",
      "kind": "layer",
      "title": "Observability and evidence",
      "summary": "Action trees, run events, status, metrics, context dumps, logs, evidence and verification ledgers, debug artifacts, and UI projections for proving what happened.",
      "aliases": [
        "logs",
        "metrics",
        "action tree"
      ],
      "keywords": [
        "events",
        "verification",
        "debug"
      ],
      "maturity": "stable",
      "audiences": [
        "operator",
        "coding-agent",
        "maintainer"
      ],
      "interfaces": [
        {
          "type": "http",
          "target": "GET /v1/runs/{id}/events"
        },
        {
          "type": "http",
          "target": "GET /metrics"
        }
      ],
      "source_of_truth": [
        "packages/orchestrator/src/evidenceLedger.ts",
        "packages/orchestrator/src/verification-ledger.ts",
        "packages/cli/src/tui/action-tree.ts"
      ]
    },
    {
      "id": "layer.operations",
      "kind": "layer",
      "title": "Runtime operations",
      "summary": "Daemon lifecycle and port ownership, tray indicator, update and restart verification, schedulers, installation, runtime dependencies, packaging, and publish staging.",
      "aliases": [
        "daemon",
        "updates",
        "install"
      ],
      "keywords": [
        "service",
        "tray",
        "npm",
        "publish"
      ],
      "maturity": "stable",
      "audiences": [
        "operator",
        "maintainer",
        "coding-agent"
      ],
      "interfaces": [
        {
          "type": "runtime",
          "target": "runtime.daemon"
        },
        {
          "type": "runtime",
          "target": "runtime.tray"
        }
      ],
      "source_of_truth": [
        "packages/cli/src/daemon.ts",
        "packages/cli/src/update-service.ts",
        "packages/cli/src/tray.ts",
        "scripts/build-publish.mjs"
      ]
    },
    {
      "id": "layer.orchestration",
      "kind": "layer",
      "title": "Agent orchestration",
      "summary": "Long-horizon task intake, planning, agent/tool turns, sub-agents, completion contracts, trajectory checkpoints, recovery, and run lifecycle.",
      "aliases": [
        "agent loop",
        "runner"
      ],
      "keywords": [
        "long horizon",
        "run",
        "task",
        "subagent",
        "verification"
      ],
      "maturity": "stable",
      "audiences": [
        "coding-agent",
        "maintainer",
        "integrator"
      ],
      "interfaces": [
        {
          "type": "module",
          "target": "module.orchestrator"
        },
        {
          "type": "http",
          "target": "POST /v1/run"
        }
      ],
      "source_of_truth": [
        "packages/orchestrator/src/agenticRunner.ts",
        "packages/orchestrator/src/agent-operating-contract.ts"
      ]
    },
    {
      "id": "layer.persistence",
      "kind": "layer",
      "title": "Persistence and state scopes",
      "summary": "Project-local .omnius state, user-global ~/.omnius state, shared model/runtime caches, configuration precedence, and the rules preventing cross-project leakage.",
      "aliases": [
        "state",
        "storage",
        ".omnius"
      ],
      "keywords": [
        "project",
        "global",
        "cache",
        "config"
      ],
      "maturity": "stable",
      "audiences": [
        "all-agents"
      ],
      "interfaces": [
        {
          "type": "store",
          "target": "store.project"
        },
        {
          "type": "store",
          "target": "store.global"
        }
      ],
      "source_of_truth": [
        "packages/cli/src/tui/omnius-directory.ts",
        "packages/cli/src/config.ts"
      ]
    },
    {
      "id": "layer.security",
      "kind": "layer",
      "title": "Security and trust boundaries",
      "summary": "Authentication, REST scopes, secret handling, tool risk and mutation policy, remote access, hardware preflight, AIMS controls, and fail-closed execution gates.",
      "aliases": [
        "auth",
        "policy",
        "AIMS"
      ],
      "keywords": [
        "secrets",
        "scopes",
        "hardware gate"
      ],
      "maturity": "stable",
      "audiences": [
        "operator",
        "integrator",
        "maintainer"
      ],
      "interfaces": [
        {
          "type": "guide",
          "target": "docs/operations/security-and-remote-access.md"
        }
      ],
      "source_of_truth": [
        "docs/reference/auth-map.md",
        "packages/execution/src/tools/security-classifier.ts",
        "packages/cli/src/api/runtime-keys.ts",
        "packages/cli/src/api/serve.ts"
      ]
    },
    {
      "id": "module.app-api",
      "kind": "module",
      "title": "@omnius/api",
      "summary": "Express-based API server for the omnius coding framework",
      "aliases": [
        "@omnius/api",
        "apps/api"
      ],
      "keywords": [
        "workspace",
        "package",
        "interface",
        "api"
      ],
      "maturity": "internal",
      "layer": "interface",
      "audiences": [
        "coding-agent",
        "maintainer",
        "integrator"
      ],
      "use_when": [
        "Changing or debugging the interface layer",
        "Tracing a public surface into its source owner"
      ],
      "interfaces": [
        {
          "type": "source-root",
          "target": "apps/api/src"
        },
        {
          "type": "manifest",
          "target": "apps/api/package.json"
        }
      ],
      "source_of_truth": [
        "apps/api/src",
        "apps/api/package.json"
      ],
      "references": [
        {
          "type": "manifest",
          "target": "apps/api/package.json",
          "relation": "workspace-owner"
        }
      ],
      "related": [
        "layer.interface",
        "module.backend-vllm",
        "module.execution",
        "module.memory",
        "module.orchestrator",
        "module.schemas"
      ],
      "verification": [
        {
          "check": "Run targeted tests under apps/api/tests when present",
          "expected": "Tests for the changed ownership boundary pass"
        }
      ]
    },
    {
      "id": "module.app-worker",
      "kind": "module",
      "title": "@omnius/worker",
      "summary": "Background worker for async agent task processing",
      "aliases": [
        "@omnius/worker",
        "apps/worker"
      ],
      "keywords": [
        "workspace",
        "package",
        "orchestration",
        "worker"
      ],
      "maturity": "internal",
      "layer": "orchestration",
      "audiences": [
        "coding-agent",
        "maintainer",
        "integrator"
      ],
      "use_when": [
        "Changing or debugging the orchestration layer",
        "Tracing a public surface into its source owner"
      ],
      "interfaces": [
        {
          "type": "source-root",
          "target": "apps/worker/src"
        },
        {
          "type": "manifest",
          "target": "apps/worker/package.json"
        }
      ],
      "source_of_truth": [
        "apps/worker/src",
        "apps/worker/package.json"
      ],
      "references": [
        {
          "type": "manifest",
          "target": "apps/worker/package.json",
          "relation": "workspace-owner"
        }
      ],
      "related": [
        "layer.orchestration",
        "module.backend-vllm",
        "module.execution",
        "module.indexer",
        "module.memory",
        "module.orchestrator",
        "module.retrieval",
        "module.schemas"
      ],
      "verification": [
        {
          "check": "Run targeted tests under apps/worker/tests when present",
          "expected": "Tests for the changed ownership boundary pass"
        }
      ]
    },
    {
      "id": "module.backend-vllm",
      "kind": "module",
      "title": "@omnius/backend-vllm",
      "summary": "vLLM backend client for model inference",
      "aliases": [
        "@omnius/backend-vllm",
        "packages/backend-vllm"
      ],
      "keywords": [
        "workspace",
        "package",
        "inference",
        "backend-vllm"
      ],
      "maturity": "stable",
      "layer": "inference",
      "audiences": [
        "coding-agent",
        "maintainer",
        "integrator"
      ],
      "use_when": [
        "Changing or debugging the inference layer",
        "Tracing a public surface into its source owner"
      ],
      "interfaces": [
        {
          "type": "source-root",
          "target": "packages/backend-vllm/src"
        },
        {
          "type": "manifest",
          "target": "packages/backend-vllm/package.json"
        }
      ],
      "source_of_truth": [
        "packages/backend-vllm/src",
        "packages/backend-vllm/package.json"
      ],
      "references": [
        {
          "type": "manifest",
          "target": "packages/backend-vllm/package.json",
          "relation": "workspace-owner"
        }
      ],
      "related": [
        "layer.inference",
        "module.schemas"
      ],
      "verification": [
        {
          "check": "Run targeted tests under packages/backend-vllm/tests when present",
          "expected": "Tests for the changed ownership boundary pass"
        }
      ]
    },
    {
      "id": "module.cli",
      "kind": "module",
      "title": "omnius",
      "summary": "Command-line interface for the omnius coding framework",
      "aliases": [
        "omnius",
        "packages/cli"
      ],
      "keywords": [
        "workspace",
        "package",
        "interface",
        "cli"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "coding-agent",
        "maintainer",
        "integrator"
      ],
      "use_when": [
        "Changing or debugging the interface layer",
        "Tracing a public surface into its source owner"
      ],
      "interfaces": [
        {
          "type": "source-root",
          "target": "packages/cli/src"
        },
        {
          "type": "manifest",
          "target": "packages/cli/package.json"
        }
      ],
      "source_of_truth": [
        "packages/cli/src",
        "packages/cli/package.json"
      ],
      "references": [
        {
          "type": "manifest",
          "target": "packages/cli/package.json",
          "relation": "workspace-owner"
        }
      ],
      "related": [
        "layer.interface",
        "module.backend-vllm",
        "module.execution",
        "module.indexer",
        "module.memory",
        "module.orchestrator",
        "module.prompts",
        "module.schemas"
      ],
      "verification": [
        {
          "check": "Run targeted tests under packages/cli/tests when present",
          "expected": "Tests for the changed ownership boundary pass"
        }
      ]
    },
    {
      "id": "module.execution",
      "kind": "module",
      "title": "@omnius/execution",
      "summary": "Execution and validation tools for the omnius coding framework",
      "aliases": [
        "@omnius/execution",
        "packages/execution"
      ],
      "keywords": [
        "workspace",
        "package",
        "execution",
        "execution"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "maintainer",
        "integrator"
      ],
      "use_when": [
        "Changing or debugging the execution layer",
        "Tracing a public surface into its source owner"
      ],
      "interfaces": [
        {
          "type": "source-root",
          "target": "packages/execution/src"
        },
        {
          "type": "manifest",
          "target": "packages/execution/package.json"
        }
      ],
      "source_of_truth": [
        "packages/execution/src",
        "packages/execution/package.json"
      ],
      "references": [
        {
          "type": "manifest",
          "target": "packages/execution/package.json",
          "relation": "workspace-owner"
        }
      ],
      "related": [
        "layer.execution",
        "module.indexer",
        "module.memory",
        "module.schemas"
      ],
      "verification": [
        {
          "check": "Run targeted tests under packages/execution/tests when present",
          "expected": "Tests for the changed ownership boundary pass"
        }
      ]
    },
    {
      "id": "module.indexer",
      "kind": "module",
      "title": "@omnius/indexer",
      "summary": "Codebase indexing and file tree analysis",
      "aliases": [
        "@omnius/indexer",
        "packages/indexer"
      ],
      "keywords": [
        "workspace",
        "package",
        "code-intelligence",
        "indexer"
      ],
      "maturity": "stable",
      "layer": "code-intelligence",
      "audiences": [
        "coding-agent",
        "maintainer",
        "integrator"
      ],
      "use_when": [
        "Changing or debugging the code-intelligence layer",
        "Tracing a public surface into its source owner"
      ],
      "interfaces": [
        {
          "type": "source-root",
          "target": "packages/indexer/src"
        },
        {
          "type": "manifest",
          "target": "packages/indexer/package.json"
        }
      ],
      "source_of_truth": [
        "packages/indexer/src",
        "packages/indexer/package.json"
      ],
      "references": [
        {
          "type": "manifest",
          "target": "packages/indexer/package.json",
          "relation": "workspace-owner"
        }
      ],
      "related": [
        "layer.code-intelligence",
        "module.schemas"
      ],
      "verification": [
        {
          "check": "Run targeted tests under packages/indexer/tests when present",
          "expected": "Tests for the changed ownership boundary pass"
        }
      ]
    },
    {
      "id": "module.memory",
      "kind": "module",
      "title": "@omnius/memory",
      "summary": "Durable SQLite-backed memory stores for the omnius coding agent",
      "aliases": [
        "@omnius/memory",
        "packages/memory"
      ],
      "keywords": [
        "workspace",
        "package",
        "memory",
        "memory"
      ],
      "maturity": "stable",
      "layer": "memory",
      "audiences": [
        "coding-agent",
        "maintainer",
        "integrator"
      ],
      "use_when": [
        "Changing or debugging the memory layer",
        "Tracing a public surface into its source owner"
      ],
      "interfaces": [
        {
          "type": "source-root",
          "target": "packages/memory/src"
        },
        {
          "type": "manifest",
          "target": "packages/memory/package.json"
        }
      ],
      "source_of_truth": [
        "packages/memory/src",
        "packages/memory/package.json"
      ],
      "references": [
        {
          "type": "manifest",
          "target": "packages/memory/package.json",
          "relation": "workspace-owner"
        }
      ],
      "related": [
        "layer.memory",
        "module.schemas"
      ],
      "verification": [
        {
          "check": "Run targeted tests under packages/memory/tests when present",
          "expected": "Tests for the changed ownership boundary pass"
        }
      ]
    },
    {
      "id": "module.orchestrator",
      "kind": "module",
      "title": "@omnius/orchestrator",
      "summary": "RALPH loop orchestrator - central brain of the coding agent",
      "aliases": [
        "@omnius/orchestrator",
        "packages/orchestrator"
      ],
      "keywords": [
        "workspace",
        "package",
        "orchestration",
        "orchestrator"
      ],
      "maturity": "stable",
      "layer": "orchestration",
      "audiences": [
        "coding-agent",
        "maintainer",
        "integrator"
      ],
      "use_when": [
        "Changing or debugging the orchestration layer",
        "Tracing a public surface into its source owner"
      ],
      "interfaces": [
        {
          "type": "source-root",
          "target": "packages/orchestrator/src"
        },
        {
          "type": "manifest",
          "target": "packages/orchestrator/package.json"
        }
      ],
      "source_of_truth": [
        "packages/orchestrator/src",
        "packages/orchestrator/package.json"
      ],
      "references": [
        {
          "type": "manifest",
          "target": "packages/orchestrator/package.json",
          "relation": "workspace-owner"
        }
      ],
      "related": [
        "layer.orchestration",
        "module.backend-vllm",
        "module.execution",
        "module.memory",
        "module.retrieval",
        "module.schemas"
      ],
      "verification": [
        {
          "check": "Run targeted tests under packages/orchestrator/tests when present",
          "expected": "Tests for the changed ownership boundary pass"
        }
      ]
    },
    {
      "id": "module.prompts",
      "kind": "module",
      "title": "@omnius/prompts",
      "summary": "Prompt templates and loader for the omnius coding framework",
      "aliases": [
        "@omnius/prompts",
        "packages/prompts"
      ],
      "keywords": [
        "workspace",
        "package",
        "context",
        "prompts"
      ],
      "maturity": "stable",
      "layer": "context",
      "audiences": [
        "coding-agent",
        "maintainer",
        "integrator"
      ],
      "use_when": [
        "Changing or debugging the context layer",
        "Tracing a public surface into its source owner"
      ],
      "interfaces": [
        {
          "type": "source-root",
          "target": "packages/prompts/src"
        },
        {
          "type": "manifest",
          "target": "packages/prompts/package.json"
        }
      ],
      "source_of_truth": [
        "packages/prompts/src",
        "packages/prompts/package.json"
      ],
      "references": [
        {
          "type": "manifest",
          "target": "packages/prompts/package.json",
          "relation": "workspace-owner"
        }
      ],
      "related": [
        "layer.context"
      ],
      "verification": [
        {
          "check": "Run targeted tests under packages/prompts/tests when present",
          "expected": "Tests for the changed ownership boundary pass"
        }
      ]
    },
    {
      "id": "module.retrieval",
      "kind": "module",
      "title": "@omnius/retrieval",
      "summary": "Code retrieval and semantic search for agent context",
      "aliases": [
        "@omnius/retrieval",
        "packages/retrieval"
      ],
      "keywords": [
        "workspace",
        "package",
        "code-intelligence",
        "retrieval"
      ],
      "maturity": "stable",
      "layer": "code-intelligence",
      "audiences": [
        "coding-agent",
        "maintainer",
        "integrator"
      ],
      "use_when": [
        "Changing or debugging the code-intelligence layer",
        "Tracing a public surface into its source owner"
      ],
      "interfaces": [
        {
          "type": "source-root",
          "target": "packages/retrieval/src"
        },
        {
          "type": "manifest",
          "target": "packages/retrieval/package.json"
        }
      ],
      "source_of_truth": [
        "packages/retrieval/src",
        "packages/retrieval/package.json"
      ],
      "references": [
        {
          "type": "manifest",
          "target": "packages/retrieval/package.json",
          "relation": "workspace-owner"
        }
      ],
      "related": [
        "layer.code-intelligence",
        "module.indexer",
        "module.schemas"
      ],
      "verification": [
        {
          "check": "Run targeted tests under packages/retrieval/tests when present",
          "expected": "Tests for the changed ownership boundary pass"
        }
      ]
    },
    {
      "id": "module.schemas",
      "kind": "module",
      "title": "@omnius/schemas",
      "summary": "Shared TypeScript schemas and type definitions for the omnius framework",
      "aliases": [
        "@omnius/schemas",
        "packages/schemas"
      ],
      "keywords": [
        "workspace",
        "package",
        "contracts",
        "schemas"
      ],
      "maturity": "stable",
      "layer": "contracts",
      "audiences": [
        "coding-agent",
        "maintainer",
        "integrator"
      ],
      "use_when": [
        "Changing or debugging the contracts layer",
        "Tracing a public surface into its source owner"
      ],
      "interfaces": [
        {
          "type": "source-root",
          "target": "packages/schemas/src"
        },
        {
          "type": "manifest",
          "target": "packages/schemas/package.json"
        }
      ],
      "source_of_truth": [
        "packages/schemas/src",
        "packages/schemas/package.json"
      ],
      "references": [
        {
          "type": "manifest",
          "target": "packages/schemas/package.json",
          "relation": "workspace-owner"
        }
      ],
      "related": [
        "layer.contracts"
      ],
      "verification": [
        {
          "check": "Run targeted tests under packages/schemas/tests when present",
          "expected": "Tests for the changed ownership boundary pass"
        }
      ]
    },
    {
      "id": "operation.hardware-preflight",
      "kind": "operation",
      "title": "Local inference hardware preflight",
      "summary": "Verify the requested endpoint, exact model, and actual GPU placement before any token-generating local inference.",
      "aliases": [
        "GPU gate",
        "nvidia-smi preflight",
        "local model hardware"
      ],
      "keywords": [
        "Ollama",
        "GPU placement",
        "CUDA_VISIBLE_DEVICES",
        "zero-token probe"
      ],
      "maturity": "stable",
      "prerequisites": [
        "User-designated endpoint",
        "Exact model tag",
        "Requested capable GPU"
      ],
      "references": [
        {
          "type": "policy",
          "target": "AGENTS.md",
          "relation": "mandatory-gate"
        }
      ],
      "related": [
        "provider.ollama",
        "provider.vllm",
        "capability.bring-your-own-inference"
      ]
    },
    {
      "id": "operation.install-discovery",
      "kind": "operation",
      "title": "Installation discovery bootstrap",
      "summary": "Expose concise secret-free discovery commands after install and add managed project guidance with omnius init.",
      "aliases": [
        "postinstall discovery",
        "agent setup",
        "omnius init"
      ],
      "keywords": [
        "installation",
        "AGENTS.md",
        "OMNIUS.md",
        "managed markers"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "cli",
          "target": "omnius init [--check|--dry-run|--json]"
        }
      ],
      "references": [
        {
          "type": "guide",
          "target": "docs/getting-started/install.md",
          "relation": "canonical-guide"
        }
      ],
      "related": [
        "command.init",
        "overview"
      ]
    },
    {
      "id": "operation.version-compatibility",
      "kind": "operation",
      "title": "Service version compatibility",
      "summary": "Reject execution before handler state creation when the running Omnius package is older than the client's required SemVer.",
      "aliases": [
        "runtime version gate",
        "stale Omnius service",
        "minimum version"
      ],
      "keywords": [
        "X-Omnius-Min-Version",
        "412",
        "400",
        "package_version"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "http",
          "target": "GET /version",
          "description": "Inspect package and API compatibility"
        },
        {
          "type": "header",
          "target": "X-Omnius-Min-Version: <semver>",
          "description": "Execution-time precondition"
        }
      ],
      "references": [
        {
          "type": "operation",
          "target": "docs/operations/version-compatibility.md",
          "relation": "canonical-guide"
        }
      ],
      "related": [
        "api.discovery",
        "api.tools",
        "capability.bring-your-own-inference"
      ]
    },
    {
      "id": "overview",
      "kind": "capability",
      "title": "Omnius agent bootstrap",
      "summary": "The canonical first stop for discovering Omnius by intent, choosing the correct surface, locating ownership and state, and verifying live behavior without guessing.",
      "aliases": [
        "omnius",
        "help",
        "start here",
        "capabilities",
        "agent bootstrap"
      ],
      "keywords": [
        "discover",
        "architecture",
        "workflow",
        "runtime",
        "state",
        "ownership"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "cli",
          "target": "omnius discover \"<intent>\""
        },
        {
          "type": "cli",
          "target": "omnius show <stable-id>"
        },
        {
          "type": "http",
          "target": "GET /v1/discovery/bootstrap"
        },
        {
          "type": "http",
          "target": "GET /v1/discovery?q=<intent>"
        },
        {
          "type": "file",
          "target": "docs/DISCOVERY.json"
        }
      ],
      "references": [
        {
          "type": "guide",
          "target": "docs/DISCOVERY.md",
          "relation": "start-here"
        },
        {
          "type": "guide",
          "target": "README.md",
          "relation": "overview"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "capability.osint-research",
        "api.discovery",
        "api.tools",
        "operation.version-compatibility"
      ],
      "layer": "discovery",
      "audiences": [
        "small-context-agent",
        "coding-agent",
        "integrator",
        "operator",
        "user"
      ],
      "use_when": [
        "You do not yet know which Omnius surface, layer, module, or workflow owns a task"
      ],
      "workflow": [
        {
          "step": "1",
          "action": "Search using the desired outcome, not an assumed implementation name.",
          "interface": "omnius discover \"<intent>\"",
          "expected": "A short ranked list of stable IDs"
        },
        {
          "step": "2",
          "action": "Expand one ID and inspect interfaces, safety, state, verification, and references.",
          "interface": "omnius show <stable-id>",
          "expected": "An actionable entry with source-of-truth links"
        },
        {
          "step": "3",
          "action": "If a daemon is involved, verify its version and live contract before execution.",
          "interface": "GET /version and GET /openapi.json",
          "expected": "The running service matches the required package and route contract"
        }
      ],
      "verification": [
        {
          "check": "Expand workflow.choose-entrypoint",
          "expected": "A decision table for all supported public surfaces"
        }
      ],
      "failure_modes": [
        {
          "symptom": "Search is noisy or finds an internal note first",
          "likely_cause": "The query is too generic",
          "recovery": "Filter by kind or expand one layer/workflow ID from the bootstrap list"
        }
      ],
      "source_of_truth": [
        "docs/discovery/agent-map.json",
        "docs/DISCOVERY.json",
        "packages/cli/src/discovery.ts"
      ]
    },
    {
      "id": "provider.anthropic",
      "kind": "provider",
      "title": "Anthropic Claude",
      "summary": "Claude through Anthropic's native Messages API with system, tool, streaming, stop-reason, and usage translation.",
      "aliases": [
        "anthropic",
        "claude"
      ],
      "keywords": [
        "messages api",
        "x-api-key",
        "anthropic-version",
        "tool_use",
        "tool_result"
      ],
      "interfaces": [
        {
          "type": "http-upstream",
          "target": "POST https://api.anthropic.com/v1/messages"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output"
      ],
      "auth": "x-api-key plus anthropic-version",
      "paths": {
        "chat": "/v1/messages",
        "models": "/v1/models"
      },
      "maturity": "stable",
      "protocol": "anthropic-messages",
      "base_url": "https://api.anthropic.com/v1",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        },
        {
          "type": "external",
          "target": "https://platform.claude.com/docs/en/api/messages/create",
          "relation": "upstream-contract"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-credentials",
        "config.provider-protocol"
      ]
    },
    {
      "id": "provider.cerebras",
      "kind": "provider",
      "title": "Cerebras",
      "summary": "Cerebras inference through its OpenAI-compatible API.",
      "aliases": [
        "cerebras cloud"
      ],
      "keywords": [
        "cloud",
        "openai compatible"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "openai-chat"
        },
        {
          "type": "endpoint",
          "target": "https://api.cerebras.ai/v1"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "Bearer",
      "paths": {
        "chat": "/v1/chat/completions",
        "models": "/v1/models",
        "embeddings": "/v1/embeddings"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "https://api.cerebras.ai/v1",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-credentials"
      ]
    },
    {
      "id": "provider.chutes",
      "kind": "provider",
      "title": "Chutes",
      "summary": "Chutes hosted models through an OpenAI-compatible API.",
      "aliases": [
        "chutes ai"
      ],
      "keywords": [
        "cloud",
        "openai compatible"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "openai-chat"
        },
        {
          "type": "endpoint",
          "target": "https://llm.chutes.ai/v1"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "Bearer",
      "paths": {
        "chat": "/v1/chat/completions",
        "models": "/v1/models",
        "embeddings": "/v1/embeddings"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "https://llm.chutes.ai/v1",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-credentials"
      ]
    },
    {
      "id": "provider.custom",
      "kind": "provider",
      "title": "Custom inference endpoint",
      "summary": "A user-supplied endpoint that remains disabled until its protocol is declared explicitly.",
      "aliases": [
        "custom provider",
        "custom URL"
      ],
      "keywords": [
        "fail closed",
        "unknown protocol",
        "endpoint"
      ],
      "maturity": "stable",
      "protocol": "explicitly required",
      "auth": "configured per endpoint",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "fail-closed-contract"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-protocol"
      ]
    },
    {
      "id": "provider.deepinfra",
      "kind": "provider",
      "title": "DeepInfra",
      "summary": "DeepInfra hosted models through its OpenAI-compatible prefix.",
      "aliases": [
        "deep infra"
      ],
      "keywords": [
        "cloud",
        "openai compatible"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "openai-chat"
        },
        {
          "type": "endpoint",
          "target": "https://api.deepinfra.com/v1/openai"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "Bearer",
      "paths": {
        "chat": "/v1/openai/chat/completions",
        "models": "/v1/openai/models",
        "embeddings": "/v1/openai/embeddings"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "https://api.deepinfra.com/v1/openai",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-credentials"
      ]
    },
    {
      "id": "provider.fireworks",
      "kind": "provider",
      "title": "Fireworks AI",
      "summary": "Fireworks hosted inference through its OpenAI-compatible prefix.",
      "aliases": [
        "fireworks"
      ],
      "keywords": [
        "cloud",
        "openai compatible"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "openai-chat"
        },
        {
          "type": "endpoint",
          "target": "https://api.fireworks.ai/inference/v1"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "Bearer",
      "paths": {
        "chat": "/inference/v1/chat/completions",
        "models": "/inference/v1/models",
        "embeddings": "/inference/v1/embeddings"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "https://api.fireworks.ai/inference/v1",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-credentials"
      ]
    },
    {
      "id": "provider.gemini",
      "kind": "provider",
      "title": "Google Gemini",
      "summary": "Gemini through Google's official OpenAI-compatible endpoint with Bearer authentication.",
      "aliases": [
        "gemini",
        "google",
        "google-ai"
      ],
      "keywords": [
        "openai compatibility",
        "generativelanguage",
        "v1beta",
        "bearer"
      ],
      "interfaces": [
        {
          "type": "http-upstream",
          "target": "POST https://generativelanguage.googleapis.com/v1beta/openai/chat/completions"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "Bearer plus x-goog-api-client",
      "paths": {
        "chat": "/v1beta/openai/chat/completions",
        "models": "/v1beta/openai/models",
        "embeddings": "/v1beta/openai/embeddings"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "https://generativelanguage.googleapis.com/v1beta/openai",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        },
        {
          "type": "external",
          "target": "https://ai.google.dev/gemini-api/docs/openai",
          "relation": "upstream-contract"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-credentials",
        "config.provider-protocol"
      ]
    },
    {
      "id": "provider.groq",
      "kind": "provider",
      "title": "Groq",
      "summary": "Groq hosted inference through its OpenAI-compatible API.",
      "aliases": [
        "groq cloud"
      ],
      "keywords": [
        "cloud",
        "openai compatible"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "openai-chat"
        },
        {
          "type": "endpoint",
          "target": "https://api.groq.com/openai/v1"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "Bearer",
      "paths": {
        "chat": "/openai/v1/chat/completions",
        "models": "/openai/v1/models",
        "embeddings": "/openai/v1/embeddings"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "https://api.groq.com/openai/v1",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-credentials"
      ]
    },
    {
      "id": "provider.hyperbolic",
      "kind": "provider",
      "title": "Hyperbolic",
      "summary": "Hyperbolic hosted models through an OpenAI-compatible API.",
      "aliases": [
        "hyperbolic xyz"
      ],
      "keywords": [
        "cloud",
        "openai compatible"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "openai-chat"
        },
        {
          "type": "endpoint",
          "target": "https://api.hyperbolic.xyz/v1"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "Bearer",
      "paths": {
        "chat": "/v1/chat/completions",
        "models": "/v1/models",
        "embeddings": "/v1/embeddings"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "https://api.hyperbolic.xyz/v1",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-credentials"
      ]
    },
    {
      "id": "provider.lmstudio",
      "kind": "provider",
      "title": "LM Studio",
      "summary": "A local OpenAI-compatible LM Studio server, normally on port 1234.",
      "aliases": [
        "lm studio"
      ],
      "keywords": [
        "local",
        "openai compatible"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "openai-chat"
        },
        {
          "type": "endpoint",
          "target": "http://127.0.0.1:1234/v1"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "optional Bearer",
      "paths": {
        "chat": "/v1/chat/completions",
        "models": "/v1/models",
        "embeddings": "/v1/embeddings"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "http://127.0.0.1:1234/v1",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "operation.hardware-preflight"
      ]
    },
    {
      "id": "provider.mistral",
      "kind": "provider",
      "title": "Mistral AI",
      "summary": "Mistral hosted models through an OpenAI-compatible API.",
      "aliases": [
        "mistral"
      ],
      "keywords": [
        "cloud",
        "openai compatible"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "openai-chat"
        },
        {
          "type": "endpoint",
          "target": "https://api.mistral.ai/v1"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "Bearer",
      "paths": {
        "chat": "/v1/chat/completions",
        "models": "/v1/models",
        "embeddings": "/v1/embeddings"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "https://api.mistral.ai/v1",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-credentials"
      ]
    },
    {
      "id": "provider.nvidia",
      "kind": "provider",
      "title": "NVIDIA NIM",
      "summary": "NVIDIA-hosted NIM models through an OpenAI-compatible API.",
      "aliases": [
        "nvidia",
        "nim"
      ],
      "keywords": [
        "cloud",
        "openai compatible"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "openai-chat"
        },
        {
          "type": "endpoint",
          "target": "https://integrate.api.nvidia.com/v1"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "Bearer",
      "paths": {
        "chat": "/v1/chat/completions",
        "models": "/v1/models",
        "embeddings": "/v1/embeddings"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "https://integrate.api.nvidia.com/v1",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-credentials"
      ]
    },
    {
      "id": "provider.ollama",
      "kind": "provider",
      "title": "Ollama",
      "summary": "Local Ollama inference using native Ollama model, chat, generate, and embeddings paths.",
      "aliases": [
        "local Ollama"
      ],
      "keywords": [
        "local",
        "ollama",
        "api tags"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "ollama"
        },
        {
          "type": "endpoint",
          "target": "http://127.0.0.1:11434"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "none by default",
      "paths": {
        "chat": "/v1/chat/completions",
        "nativeChat": "/api/chat",
        "models": "/api/tags",
        "embeddings": "/api/embed",
        "health": "/api/tags"
      },
      "maturity": "stable",
      "protocol": "ollama",
      "base_url": "http://127.0.0.1:11434",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "operation.hardware-preflight"
      ]
    },
    {
      "id": "provider.openai",
      "kind": "provider",
      "title": "OpenAI",
      "summary": "OpenAI models through the OpenAI chat-compatible protocol and Bearer authentication.",
      "aliases": [
        "openai api"
      ],
      "keywords": [
        "cloud",
        "openai-chat",
        "bearer"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "openai-chat"
        },
        {
          "type": "endpoint",
          "target": "https://api.openai.com/v1"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "Bearer",
      "paths": {
        "chat": "/v1/chat/completions",
        "models": "/v1/models",
        "embeddings": "/v1/embeddings"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "https://api.openai.com/v1",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-credentials"
      ]
    },
    {
      "id": "provider.openrouter",
      "kind": "provider",
      "title": "OpenRouter",
      "summary": "OpenAI-compatible routing across hosted model providers.",
      "aliases": [
        "open router"
      ],
      "keywords": [
        "router",
        "cloud",
        "bearer"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "openai-chat"
        },
        {
          "type": "endpoint",
          "target": "https://openrouter.ai/api/v1"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "Bearer",
      "paths": {
        "chat": "/v1/chat/completions",
        "models": "/v1/models",
        "embeddings": "/v1/embeddings"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "https://openrouter.ai/api/v1",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-credentials"
      ]
    },
    {
      "id": "provider.sambanova",
      "kind": "provider",
      "title": "SambaNova",
      "summary": "SambaNova inference through its OpenAI-compatible API.",
      "aliases": [
        "samba nova"
      ],
      "keywords": [
        "cloud",
        "openai compatible"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "openai-chat"
        },
        {
          "type": "endpoint",
          "target": "https://api.sambanova.ai/v1"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "Bearer",
      "paths": {
        "chat": "/v1/chat/completions",
        "models": "/v1/models",
        "embeddings": "/v1/embeddings"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "https://api.sambanova.ai/v1",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-credentials"
      ]
    },
    {
      "id": "provider.together",
      "kind": "provider",
      "title": "Together AI",
      "summary": "Together hosted inference through its OpenAI-compatible API.",
      "aliases": [
        "together"
      ],
      "keywords": [
        "cloud",
        "openai compatible"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "openai-chat"
        },
        {
          "type": "endpoint",
          "target": "https://api.together.xyz/v1"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "Bearer",
      "paths": {
        "chat": "/v1/chat/completions",
        "models": "/v1/models",
        "embeddings": "/v1/embeddings"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "https://api.together.xyz/v1",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "config.provider-credentials"
      ]
    },
    {
      "id": "provider.vllm",
      "kind": "provider",
      "title": "vLLM",
      "summary": "A self-hosted OpenAI-compatible vLLM server, normally on port 8000.",
      "aliases": [
        "vllm",
        "self hosted openai"
      ],
      "keywords": [
        "local",
        "openai compatible",
        "gpu"
      ],
      "interfaces": [
        {
          "type": "provider-protocol",
          "target": "openai-chat"
        },
        {
          "type": "endpoint",
          "target": "http://127.0.0.1:8000/v1"
        }
      ],
      "capabilities": [
        "chat",
        "streaming",
        "models",
        "tools",
        "structured-output",
        "embeddings"
      ],
      "auth": "optional Bearer",
      "paths": {
        "chat": "/v1/chat/completions",
        "models": "/v1/models",
        "embeddings": "/v1/embeddings",
        "health": "/health"
      },
      "maturity": "stable",
      "protocol": "openai-chat",
      "base_url": "http://127.0.0.1:8000/v1",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/bring-your-own-inference.md",
          "relation": "provider-guide"
        }
      ],
      "related": [
        "capability.bring-your-own-inference",
        "operation.hardware-preflight"
      ]
    },
    {
      "id": "runtime.daemon",
      "kind": "runtime",
      "title": "REST daemon",
      "summary": "Long-running HTTP/WebSocket service, normally on 127.0.0.1:11435, that owns automation, dashboard, chat/run, tool, voice, media, update, and health routes.",
      "aliases": [
        "service",
        "port 11435"
      ],
      "keywords": [
        "REST",
        "HTTP",
        "websocket"
      ],
      "maturity": "stable",
      "layer": "operations",
      "interfaces": [
        {
          "type": "cli",
          "target": "omnius daemon"
        },
        {
          "type": "http",
          "target": "GET /version"
        }
      ],
      "verification": [
        {
          "check": "GET /health and GET /version",
          "expected": "Healthy response and the intended installed package version"
        }
      ],
      "failure_modes": [
        {
          "symptom": "Port 11435 is occupied by an old runtime",
          "likely_cause": "Stale daemon ownership",
          "recovery": "Use the documented daemon start/reclaim flow; verify the new PID and /version rather than killing unrelated processes"
        }
      ],
      "source_of_truth": [
        "packages/cli/src/daemon.ts",
        "packages/cli/src/api/serve.ts"
      ]
    },
    {
      "id": "runtime.dashboard",
      "kind": "runtime",
      "title": "Dashboard",
      "summary": "Browser UI served by the daemon for projects, chats, runs, activity, voice/media, settings, updates, and observability.",
      "aliases": [
        "web UI"
      ],
      "keywords": [
        "browser",
        "GUI"
      ],
      "maturity": "stable",
      "layer": "interface",
      "interfaces": [
        {
          "type": "http",
          "target": "GET /"
        }
      ],
      "source_of_truth": [
        "packages/cli/src/api/web-ui.ts"
      ]
    },
    {
      "id": "runtime.model-workers",
      "kind": "runtime",
      "title": "Model and media workers",
      "summary": "External local processes and managed Python environments used for inference, ASR, TTS, and generated media; their real hardware placement must be verified before live inference.",
      "aliases": [
        "workers",
        "venv"
      ],
      "keywords": [
        "GPU",
        "Python",
        "Ollama"
      ],
      "maturity": "stable",
      "layer": "inference",
      "safety": {
        "hardware_preflight_required": true
      },
      "source_of_truth": [
        "packages/execution/src/asr",
        "packages/execution/src/transcribe-python-runtime.ts",
        "packages/cli/src/api/voice-runtime.ts"
      ]
    },
    {
      "id": "runtime.one-shot",
      "kind": "runtime",
      "title": "One-shot CLI task",
      "summary": "Foreground single-task agent execution from a shell, suitable when the caller can wait for completion and consume terminal output.",
      "aliases": [
        "one shot"
      ],
      "keywords": [
        "CLI",
        "task"
      ],
      "maturity": "stable",
      "layer": "orchestration",
      "interfaces": [
        {
          "type": "cli",
          "target": "omnius \"<task>\""
        }
      ],
      "source_of_truth": [
        "packages/cli/src/index.ts",
        "packages/cli/src/commands/run.ts"
      ]
    },
    {
      "id": "runtime.telegram",
      "kind": "runtime",
      "title": "Telegram gateway",
      "summary": "Scoped external chat/control bridge with its own authentication, command exposure, persona/session state, and observability.",
      "aliases": [
        "bot"
      ],
      "keywords": [
        "gateway",
        "remote"
      ],
      "maturity": "stable",
      "layer": "interface",
      "interfaces": [
        {
          "type": "tui",
          "target": "/telegram"
        }
      ],
      "source_of_truth": [
        "packages/cli/src/tui/telegram-bridge.ts",
        "docs/guides/telegram.md"
      ]
    },
    {
      "id": "runtime.tray",
      "kind": "runtime",
      "title": "System tray indicator",
      "summary": "Desktop status and update control registered through the host tray implementation, focused on Ubuntu/Linux and linked to daemon readiness.",
      "aliases": [
        "indicator"
      ],
      "keywords": [
        "tray",
        "desktop",
        "Ubuntu"
      ],
      "maturity": "stable",
      "layer": "operations",
      "interfaces": [
        {
          "type": "cli",
          "target": "omnius indicator"
        },
        {
          "type": "tui",
          "target": "/indicator"
        }
      ],
      "verification": [
        {
          "check": "Run indicator status after startup",
          "expected": "Tray readiness and daemon online state are both reported"
        }
      ],
      "source_of_truth": [
        "packages/cli/src/tray.ts",
        "packages/cli/src/tui/indicator-command.ts"
      ]
    },
    {
      "id": "runtime.tui",
      "kind": "runtime",
      "title": "Interactive TUI",
      "summary": "Foreground terminal control plane for chat, tasks, slash commands, action trees, media, setup, and operator confirmation.",
      "aliases": [
        "omnius interactive"
      ],
      "keywords": [
        "terminal",
        "chat"
      ],
      "maturity": "stable",
      "layer": "interface",
      "interfaces": [
        {
          "type": "cli",
          "target": "omnius"
        }
      ],
      "state": {
        "project": "<project>/.omnius",
        "global": "~/.omnius"
      },
      "source_of_truth": [
        "packages/cli/src/tui/interactive.ts",
        "packages/cli/src/tui/commands.ts"
      ]
    },
    {
      "id": "skill.agent-failure-recovery",
      "kind": "skill",
      "title": "Agent failure recovery",
      "summary": "Convert failed calls into bounded evidence-backed recovery actions and stop blind retries.",
      "aliases": [
        "recover tool failure",
        "stale hash",
        "unknown tool"
      ],
      "keywords": [
        "retry loop",
        "agent recovery",
        "bounded recovery"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/agent-failure-recovery/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"agent-failure-recovery\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/agent-failure-recovery/SKILL.md",
          "relation": "definition"
        },
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-docs/manifest.json",
          "relation": "bundle"
        }
      ],
      "related": [
        "addon.omnius-docs"
      ]
    },
    {
      "id": "skill.browser-interaction-validation",
      "kind": "skill",
      "title": "Browser interaction validation",
      "summary": "Validate a user-facing browser flow with canonical Playwright interactions, explicit postconditions, and honest blocked or inconclusive evidence.",
      "aliases": [
        "browser interaction validation",
        "UI interaction test",
        "Playwright validation",
        "browser flow"
      ],
      "keywords": [
        "dashboard validation",
        "form interaction",
        "postcondition",
        "browser evidence"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/browser-interaction-validation/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"browser-interaction-validation\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/browser-interaction-validation/SKILL.md",
          "relation": "definition"
        },
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-docs/manifest.json",
          "relation": "bundle"
        }
      ],
      "related": [
        "addon.omnius-docs"
      ]
    },
    {
      "id": "skill.evidence-directed-delivery",
      "kind": "skill",
      "title": "Evidence-directed delivery",
      "summary": "Use claim-and-evidence, anti-reward-hacking, bounded recovery, and feedback-only completion rules for non-trivial work.",
      "aliases": [
        "evidence based completion",
        "delivery audit",
        "completion evidence"
      ],
      "keywords": [
        "verify claims",
        "remaining gaps",
        "evidence"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/evidence-directed-delivery/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"evidence-directed-delivery\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/evidence-directed-delivery/SKILL.md",
          "relation": "definition"
        },
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-docs/manifest.json",
          "relation": "bundle"
        }
      ],
      "related": [
        "addon.omnius-docs"
      ]
    },
    {
      "id": "skill.hardware-evidence-audit",
      "kind": "skill",
      "title": "Hardware evidence audit",
      "summary": "Classify static, simulation, integration, and physical-device evidence without overstating hardware proof.",
      "aliases": [
        "hardware validation",
        "device evidence",
        "simulation versus hardware"
      ],
      "keywords": [
        "firmware test",
        "physical device",
        "evidence ladder"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/hardware-evidence-audit/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"hardware-evidence-audit\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/hardware-evidence-audit/SKILL.md",
          "relation": "definition"
        },
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-docs/manifest.json",
          "relation": "bundle"
        }
      ],
      "related": [
        "addon.omnius-docs"
      ]
    },
    {
      "id": "skill.omnius-agent-onboarding",
      "kind": "skill",
      "title": "omnius-agent-onboarding",
      "summary": "Bootstrap any agent into Omnius, choose the correct entrypoint, locate layer/module/state ownership, and verify live behavior without guessing.",
      "aliases": [
        "omnius-agent-onboarding"
      ],
      "keywords": [
        "skill",
        "project-local",
        "omnius",
        "documentation",
        "discovery",
        "agent-onboarding",
        "system-map",
        "inference",
        "tools",
        "operations",
        "project-local"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-agent-onboarding/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"omnius-agent-onboarding\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-agent-onboarding/SKILL.md",
          "relation": "definition"
        },
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-docs/manifest.json",
          "relation": "bundle"
        }
      ],
      "related": [
        "addon.omnius-docs"
      ]
    },
    {
      "id": "skill.omnius-docs",
      "kind": "skill",
      "title": "Omnius documentation router",
      "summary": "Find the smallest Omnius documentation artifact needed for a question.",
      "aliases": [
        "omnius-docs"
      ],
      "keywords": [
        "docs",
        "routing",
        "incremental context"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-docs/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"omnius-docs\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-docs/SKILL.md",
          "relation": "definition"
        }
      ],
      "related": [
        "overview",
        "skill.omnius-rest-docs"
      ]
    },
    {
      "id": "skill.omnius-inference-docs",
      "kind": "skill",
      "title": "Omnius inference documentation",
      "summary": "Route provider, protocol, credential, Claude, Gemini, and custom endpoint questions.",
      "aliases": [
        "omnius-inference-docs"
      ],
      "keywords": [
        "provider",
        "inference",
        "keys",
        "protocol"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-inference-docs/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"omnius-inference-docs\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-inference-docs/SKILL.md",
          "relation": "definition"
        }
      ],
      "related": [
        "capability.bring-your-own-inference"
      ]
    },
    {
      "id": "skill.omnius-integration-docs",
      "kind": "skill",
      "title": "Omnius integration documentation",
      "summary": "Route agent and service integration through discovery, OpenAPI, provider, tool, auth, and version contracts.",
      "aliases": [
        "omnius-integration-docs"
      ],
      "keywords": [
        "integration",
        "adapter",
        "service",
        "agent"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-integration-docs/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"omnius-integration-docs\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-integration-docs/SKILL.md",
          "relation": "definition"
        }
      ],
      "related": [
        "api.discovery",
        "operation.version-compatibility"
      ]
    },
    {
      "id": "skill.omnius-ops-docs",
      "kind": "skill",
      "title": "omnius-ops-docs",
      "summary": "Operate Omnius safely through runtime hygiene, remote access, scoped keys, model cleanup, and failure capture guidance.",
      "aliases": [
        "omnius-ops-docs"
      ],
      "keywords": [
        "skill",
        "project-local",
        "omnius",
        "documentation",
        "discovery",
        "agent-onboarding",
        "system-map",
        "inference",
        "tools",
        "operations",
        "project-local"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-ops-docs/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"omnius-ops-docs\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-ops-docs/SKILL.md",
          "relation": "definition"
        },
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-docs/manifest.json",
          "relation": "bundle"
        }
      ],
      "related": [
        "addon.omnius-docs"
      ]
    },
    {
      "id": "skill.omnius-realtime-docs",
      "kind": "skill",
      "title": "omnius-realtime-docs",
      "summary": "Use Omnius realtime spoken conversation through the TUI or REST with bounded ASR, TTS, history, and persona context.",
      "aliases": [
        "omnius-realtime-docs"
      ],
      "keywords": [
        "skill",
        "project-local",
        "omnius",
        "documentation",
        "discovery",
        "agent-onboarding",
        "system-map",
        "inference",
        "tools",
        "operations",
        "project-local"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-realtime-docs/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"omnius-realtime-docs\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-realtime-docs/SKILL.md",
          "relation": "definition"
        },
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-docs/manifest.json",
          "relation": "bundle"
        }
      ],
      "related": [
        "addon.omnius-docs"
      ]
    },
    {
      "id": "skill.omnius-rest-docs",
      "kind": "skill",
      "title": "Omnius REST documentation router",
      "summary": "Route a REST API question to the smallest endpoint-family reference.",
      "aliases": [
        "omnius-rest-docs"
      ],
      "keywords": [
        "REST",
        "OpenAPI",
        "endpoint"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-rest-docs/skills/omnius-rest-docs/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"omnius-rest-docs\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-rest-docs/skills/omnius-rest-docs/SKILL.md",
          "relation": "definition"
        }
      ],
      "related": [
        "api.openapi",
        "api.discovery",
        "skill.omnius-docs"
      ]
    },
    {
      "id": "skill.omnius-sponsor-docs",
      "kind": "skill",
      "title": "omnius-sponsor-docs",
      "summary": "Configure sponsor and COHERE inference, endpoint passthrough, media sponsorship, and peer telemetry.",
      "aliases": [
        "omnius-sponsor-docs"
      ],
      "keywords": [
        "skill",
        "project-local",
        "omnius",
        "documentation",
        "discovery",
        "agent-onboarding",
        "system-map",
        "inference",
        "tools",
        "operations",
        "project-local"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-sponsor-docs/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"omnius-sponsor-docs\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-sponsor-docs/SKILL.md",
          "relation": "definition"
        },
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-docs/manifest.json",
          "relation": "bundle"
        }
      ],
      "related": [
        "addon.omnius-docs"
      ]
    },
    {
      "id": "skill.omnius-telegram-docs",
      "kind": "skill",
      "title": "omnius-telegram-docs",
      "summary": "Configure the Telegram bridge, scoped persona state, reply preferences, media intake, and failure feedback.",
      "aliases": [
        "omnius-telegram-docs"
      ],
      "keywords": [
        "skill",
        "project-local",
        "omnius",
        "documentation",
        "discovery",
        "agent-onboarding",
        "system-map",
        "inference",
        "tools",
        "operations",
        "project-local"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-telegram-docs/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"omnius-telegram-docs\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-telegram-docs/SKILL.md",
          "relation": "definition"
        },
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-docs/manifest.json",
          "relation": "bundle"
        }
      ],
      "related": [
        "addon.omnius-docs"
      ]
    },
    {
      "id": "skill.omnius-tools-docs",
      "kind": "skill",
      "title": "Omnius tools documentation",
      "summary": "Route tool discovery and direct-versus-agent-bound invocation questions.",
      "aliases": [
        "omnius-tools-docs"
      ],
      "keywords": [
        "tools",
        "web search",
        "direct callable",
        "MCP"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-tools-docs/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"omnius-tools-docs\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-tools-docs/SKILL.md",
          "relation": "definition"
        }
      ],
      "related": [
        "tool.web-search",
        "api.tools"
      ]
    },
    {
      "id": "skill.omnius-version-compatibility-docs",
      "kind": "skill",
      "title": "Omnius version compatibility documentation",
      "summary": "Route stale-daemon and minimum-version questions to the runtime gate contract.",
      "aliases": [
        "omnius-version-compatibility-docs"
      ],
      "keywords": [
        "version",
        "stale service",
        "412",
        "SemVer"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-version-compatibility-docs/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"omnius-version-compatibility-docs\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/omnius-version-compatibility-docs/SKILL.md",
          "relation": "definition"
        }
      ],
      "related": [
        "operation.version-compatibility"
      ]
    },
    {
      "id": "skill.runtime-provenance-audit",
      "kind": "skill",
      "title": "Runtime provenance audit",
      "summary": "Prove active process, artifact, port, configuration, and restart ownership for runtime claims.",
      "aliases": [
        "runtime provenance",
        "deployed version",
        "process audit"
      ],
      "keywords": [
        "service ownership",
        "running artifact",
        "deployment"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/runtime-provenance-audit/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"runtime-provenance-audit\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/runtime-provenance-audit/SKILL.md",
          "relation": "definition"
        },
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-docs/manifest.json",
          "relation": "bundle"
        }
      ],
      "related": [
        "addon.omnius-docs"
      ]
    },
    {
      "id": "skill.secrets-and-config-audit",
      "kind": "skill",
      "title": "Secrets and configuration audit",
      "summary": "Audit credential and configuration provenance without exposing secret values.",
      "aliases": [
        "secret audit",
        "credential provenance",
        "endpoint credential"
      ],
      "keywords": [
        "configuration security",
        "secrets",
        "redaction"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/secrets-and-config-audit/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"secrets-and-config-audit\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/secrets-and-config-audit/SKILL.md",
          "relation": "definition"
        },
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-docs/manifest.json",
          "relation": "bundle"
        }
      ],
      "related": [
        "addon.omnius-docs"
      ]
    },
    {
      "id": "skill.test-surface-audit",
      "kind": "skill",
      "title": "Test surface audit",
      "summary": "Map canonical tests to claims and expose placeholder, mock-only, copied-logic, and unwired verification gaps.",
      "aliases": [
        "test audit",
        "test coverage",
        "test surface"
      ],
      "keywords": [
        "canonical test",
        "mock only",
        "verification"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/test-surface-audit/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"test-surface-audit\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/test-surface-audit/SKILL.md",
          "relation": "definition"
        },
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-docs/manifest.json",
          "relation": "bundle"
        }
      ],
      "related": [
        "addon.omnius-docs"
      ]
    },
    {
      "id": "skill.workspace-reality-audit",
      "kind": "skill",
      "title": "Workspace reality audit",
      "summary": "Audit repository truth, generated artifacts, documentation drift, and delivery ownership before claiming progress.",
      "aliases": [
        "workspace audit",
        "repository reality"
      ],
      "keywords": [
        "stale artifact",
        "untracked source",
        "documentation drift"
      ],
      "maturity": "stable",
      "interfaces": [
        {
          "type": "file",
          "target": ".aiwg/addons/omnius-docs/skills/workspace-reality-audit/SKILL.md"
        },
        {
          "type": "skill-search",
          "target": "skill_list filter=\"workspace-reality-audit\""
        }
      ],
      "references": [
        {
          "type": "skill",
          "target": ".aiwg/addons/omnius-docs/skills/workspace-reality-audit/SKILL.md",
          "relation": "definition"
        },
        {
          "type": "manifest",
          "target": ".aiwg/addons/omnius-docs/manifest.json",
          "relation": "bundle"
        }
      ],
      "related": [
        "addon.omnius-docs"
      ]
    },
    {
      "id": "store.global",
      "kind": "store",
      "title": "User-global state",
      "summary": "Machine/user-scoped Omnius state under ~/.omnius for daemon identity, global configuration and credentials, shared managed environments, model weights, media store, updates, and cross-project registries.",
      "aliases": [
        "~/.omnius",
        "global state"
      ],
      "keywords": [
        "models",
        "venv",
        "credentials",
        "daemon"
      ],
      "maturity": "stable",
      "layer": "persistence",
      "audiences": [
        "operator",
        "coding-agent",
        "integrator"
      ],
      "use_when": [
        "Managing runtime-wide installation, credentials, shared models, or service identity"
      ],
      "avoid_when": [
        "Persisting project conversation or task state that should not leak between workspaces"
      ],
      "interfaces": [
        {
          "type": "filesystem",
          "target": "~/.omnius"
        }
      ],
      "safety": {
        "may_contain_secrets": true,
        "never_emit_raw_values": true
      },
      "source_of_truth": [
        "packages/cli/src/config.ts",
        "packages/cli/src/daemon.ts",
        "packages/execution/src/tools/model-store.ts"
      ]
    },
    {
      "id": "store.project",
      "kind": "store",
      "title": "Project-local state",
      "summary": "State scoped to one workspace under <project>/.omnius, including sessions, task/run artifacts, project context, indexes, memories, skills, and UI preferences where applicable.",
      "aliases": [
        ".omnius",
        "workspace state"
      ],
      "keywords": [
        "sessions",
        "project",
        "memory"
      ],
      "maturity": "stable",
      "layer": "persistence",
      "audiences": [
        "all-agents"
      ],
      "use_when": [
        "Reading or changing state that must follow the active workspace"
      ],
      "avoid_when": [
        "Storing machine-wide credentials, shared model weights, or global runtime installations"
      ],
      "interfaces": [
        {
          "type": "filesystem",
          "target": "<project>/.omnius"
        }
      ],
      "verification": [
        {
          "check": "Resolve the active workspace before reading or writing",
          "expected": "The state path belongs to the intended project"
        }
      ],
      "failure_modes": [
        {
          "symptom": "Chats, indexes, or memory appear to belong to another project",
          "likely_cause": "The active workspace or state root was inferred incorrectly",
          "recovery": "Resolve the project through the workspace registry and use the selected project's .omnius path"
        }
      ],
      "source_of_truth": [
        "packages/cli/src/tui/project-context.ts",
        "packages/cli/src/tui/omnius-directory.ts"
      ]
    },
    {
      "id": "tool.agenda",
      "kind": "tool",
      "title": "Agenda",
      "summary": "agenda is a directly callable Omnius tool.",
      "aliases": [
        "agenda"
      ],
      "keywords": [
        "tool",
        "agenda"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/agenda"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/agenda/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/agenda.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/agenda",
      "source_of_truth": [
        "packages/execution/src/tools/agenda.ts",
        "GET /v1/tools/agenda"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/agenda before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.agent",
      "kind": "tool",
      "title": "Agent",
      "summary": "agent is a directly callable Omnius tool.",
      "aliases": [
        "agent"
      ],
      "keywords": [
        "tool",
        "agent"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/agent"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/agent/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/agent-tool.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/agent",
      "source_of_truth": [
        "packages/execution/src/tools/agent-tool.ts",
        "GET /v1/tools/agent"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/agent before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.aiwg-health",
      "kind": "tool",
      "title": "Aiwg Health",
      "summary": "aiwg_health is a directly callable Omnius tool.",
      "aliases": [
        "aiwg_health"
      ],
      "keywords": [
        "tool",
        "aiwg",
        "health"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/aiwg_health"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/aiwg_health/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/aiwg-health.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/aiwg_health",
      "source_of_truth": [
        "packages/execution/src/tools/aiwg-health.ts",
        "GET /v1/tools/aiwg_health"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/aiwg_health before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.aiwg-setup",
      "kind": "tool",
      "title": "Aiwg Setup",
      "summary": "aiwg_setup is a directly callable Omnius tool.",
      "aliases": [
        "aiwg_setup"
      ],
      "keywords": [
        "tool",
        "aiwg",
        "setup"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/aiwg_setup"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/aiwg_setup/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/aiwg-setup.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/aiwg_setup",
      "source_of_truth": [
        "packages/execution/src/tools/aiwg-setup.ts",
        "GET /v1/tools/aiwg_setup"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/aiwg_setup before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.aiwg-workflow",
      "kind": "tool",
      "title": "Aiwg Workflow",
      "summary": "aiwg_workflow is a directly callable Omnius tool.",
      "aliases": [
        "aiwg_workflow"
      ],
      "keywords": [
        "tool",
        "aiwg",
        "workflow"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/aiwg_workflow"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/aiwg_workflow/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/aiwg-workflow.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/aiwg_workflow",
      "source_of_truth": [
        "packages/execution/src/tools/aiwg-workflow.ts",
        "GET /v1/tools/aiwg_workflow"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/aiwg_workflow before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.asr-listen",
      "kind": "tool",
      "title": "Asr Listen",
      "summary": "asr_listen is a directly callable Omnius tool.",
      "aliases": [
        "asr_listen"
      ],
      "keywords": [
        "tool",
        "asr",
        "listen"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/asr_listen"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/asr_listen/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/asr-listen.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/asr_listen",
      "source_of_truth": [
        "packages/execution/src/tools/asr-listen.ts",
        "GET /v1/tools/asr_listen"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/asr_listen before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.audio-analyze",
      "kind": "tool",
      "title": "Audio Analyze",
      "summary": "audio_analyze is a directly callable Omnius tool.",
      "aliases": [
        "audio_analyze"
      ],
      "keywords": [
        "tool",
        "audio",
        "analyze"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/audio_analyze"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/audio_analyze/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/audio-analyze.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/audio_analyze",
      "source_of_truth": [
        "packages/execution/src/tools/audio-analyze.ts",
        "GET /v1/tools/audio_analyze"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/audio_analyze before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.audio-capture",
      "kind": "tool",
      "title": "Audio Capture",
      "summary": "audio_capture is a directly callable Omnius tool.",
      "aliases": [
        "audio_capture"
      ],
      "keywords": [
        "tool",
        "audio",
        "capture"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/audio_capture"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/audio_capture/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/audio-capture.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/audio_capture",
      "source_of_truth": [
        "packages/execution/src/tools/audio-capture.ts",
        "GET /v1/tools/audio_capture"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/audio_capture before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.audio-playback",
      "kind": "tool",
      "title": "Audio Playback",
      "summary": "audio_playback is a directly callable Omnius tool.",
      "aliases": [
        "audio_playback"
      ],
      "keywords": [
        "tool",
        "audio",
        "playback"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/audio_playback"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/audio_playback/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/audio-playback.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/audio_playback",
      "source_of_truth": [
        "packages/execution/src/tools/audio-playback.ts",
        "GET /v1/tools/audio_playback"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/audio_playback before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.autoresearch",
      "kind": "tool",
      "title": "Autoresearch",
      "summary": "autoresearch is a directly callable Omnius tool.",
      "aliases": [
        "autoresearch"
      ],
      "keywords": [
        "tool",
        "autoresearch"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/autoresearch"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/autoresearch/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/autoresearch.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/autoresearch",
      "source_of_truth": [
        "packages/execution/src/tools/autoresearch.ts",
        "GET /v1/tools/autoresearch"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/autoresearch before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.av-comprehend",
      "kind": "tool",
      "title": "Av Comprehend",
      "summary": "av_comprehend is a directly callable Omnius tool.",
      "aliases": [
        "av_comprehend"
      ],
      "keywords": [
        "tool",
        "av",
        "comprehend"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/av_comprehend"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/av_comprehend/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/av-comprehend.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/av_comprehend",
      "source_of_truth": [
        "packages/execution/src/tools/av-comprehend.ts",
        "GET /v1/tools/av_comprehend"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/av_comprehend before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.background-run",
      "kind": "tool",
      "title": "Background Run",
      "summary": "background_run is a directly callable Omnius tool.",
      "aliases": [
        "background_run"
      ],
      "keywords": [
        "tool",
        "background",
        "run"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/background_run"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/background_run/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/background-task.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/background_run",
      "source_of_truth": [
        "packages/execution/src/tools/background-task.ts",
        "GET /v1/tools/background_run"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/background_run before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.batch-edit",
      "kind": "tool",
      "title": "Batch Edit",
      "summary": "batch_edit is a directly callable Omnius tool.",
      "aliases": [
        "batch_edit"
      ],
      "keywords": [
        "tool",
        "batch",
        "edit"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/batch_edit"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/batch_edit/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/batch-edit.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/batch_edit",
      "source_of_truth": [
        "packages/execution/src/tools/batch-edit.ts",
        "GET /v1/tools/batch_edit"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/batch_edit before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.bluetooth-scan",
      "kind": "tool",
      "title": "Bluetooth Scan",
      "summary": "bluetooth_scan is a directly callable Omnius tool.",
      "aliases": [
        "bluetooth_scan"
      ],
      "keywords": [
        "tool",
        "bluetooth",
        "scan"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/bluetooth_scan"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/bluetooth_scan/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/bluetooth-scan.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/bluetooth_scan",
      "source_of_truth": [
        "packages/execution/src/tools/bluetooth-scan.ts",
        "GET /v1/tools/bluetooth_scan"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/bluetooth_scan before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.browser-action",
      "kind": "tool",
      "title": "Browser Action",
      "summary": "browser_action is a directly callable Omnius tool.",
      "aliases": [
        "browser_action"
      ],
      "keywords": [
        "tool",
        "browser",
        "action"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/browser_action"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/browser_action/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/browser-action.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/browser_action",
      "source_of_truth": [
        "packages/execution/src/tools/browser-action.ts",
        "GET /v1/tools/browser_action"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/browser_action before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.camera-capture",
      "kind": "tool",
      "title": "Camera Capture",
      "summary": "camera_capture is a directly callable Omnius tool.",
      "aliases": [
        "camera_capture"
      ],
      "keywords": [
        "tool",
        "camera",
        "capture"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/camera_capture"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/camera_capture/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/camera-capture.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/camera_capture",
      "source_of_truth": [
        "packages/execution/src/tools/camera-capture.ts",
        "GET /v1/tools/camera_capture"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/camera_capture before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.carbonyl-browser",
      "kind": "tool",
      "title": "Carbonyl Browser",
      "summary": "carbonyl_browser is a directly callable Omnius tool.",
      "aliases": [
        "carbonyl_browser"
      ],
      "keywords": [
        "tool",
        "carbonyl",
        "browser"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/carbonyl_browser"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/carbonyl_browser/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/carbonyl-browser.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/carbonyl_browser",
      "source_of_truth": [
        "packages/execution/src/tools/carbonyl-browser.ts",
        "GET /v1/tools/carbonyl_browser"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/carbonyl_browser before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.code-neighbors",
      "kind": "tool",
      "title": "Code Neighbors",
      "summary": "code_neighbors is a directly callable Omnius tool.",
      "aliases": [
        "code_neighbors"
      ],
      "keywords": [
        "tool",
        "code",
        "neighbors"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/code_neighbors"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/code_neighbors/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/code-neighbors.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/code_neighbors",
      "source_of_truth": [
        "packages/execution/src/tools/code-neighbors.ts",
        "GET /v1/tools/code_neighbors"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/code_neighbors before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.code-sandbox",
      "kind": "tool",
      "title": "Code Sandbox",
      "summary": "code_sandbox is a directly callable Omnius tool.",
      "aliases": [
        "code_sandbox"
      ],
      "keywords": [
        "tool",
        "code",
        "sandbox"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/code_sandbox"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/code_sandbox/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/code-sandbox.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/code_sandbox",
      "source_of_truth": [
        "packages/execution/src/tools/code-sandbox.ts",
        "GET /v1/tools/code_sandbox"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/code_sandbox before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.codebase-map",
      "kind": "tool",
      "title": "Codebase Map",
      "summary": "codebase_map is a directly callable Omnius tool.",
      "aliases": [
        "codebase_map"
      ],
      "keywords": [
        "tool",
        "codebase",
        "map"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/codebase_map"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/codebase_map/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/codebase-map.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/codebase_map",
      "source_of_truth": [
        "packages/execution/src/tools/codebase-map.ts",
        "GET /v1/tools/codebase_map"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/codebase_map before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.create-structured-file",
      "kind": "tool",
      "title": "Create Structured File",
      "summary": "create_structured_file is a directly callable Omnius tool.",
      "aliases": [
        "create_structured_file"
      ],
      "keywords": [
        "tool",
        "create",
        "structured",
        "file"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/create_structured_file"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/create_structured_file/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/structured-file.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/create_structured_file",
      "source_of_truth": [
        "packages/execution/src/tools/structured-file.ts",
        "GET /v1/tools/create_structured_file"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/create_structured_file before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.create-tool",
      "kind": "tool",
      "title": "Create Tool",
      "summary": "create_tool is a directly callable Omnius tool.",
      "aliases": [
        "create_tool"
      ],
      "keywords": [
        "tool",
        "create",
        "tool"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/create_tool"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/create_tool/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/tool-creator.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/create_tool",
      "source_of_truth": [
        "packages/execution/src/tools/tool-creator.ts",
        "GET /v1/tools/create_tool"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/create_tool before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.cron-agent",
      "kind": "tool",
      "title": "Cron Agent",
      "summary": "cron_agent is a directly callable Omnius tool.",
      "aliases": [
        "cron_agent"
      ],
      "keywords": [
        "tool",
        "cron",
        "agent"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/cron_agent"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/cron_agent/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/cron-agent.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/cron_agent",
      "source_of_truth": [
        "packages/execution/src/tools/cron-agent.ts",
        "GET /v1/tools/cron_agent"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/cron_agent before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.debate",
      "kind": "tool",
      "title": "Debate",
      "summary": "debate is a directly callable Omnius tool.",
      "aliases": [
        "debate"
      ],
      "keywords": [
        "tool",
        "debate"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/debate"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/debate/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/debate.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/debate",
      "source_of_truth": [
        "packages/execution/src/tools/debate.ts",
        "GET /v1/tools/debate"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/debate before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.desktop-click",
      "kind": "tool",
      "title": "Desktop Click",
      "summary": "desktop_click is a directly callable Omnius tool.",
      "aliases": [
        "desktop_click"
      ],
      "keywords": [
        "tool",
        "desktop",
        "click"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/desktop_click"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/desktop_click/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/desktop-click.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/desktop_click",
      "source_of_truth": [
        "packages/execution/src/tools/desktop-click.ts",
        "GET /v1/tools/desktop_click"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/desktop_click before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.desktop-describe",
      "kind": "tool",
      "title": "Desktop Describe",
      "summary": "desktop_describe is a directly callable Omnius tool.",
      "aliases": [
        "desktop_describe"
      ],
      "keywords": [
        "tool",
        "desktop",
        "describe"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/desktop_describe"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/desktop_describe/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/desktop-click.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/desktop_describe",
      "source_of_truth": [
        "packages/execution/src/tools/desktop-click.ts",
        "GET /v1/tools/desktop_describe"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/desktop_describe before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.diagnostic",
      "kind": "tool",
      "title": "Diagnostic",
      "summary": "diagnostic is a directly callable Omnius tool.",
      "aliases": [
        "diagnostic"
      ],
      "keywords": [
        "tool",
        "diagnostic"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/diagnostic"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/diagnostic/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/diagnostic.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/diagnostic",
      "source_of_truth": [
        "packages/execution/src/tools/diagnostic.ts",
        "GET /v1/tools/diagnostic"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/diagnostic before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.embedding-store",
      "kind": "tool",
      "title": "Embedding Store",
      "summary": "embedding_store is a directly callable Omnius tool.",
      "aliases": [
        "embedding_store"
      ],
      "keywords": [
        "tool",
        "embedding",
        "store"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/embedding_store"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/embedding_store/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/embedding-store.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/embedding_store",
      "source_of_truth": [
        "packages/execution/src/tools/embedding-store.ts",
        "GET /v1/tools/embedding_store"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/embedding_store before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.enter-worktree",
      "kind": "tool",
      "title": "Enter Worktree",
      "summary": "enter_worktree is a directly callable Omnius tool.",
      "aliases": [
        "enter_worktree"
      ],
      "keywords": [
        "tool",
        "enter",
        "worktree"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/enter_worktree"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/enter_worktree/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/worktree.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/enter_worktree",
      "source_of_truth": [
        "packages/execution/src/tools/worktree.ts",
        "GET /v1/tools/enter_worktree"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/enter_worktree before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.exit-worktree",
      "kind": "tool",
      "title": "Exit Worktree",
      "summary": "exit_worktree is a directly callable Omnius tool.",
      "aliases": [
        "exit_worktree"
      ],
      "keywords": [
        "tool",
        "exit",
        "worktree"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/exit_worktree"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/exit_worktree/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/worktree.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/exit_worktree",
      "source_of_truth": [
        "packages/execution/src/tools/worktree.ts",
        "GET /v1/tools/exit_worktree"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/exit_worktree before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.explore",
      "kind": "tool",
      "title": "Explore",
      "summary": "explore is a directly callable Omnius tool.",
      "aliases": [
        "explore"
      ],
      "keywords": [
        "tool",
        "explore"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/explore"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/explore/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/exploration-culture.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/explore",
      "source_of_truth": [
        "packages/execution/src/tools/exploration-culture.ts",
        "GET /v1/tools/explore"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/explore before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.explore-tools",
      "kind": "tool",
      "title": "Explore Tools",
      "summary": "explore_tools is a directly callable Omnius tool.",
      "aliases": [
        "explore_tools"
      ],
      "keywords": [
        "tool",
        "explore",
        "tools"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/explore_tools"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/explore_tools/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/explore-tools.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/explore_tools",
      "source_of_truth": [
        "packages/execution/src/tools/explore-tools.ts",
        "GET /v1/tools/explore_tools"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/explore_tools before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.factory",
      "kind": "tool",
      "title": "Factory",
      "summary": "factory is a directly callable Omnius tool.",
      "aliases": [
        "factory"
      ],
      "keywords": [
        "tool",
        "factory"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/factory"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/factory/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/factory.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/factory",
      "source_of_truth": [
        "packages/execution/src/tools/factory.ts",
        "GET /v1/tools/factory"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/factory before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.file-edit",
      "kind": "tool",
      "title": "File Edit",
      "summary": "file_edit is a directly callable Omnius tool.",
      "aliases": [
        "file_edit"
      ],
      "keywords": [
        "tool",
        "file",
        "edit"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/file_edit"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/file_edit/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/file-edit.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/file_edit",
      "source_of_truth": [
        "packages/execution/src/tools/file-edit.ts",
        "GET /v1/tools/file_edit"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/file_edit before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.file-explore",
      "kind": "tool",
      "title": "File Explore",
      "summary": "file_explore is a directly callable Omnius tool.",
      "aliases": [
        "file_explore"
      ],
      "keywords": [
        "tool",
        "file",
        "explore"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/file_explore"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/file_explore/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/file-explore.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/file_explore",
      "source_of_truth": [
        "packages/execution/src/tools/file-explore.ts",
        "GET /v1/tools/file_explore"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/file_explore before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.file-patch",
      "kind": "tool",
      "title": "File Patch",
      "summary": "file_patch is a directly callable Omnius tool.",
      "aliases": [
        "file_patch"
      ],
      "keywords": [
        "tool",
        "file",
        "patch"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/file_patch"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/file_patch/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/file-patch.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/file_patch",
      "source_of_truth": [
        "packages/execution/src/tools/file-patch.ts",
        "GET /v1/tools/file_patch"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/file_patch before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.file-read",
      "kind": "tool",
      "title": "File Read",
      "summary": "file_read is a directly callable Omnius tool.",
      "aliases": [
        "file_read"
      ],
      "keywords": [
        "tool",
        "file",
        "read"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/file_read"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/file_read/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/file-read.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/file_read",
      "source_of_truth": [
        "packages/execution/src/tools/file-read.ts",
        "GET /v1/tools/file_read"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/file_read before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.file-write",
      "kind": "tool",
      "title": "File Write",
      "summary": "file_write is a directly callable Omnius tool.",
      "aliases": [
        "file_write"
      ],
      "keywords": [
        "tool",
        "file",
        "write"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/file_write"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/file_write/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/file-write.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/file_write",
      "source_of_truth": [
        "packages/execution/src/tools/file-write.ts",
        "GET /v1/tools/file_write"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/file_write before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.find-files",
      "kind": "tool",
      "title": "Find Files",
      "summary": "find_files is a directly callable Omnius tool.",
      "aliases": [
        "find_files"
      ],
      "keywords": [
        "tool",
        "find",
        "files"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/find_files"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/find_files/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/glob-find.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/find_files",
      "source_of_truth": [
        "packages/execution/src/tools/glob-find.ts",
        "GET /v1/tools/find_files"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/find_files before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.flipper-zero",
      "kind": "tool",
      "title": "Flipper Zero",
      "summary": "flipper_zero is a directly callable Omnius tool.",
      "aliases": [
        "flipper_zero"
      ],
      "keywords": [
        "tool",
        "flipper",
        "zero"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/flipper_zero"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/flipper_zero/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/flipper-zero.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/flipper_zero",
      "source_of_truth": [
        "packages/execution/src/tools/flipper-zero.ts",
        "GET /v1/tools/flipper_zero"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/flipper_zero before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.fortemi-capture",
      "kind": "tool",
      "title": "Fortemi Capture",
      "summary": "fortemi_capture is a directly callable Omnius tool.",
      "aliases": [
        "fortemi_capture"
      ],
      "keywords": [
        "tool",
        "fortemi",
        "capture",
        "object-defined"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/fortemi_capture"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/fortemi_capture/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/fortemi-bridge.ts",
          "relation": "object-definition"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/fortemi_capture",
      "source_of_truth": [
        "packages/execution/src/tools/fortemi-bridge.ts",
        "GET /v1/tools/fortemi_capture"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/fortemi_capture before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.fortemi-get",
      "kind": "tool",
      "title": "Fortemi Get",
      "summary": "fortemi_get is a directly callable Omnius tool.",
      "aliases": [
        "fortemi_get"
      ],
      "keywords": [
        "tool",
        "fortemi",
        "get",
        "object-defined"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/fortemi_get"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/fortemi_get/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/fortemi-bridge.ts",
          "relation": "object-definition"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/fortemi_get",
      "source_of_truth": [
        "packages/execution/src/tools/fortemi-bridge.ts",
        "GET /v1/tools/fortemi_get"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/fortemi_get before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.fortemi-list",
      "kind": "tool",
      "title": "Fortemi List",
      "summary": "fortemi_list is a directly callable Omnius tool.",
      "aliases": [
        "fortemi_list"
      ],
      "keywords": [
        "tool",
        "fortemi",
        "list",
        "object-defined"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/fortemi_list"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/fortemi_list/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/fortemi-bridge.ts",
          "relation": "object-definition"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/fortemi_list",
      "source_of_truth": [
        "packages/execution/src/tools/fortemi-bridge.ts",
        "GET /v1/tools/fortemi_list"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/fortemi_list before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.fortemi-search",
      "kind": "tool",
      "title": "Fortemi Search",
      "summary": "fortemi_search is a directly callable Omnius tool.",
      "aliases": [
        "fortemi_search"
      ],
      "keywords": [
        "tool",
        "fortemi",
        "search",
        "object-defined"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/fortemi_search"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/fortemi_search/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/fortemi-bridge.ts",
          "relation": "object-definition"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/fortemi_search",
      "source_of_truth": [
        "packages/execution/src/tools/fortemi-bridge.ts",
        "GET /v1/tools/fortemi_search"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/fortemi_search before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.full-sub-agent",
      "kind": "tool",
      "title": "Full Sub Agent",
      "summary": "full_sub_agent is a directly callable Omnius tool.",
      "aliases": [
        "full_sub_agent"
      ],
      "keywords": [
        "tool",
        "full",
        "sub",
        "agent"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/full_sub_agent"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/full_sub_agent/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/full-sub-agent.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/full_sub_agent",
      "source_of_truth": [
        "packages/execution/src/tools/full-sub-agent.ts",
        "GET /v1/tools/full_sub_agent"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/full_sub_agent before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.generate-audio",
      "kind": "tool",
      "title": "Generate Audio",
      "summary": "generate_audio is a directly callable Omnius tool.",
      "aliases": [
        "generate_audio"
      ],
      "keywords": [
        "tool",
        "generate",
        "audio"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/generate_audio"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/generate_audio/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/audio-generate.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/generate_audio",
      "source_of_truth": [
        "packages/execution/src/tools/audio-generate.ts",
        "GET /v1/tools/generate_audio"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/generate_audio before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.generate-image",
      "kind": "tool",
      "title": "Generate Image",
      "summary": "generate_image is a directly callable Omnius tool.",
      "aliases": [
        "generate_image"
      ],
      "keywords": [
        "tool",
        "generate",
        "image"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/generate_image"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/generate_image/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/image-generate.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/generate_image",
      "source_of_truth": [
        "packages/execution/src/tools/image-generate.ts",
        "GET /v1/tools/generate_image"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/generate_image before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.generate-model",
      "kind": "tool",
      "title": "Generate Model",
      "summary": "generate_model is a directly callable Omnius tool.",
      "aliases": [
        "generate_model"
      ],
      "keywords": [
        "tool",
        "generate",
        "model"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/generate_model"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/generate_model/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/model-generate.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/generate_model",
      "source_of_truth": [
        "packages/execution/src/tools/model-generate.ts",
        "GET /v1/tools/generate_model"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/generate_model before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.generate-pointcloud",
      "kind": "tool",
      "title": "Generate Pointcloud",
      "summary": "generate_pointcloud is a directly callable Omnius tool.",
      "aliases": [
        "generate_pointcloud"
      ],
      "keywords": [
        "tool",
        "generate",
        "pointcloud"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/generate_pointcloud"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/generate_pointcloud/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/pointcloud-generate.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/generate_pointcloud",
      "source_of_truth": [
        "packages/execution/src/tools/pointcloud-generate.ts",
        "GET /v1/tools/generate_pointcloud"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/generate_pointcloud before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.generate-tts",
      "kind": "tool",
      "title": "Generate Tts",
      "summary": "generate_tts is a directly callable Omnius tool.",
      "aliases": [
        "generate_tts"
      ],
      "keywords": [
        "tool",
        "generate",
        "tts"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/generate_tts"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/generate_tts/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/audio-playback.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/generate_tts",
      "source_of_truth": [
        "packages/execution/src/tools/audio-playback.ts",
        "GET /v1/tools/generate_tts"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/generate_tts before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.generate-video",
      "kind": "tool",
      "title": "Generate Video",
      "summary": "generate_video is a directly callable Omnius tool.",
      "aliases": [
        "generate_video"
      ],
      "keywords": [
        "tool",
        "generate",
        "video"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/generate_video"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/generate_video/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/video-generate.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/generate_video",
      "source_of_truth": [
        "packages/execution/src/tools/video-generate.ts",
        "GET /v1/tools/generate_video"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/generate_video before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.git-info",
      "kind": "tool",
      "title": "Git Info",
      "summary": "git_info is a directly callable Omnius tool.",
      "aliases": [
        "git_info"
      ],
      "keywords": [
        "tool",
        "git",
        "info"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/git_info"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/git_info/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/git-info.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/git_info",
      "source_of_truth": [
        "packages/execution/src/tools/git-info.ts",
        "GET /v1/tools/git_info"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/git_info before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.gps-location",
      "kind": "tool",
      "title": "Gps Location",
      "summary": "gps_location is a directly callable Omnius tool.",
      "aliases": [
        "gps_location"
      ],
      "keywords": [
        "tool",
        "gps",
        "location"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/gps_location"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/gps_location/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/gps-location.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/gps_location",
      "source_of_truth": [
        "packages/execution/src/tools/gps-location.ts",
        "GET /v1/tools/gps_location"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/gps_location before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.grep-search",
      "kind": "tool",
      "title": "Grep Search",
      "summary": "grep_search is a directly callable Omnius tool.",
      "aliases": [
        "grep_search"
      ],
      "keywords": [
        "tool",
        "grep",
        "search"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/grep_search"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/grep_search/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/grep-search.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/grep_search",
      "source_of_truth": [
        "packages/execution/src/tools/grep-search.ts",
        "GET /v1/tools/grep_search"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/grep_search before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.hf-model-discover",
      "kind": "tool",
      "title": "Hf Model Discover",
      "summary": "hf_model_discover is a directly callable Omnius tool.",
      "aliases": [
        "hf_model_discover"
      ],
      "keywords": [
        "tool",
        "hf",
        "model",
        "discover"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/hf_model_discover"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/hf_model_discover/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/hf-media-models.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/hf_model_discover",
      "source_of_truth": [
        "packages/execution/src/tools/hf-media-models.ts",
        "GET /v1/tools/hf_model_discover"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/hf_model_discover before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.hf-model-intake",
      "kind": "tool",
      "title": "Hf Model Intake",
      "summary": "hf_model_intake is a directly callable Omnius tool.",
      "aliases": [
        "hf_model_intake"
      ],
      "keywords": [
        "tool",
        "hf",
        "model",
        "intake"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/hf_model_intake"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/hf_model_intake/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/hf-media-models.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/hf_model_intake",
      "source_of_truth": [
        "packages/execution/src/tools/hf-media-models.ts",
        "GET /v1/tools/hf_model_intake"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/hf_model_intake before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.identity-kernel",
      "kind": "tool",
      "title": "Identity Kernel",
      "summary": "identity_kernel is a directly callable Omnius tool.",
      "aliases": [
        "identity_kernel"
      ],
      "keywords": [
        "tool",
        "identity",
        "kernel"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/identity_kernel"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/identity_kernel/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/identity-kernel.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/identity_kernel",
      "source_of_truth": [
        "packages/execution/src/tools/identity-kernel.ts",
        "GET /v1/tools/identity_kernel"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/identity_kernel before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.image-read",
      "kind": "tool",
      "title": "Image Read",
      "summary": "image_read is a directly callable Omnius tool.",
      "aliases": [
        "image_read"
      ],
      "keywords": [
        "tool",
        "image",
        "read"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/image_read"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/image_read/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/image.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/image_read",
      "source_of_truth": [
        "packages/execution/src/tools/image.ts",
        "GET /v1/tools/image_read"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/image_read before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.impact-analysis",
      "kind": "tool",
      "title": "Impact Analysis",
      "summary": "impact_analysis is a directly callable Omnius tool.",
      "aliases": [
        "impact_analysis"
      ],
      "keywords": [
        "tool",
        "impact",
        "analysis"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/impact_analysis"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/impact_analysis/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/impact-analysis.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/impact_analysis",
      "source_of_truth": [
        "packages/execution/src/tools/impact-analysis.ts",
        "GET /v1/tools/impact_analysis"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/impact_analysis before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.import-graph",
      "kind": "tool",
      "title": "Import Graph",
      "summary": "import_graph is a directly callable Omnius tool.",
      "aliases": [
        "import_graph"
      ],
      "keywords": [
        "tool",
        "import",
        "graph"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/import_graph"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/import_graph/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/import-graph.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/import_graph",
      "source_of_truth": [
        "packages/execution/src/tools/import-graph.ts",
        "GET /v1/tools/import_graph"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/import_graph before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.lance",
      "kind": "tool",
      "title": "Lance",
      "summary": "lance is a directly callable Omnius tool.",
      "aliases": [
        "lance"
      ],
      "keywords": [
        "tool",
        "lance"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/lance"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/lance/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/lance.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/lance",
      "source_of_truth": [
        "packages/execution/src/tools/lance.ts",
        "GET /v1/tools/lance"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/lance before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.list-directory",
      "kind": "tool",
      "title": "List Directory",
      "summary": "list_directory is a directly callable Omnius tool.",
      "aliases": [
        "list_directory"
      ],
      "keywords": [
        "tool",
        "list",
        "directory"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/list_directory"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/list_directory/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/list-directory.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/list_directory",
      "source_of_truth": [
        "packages/execution/src/tools/list-directory.ts",
        "GET /v1/tools/list_directory"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/list_directory before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.live-media-loop",
      "kind": "tool",
      "title": "Live Media Loop",
      "summary": "live_media_loop is a directly callable Omnius tool.",
      "aliases": [
        "live_media_loop"
      ],
      "keywords": [
        "tool",
        "live",
        "media",
        "loop"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/live_media_loop"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/live_media_loop/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/live-media-loop.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/live_media_loop",
      "source_of_truth": [
        "packages/execution/src/tools/live-media-loop.ts",
        "GET /v1/tools/live_media_loop"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/live_media_loop before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.log-explore",
      "kind": "tool",
      "title": "Log Explore",
      "summary": "log_explore is a directly callable Omnius tool.",
      "aliases": [
        "log_explore"
      ],
      "keywords": [
        "tool",
        "log",
        "explore"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/log_explore"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/log_explore/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/log-explore.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/log_explore",
      "source_of_truth": [
        "packages/execution/src/tools/log-explore.ts",
        "GET /v1/tools/log_explore"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/log_explore before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.manage-tools",
      "kind": "tool",
      "title": "Manage Tools",
      "summary": "manage_tools is a directly callable Omnius tool.",
      "aliases": [
        "manage_tools"
      ],
      "keywords": [
        "tool",
        "manage",
        "tools"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/manage_tools"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/manage_tools/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/tool-creator.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/manage_tools",
      "source_of_truth": [
        "packages/execution/src/tools/tool-creator.ts",
        "GET /v1/tools/manage_tools"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/manage_tools before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.memory-metabolize",
      "kind": "tool",
      "title": "Memory Metabolize",
      "summary": "memory_metabolize is a directly callable Omnius tool.",
      "aliases": [
        "memory_metabolize"
      ],
      "keywords": [
        "tool",
        "memory",
        "metabolize"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/memory_metabolize"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/memory_metabolize/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/memory-metabolism.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/memory_metabolize",
      "source_of_truth": [
        "packages/execution/src/tools/memory-metabolism.ts",
        "GET /v1/tools/memory_metabolize"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/memory_metabolize before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.memory-ops",
      "kind": "tool",
      "title": "Memory Ops",
      "summary": "memory_ops is a directly callable Omnius tool.",
      "aliases": [
        "memory_ops"
      ],
      "keywords": [
        "tool",
        "memory",
        "ops"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/memory_ops"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/memory_ops/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/memory-ops.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/memory_ops",
      "source_of_truth": [
        "packages/execution/src/tools/memory-ops.ts",
        "GET /v1/tools/memory_ops"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/memory_ops before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.memory-read",
      "kind": "tool",
      "title": "Memory Read",
      "summary": "memory_read is a directly callable Omnius tool.",
      "aliases": [
        "memory_read"
      ],
      "keywords": [
        "tool",
        "memory",
        "read"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/memory_read"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/memory_read/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/memory-read.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/memory_read",
      "source_of_truth": [
        "packages/execution/src/tools/memory-read.ts",
        "GET /v1/tools/memory_read"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/memory_read before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.memory-search",
      "kind": "tool",
      "title": "Memory Search",
      "summary": "memory_search is a directly callable Omnius tool.",
      "aliases": [
        "memory_search"
      ],
      "keywords": [
        "tool",
        "memory",
        "search"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/memory_search"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/memory_search/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/memory-search.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/memory_search",
      "source_of_truth": [
        "packages/execution/src/tools/memory-search.ts",
        "GET /v1/tools/memory_search"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/memory_search before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.memory-write",
      "kind": "tool",
      "title": "Memory Write",
      "summary": "memory_write is a directly callable Omnius tool.",
      "aliases": [
        "memory_write"
      ],
      "keywords": [
        "tool",
        "memory",
        "write"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/memory_write"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/memory_write/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/memory-write.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/memory_write",
      "source_of_truth": [
        "packages/execution/src/tools/memory-write.ts",
        "GET /v1/tools/memory_write"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/memory_write before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.meshtastic",
      "kind": "tool",
      "title": "Meshtastic",
      "summary": "meshtastic is a directly callable Omnius tool.",
      "aliases": [
        "meshtastic"
      ],
      "keywords": [
        "tool",
        "meshtastic"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/meshtastic"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/meshtastic/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/meshtastic-tool.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/meshtastic",
      "source_of_truth": [
        "packages/execution/src/tools/meshtastic-tool.ts",
        "GET /v1/tools/meshtastic"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/meshtastic before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.multimodal-memory",
      "kind": "tool",
      "title": "Multimodal Memory",
      "summary": "multimodal_memory is a directly callable Omnius tool.",
      "aliases": [
        "multimodal_memory"
      ],
      "keywords": [
        "tool",
        "multimodal",
        "memory"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/multimodal_memory"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/multimodal_memory/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/multimodal-memory.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/multimodal_memory",
      "source_of_truth": [
        "packages/execution/src/tools/multimodal-memory.ts",
        "GET /v1/tools/multimodal_memory"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/multimodal_memory before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.nexus",
      "kind": "tool",
      "title": "Nexus",
      "summary": "nexus is a directly callable Omnius tool.",
      "aliases": [
        "nexus"
      ],
      "keywords": [
        "tool",
        "nexus"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/nexus"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/nexus/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/nexus.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/nexus",
      "source_of_truth": [
        "packages/execution/src/tools/nexus.ts",
        "GET /v1/tools/nexus"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/nexus before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.notebook-edit",
      "kind": "tool",
      "title": "Notebook Edit",
      "summary": "notebook_edit is a directly callable Omnius tool.",
      "aliases": [
        "notebook_edit"
      ],
      "keywords": [
        "tool",
        "notebook",
        "edit"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/notebook_edit"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/notebook_edit/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/notebook-edit.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/notebook_edit",
      "source_of_truth": [
        "packages/execution/src/tools/notebook-edit.ts",
        "GET /v1/tools/notebook_edit"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/notebook_edit before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.ocr",
      "kind": "tool",
      "title": "Ocr",
      "summary": "ocr is a directly callable Omnius tool.",
      "aliases": [
        "ocr"
      ],
      "keywords": [
        "tool",
        "ocr"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/ocr"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/ocr/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/image.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/ocr",
      "source_of_truth": [
        "packages/execution/src/tools/image.ts",
        "GET /v1/tools/ocr"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/ocr before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.ocr-image-advanced",
      "kind": "tool",
      "title": "Ocr Image Advanced",
      "summary": "ocr_image_advanced is a directly callable Omnius tool.",
      "aliases": [
        "ocr_image_advanced"
      ],
      "keywords": [
        "tool",
        "ocr",
        "image",
        "advanced"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/ocr_image_advanced"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/ocr_image_advanced/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/ocr-image-advanced.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/ocr_image_advanced",
      "source_of_truth": [
        "packages/execution/src/tools/ocr-image-advanced.ts",
        "GET /v1/tools/ocr_image_advanced"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/ocr_image_advanced before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.ocr-pdf",
      "kind": "tool",
      "title": "Ocr Pdf",
      "summary": "ocr_pdf is a directly callable Omnius tool.",
      "aliases": [
        "ocr_pdf"
      ],
      "keywords": [
        "tool",
        "ocr",
        "pdf"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/ocr_pdf"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/ocr_pdf/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/ocr-pdf.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/ocr_pdf",
      "source_of_truth": [
        "packages/execution/src/tools/ocr-pdf.ts",
        "GET /v1/tools/ocr_pdf"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/ocr_pdf before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.opencode",
      "kind": "tool",
      "title": "Opencode",
      "summary": "opencode is a directly callable Omnius tool.",
      "aliases": [
        "opencode"
      ],
      "keywords": [
        "tool",
        "opencode"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/opencode"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/opencode/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/opencode.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/opencode",
      "source_of_truth": [
        "packages/execution/src/tools/opencode.ts",
        "GET /v1/tools/opencode"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/opencode before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.osint-search",
      "kind": "tool",
      "title": "OSINT Search",
      "summary": "Search the bundled OSINT4ALL snapshot locally and return a bounded ranked shortlist with category, archived-health, interaction, and risk metadata; no cataloged service is contacted.",
      "aliases": [
        "osint_search",
        "OSINT catalog search"
      ],
      "keywords": [
        "OSINT4ALL",
        "local index",
        "top-k",
        "77 categories",
        "1446 resources",
        "1456 placements"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/osint_search"
        },
        {
          "type": "agent-run",
          "target": "/v1/run"
        },
        {
          "type": "agent-chat",
          "target": "/v1/chat/completions"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/osint-catalog.ts",
          "relation": "implementation"
        },
        {
          "type": "guide",
          "target": "docs/guides/osint-research.md",
          "relation": "usage"
        }
      ],
      "direct_callable": false,
      "live_metadata": "GET /v1/tools/osint_search",
      "source_of_truth": [
        "packages/execution/src/tools/osint-catalog.ts",
        "GET /v1/tools/osint_search"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/osint_search before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ],
      "related": [
        "capability.osint-research",
        "tool.osint-show"
      ]
    },
    {
      "id": "tool.osint-show",
      "kind": "tool",
      "title": "OSINT Show",
      "summary": "Expand one exact local OSINT resource ID into its URL, aliases, original category placements, archived health, and safe next-tool route; no cataloged service is contacted.",
      "aliases": [
        "osint_show",
        "OSINT resource expansion"
      ],
      "keywords": [
        "OSINT4ALL",
        "exact lookup",
        "provenance",
        "risk",
        "archived health"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/osint_show"
        },
        {
          "type": "agent-run",
          "target": "/v1/run"
        },
        {
          "type": "agent-chat",
          "target": "/v1/chat/completions"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/osint-catalog.ts",
          "relation": "implementation"
        },
        {
          "type": "guide",
          "target": "docs/guides/osint-research.md",
          "relation": "usage"
        }
      ],
      "direct_callable": false,
      "live_metadata": "GET /v1/tools/osint_show",
      "source_of_truth": [
        "packages/execution/src/tools/osint-catalog.ts",
        "GET /v1/tools/osint_show"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/osint_show before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ],
      "related": [
        "capability.osint-research",
        "tool.osint-search",
        "tool.web-fetch",
        "tool.web-crawl"
      ]
    },
    {
      "id": "tool.pdf-to-text",
      "kind": "tool",
      "title": "Pdf To Text",
      "summary": "pdf_to_text is a directly callable Omnius tool.",
      "aliases": [
        "pdf_to_text"
      ],
      "keywords": [
        "tool",
        "pdf",
        "to",
        "text"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/pdf_to_text"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/pdf_to_text/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/pdf-to-text.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/pdf_to_text",
      "source_of_truth": [
        "packages/execution/src/tools/pdf-to-text.ts",
        "GET /v1/tools/pdf_to_text"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/pdf_to_text before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.pdf-visual-markdown",
      "kind": "tool",
      "title": "Pdf Visual Markdown",
      "summary": "pdf_visual_markdown is a directly callable Omnius tool.",
      "aliases": [
        "pdf_visual_markdown"
      ],
      "keywords": [
        "tool",
        "pdf",
        "visual",
        "markdown"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/pdf_visual_markdown"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/pdf_visual_markdown/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/pdf-visual-markdown.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/pdf_visual_markdown",
      "source_of_truth": [
        "packages/execution/src/tools/pdf-visual-markdown.ts",
        "GET /v1/tools/pdf_visual_markdown"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/pdf_visual_markdown before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.phase-recall",
      "kind": "tool",
      "title": "Phase Recall",
      "summary": "phase_recall is a directly callable Omnius tool.",
      "aliases": [
        "phase_recall"
      ],
      "keywords": [
        "tool",
        "phase",
        "recall"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/phase_recall"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/phase_recall/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/phase-recall.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/phase_recall",
      "source_of_truth": [
        "packages/execution/src/tools/phase-recall.ts",
        "GET /v1/tools/phase_recall"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/phase_recall before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.play-sound",
      "kind": "tool",
      "title": "Play Sound",
      "summary": "play_sound is a directly callable Omnius tool.",
      "aliases": [
        "play_sound"
      ],
      "keywords": [
        "tool",
        "play",
        "sound"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/play_sound"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/play_sound/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/audio-playback.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/play_sound",
      "source_of_truth": [
        "packages/execution/src/tools/audio-playback.ts",
        "GET /v1/tools/play_sound"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/play_sound before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.playwright-browser",
      "kind": "tool",
      "title": "Playwright Browser",
      "summary": "playwright_browser is a directly callable Omnius tool.",
      "aliases": [
        "playwright_browser"
      ],
      "keywords": [
        "tool",
        "playwright",
        "browser"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/playwright_browser"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/playwright_browser/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/playwright-browser.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/playwright_browser",
      "source_of_truth": [
        "packages/execution/src/tools/playwright-browser.ts",
        "GET /v1/tools/playwright_browser"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/playwright_browser before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.process-health",
      "kind": "tool",
      "title": "Process Health",
      "summary": "process_health is a directly callable Omnius tool.",
      "aliases": [
        "process_health"
      ],
      "keywords": [
        "tool",
        "process",
        "health"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/process_health"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/process_health/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/process-health.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/process_health",
      "source_of_truth": [
        "packages/execution/src/tools/process-health.ts",
        "GET /v1/tools/process_health"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/process_health before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.project-scaffolding",
      "kind": "tool",
      "title": "Project Scaffolding",
      "summary": "project_scaffolding is a directly callable Omnius tool.",
      "aliases": [
        "project_scaffolding"
      ],
      "keywords": [
        "tool",
        "project",
        "scaffolding"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/project_scaffolding"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/project_scaffolding/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/project-scaffolding.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/project_scaffolding",
      "source_of_truth": [
        "packages/execution/src/tools/project-scaffolding.ts",
        "GET /v1/tools/project_scaffolding"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/project_scaffolding before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.read-structured-file",
      "kind": "tool",
      "title": "Read Structured File",
      "summary": "read_structured_file is a directly callable Omnius tool.",
      "aliases": [
        "read_structured_file"
      ],
      "keywords": [
        "tool",
        "read",
        "structured",
        "file"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/read_structured_file"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/read_structured_file/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/structured-read.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/read_structured_file",
      "source_of_truth": [
        "packages/execution/src/tools/structured-read.ts",
        "GET /v1/tools/read_structured_file"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/read_structured_file before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.reflect",
      "kind": "tool",
      "title": "Reflect",
      "summary": "reflect is a directly callable Omnius tool.",
      "aliases": [
        "reflect"
      ],
      "keywords": [
        "tool",
        "reflect"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/reflect"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/reflect/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/reflection-integrity.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/reflect",
      "source_of_truth": [
        "packages/execution/src/tools/reflection-integrity.ts",
        "GET /v1/tools/reflect"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/reflect before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.reminder",
      "kind": "tool",
      "title": "Reminder",
      "summary": "reminder is a directly callable Omnius tool.",
      "aliases": [
        "reminder"
      ],
      "keywords": [
        "tool",
        "reminder"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/reminder"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/reminder/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/reminder.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/reminder",
      "source_of_truth": [
        "packages/execution/src/tools/reminder.ts",
        "GET /v1/tools/reminder"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/reminder before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.repl-exec",
      "kind": "tool",
      "title": "Repl Exec",
      "summary": "repl_exec is a directly callable Omnius tool.",
      "aliases": [
        "repl_exec"
      ],
      "keywords": [
        "tool",
        "repl",
        "exec"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/repl_exec"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/repl_exec/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/repl.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/repl_exec",
      "source_of_truth": [
        "packages/execution/src/tools/repl.ts",
        "GET /v1/tools/repl_exec"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/repl_exec before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.replay-with-intervention",
      "kind": "tool",
      "title": "Replay With Intervention",
      "summary": "replay_with_intervention is a directly callable Omnius tool.",
      "aliases": [
        "replay_with_intervention"
      ],
      "keywords": [
        "tool",
        "replay",
        "with",
        "intervention"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/replay_with_intervention"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/replay_with_intervention/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/replay-with-intervention.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/replay_with_intervention",
      "source_of_truth": [
        "packages/execution/src/tools/replay-with-intervention.ts",
        "GET /v1/tools/replay_with_intervention"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/replay_with_intervention before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.repo-map",
      "kind": "tool",
      "title": "Repo Map",
      "summary": "repo_map is a directly callable Omnius tool.",
      "aliases": [
        "repo_map"
      ],
      "keywords": [
        "tool",
        "repo",
        "map"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/repo_map"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/repo_map/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/repo-map.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/repo_map",
      "source_of_truth": [
        "packages/execution/src/tools/repo-map.ts",
        "GET /v1/tools/repo_map"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/repo_map before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.safe-python",
      "kind": "tool",
      "title": "Safe Python",
      "summary": "safe_python is a directly callable Omnius tool.",
      "aliases": [
        "safe_python"
      ],
      "keywords": [
        "tool",
        "safe",
        "python"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/safe_python"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/safe_python/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/safe-python.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/safe_python",
      "source_of_truth": [
        "packages/execution/src/tools/safe-python.ts",
        "GET /v1/tools/safe_python"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/safe_python before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.scheduler",
      "kind": "tool",
      "title": "Scheduler",
      "summary": "scheduler is a directly callable Omnius tool.",
      "aliases": [
        "scheduler"
      ],
      "keywords": [
        "tool",
        "scheduler"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/scheduler"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/scheduler/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/scheduler.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/scheduler",
      "source_of_truth": [
        "packages/execution/src/tools/scheduler.ts",
        "GET /v1/tools/scheduler"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/scheduler before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.screenshot",
      "kind": "tool",
      "title": "Screenshot",
      "summary": "screenshot is a directly callable Omnius tool.",
      "aliases": [
        "screenshot"
      ],
      "keywords": [
        "tool",
        "screenshot"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/screenshot"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/screenshot/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/image.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/screenshot",
      "source_of_truth": [
        "packages/execution/src/tools/image.ts",
        "GET /v1/tools/screenshot"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/screenshot before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.sdr-scan",
      "kind": "tool",
      "title": "Sdr Scan",
      "summary": "sdr_scan is a directly callable Omnius tool.",
      "aliases": [
        "sdr_scan"
      ],
      "keywords": [
        "tool",
        "sdr",
        "scan"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/sdr_scan"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/sdr_scan/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/sdr-scan.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/sdr_scan",
      "source_of_truth": [
        "packages/execution/src/tools/sdr-scan.ts",
        "GET /v1/tools/sdr_scan"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/sdr_scan before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.semantic-map",
      "kind": "tool",
      "title": "Semantic Map",
      "summary": "semantic_map is a directly callable Omnius tool.",
      "aliases": [
        "semantic_map"
      ],
      "keywords": [
        "tool",
        "semantic",
        "map"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/semantic_map"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/semantic_map/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/semantic-map.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/semantic_map",
      "source_of_truth": [
        "packages/execution/src/tools/semantic-map.ts",
        "GET /v1/tools/semantic_map"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/semantic_map before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.send-message",
      "kind": "tool",
      "title": "Send Message",
      "summary": "send_message is a directly callable Omnius tool.",
      "aliases": [
        "send_message"
      ],
      "keywords": [
        "tool",
        "send",
        "message"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/send_message"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/send_message/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/send-message.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/send_message",
      "source_of_truth": [
        "packages/execution/src/tools/send-message.ts",
        "GET /v1/tools/send_message"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/send_message before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.session-search",
      "kind": "tool",
      "title": "Session Search",
      "summary": "session_search is a directly callable Omnius tool.",
      "aliases": [
        "session_search"
      ],
      "keywords": [
        "tool",
        "session",
        "search"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/session_search"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/session_search/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/session-search.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/session_search",
      "source_of_truth": [
        "packages/execution/src/tools/session-search.ts",
        "GET /v1/tools/session_search"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/session_search before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.shell",
      "kind": "tool",
      "title": "Shell",
      "summary": "shell is a directly callable Omnius tool.",
      "aliases": [
        "shell"
      ],
      "keywords": [
        "tool",
        "shell"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/shell"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/shell/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/shell.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/shell",
      "source_of_truth": [
        "packages/execution/src/tools/shell.ts",
        "GET /v1/tools/shell"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/shell before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.skill-build",
      "kind": "tool",
      "title": "Skill Build",
      "summary": "skill_build is a directly callable Omnius tool.",
      "aliases": [
        "skill_build"
      ],
      "keywords": [
        "tool",
        "skill",
        "build"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/skill_build"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/skill_build/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/skill-builder.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/skill_build",
      "source_of_truth": [
        "packages/execution/src/tools/skill-builder.ts",
        "GET /v1/tools/skill_build"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/skill_build before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.skill-execute",
      "kind": "tool",
      "title": "Skill Execute",
      "summary": "skill_execute is a directly callable Omnius tool.",
      "aliases": [
        "skill_execute"
      ],
      "keywords": [
        "tool",
        "skill",
        "execute"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/skill_execute"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/skill_execute/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/skill-tools.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/skill_execute",
      "source_of_truth": [
        "packages/execution/src/tools/skill-tools.ts",
        "GET /v1/tools/skill_execute"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/skill_execute before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.skill-extract",
      "kind": "tool",
      "title": "Skill Extract",
      "summary": "skill_extract is a directly callable Omnius tool.",
      "aliases": [
        "skill_extract"
      ],
      "keywords": [
        "tool",
        "skill",
        "extract"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/skill_extract"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/skill_extract/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/skill-tools.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/skill_extract",
      "source_of_truth": [
        "packages/execution/src/tools/skill-tools.ts",
        "GET /v1/tools/skill_extract"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/skill_extract before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.skill-list",
      "kind": "tool",
      "title": "Skill List",
      "summary": "skill_list is a directly callable Omnius tool.",
      "aliases": [
        "skill_list"
      ],
      "keywords": [
        "tool",
        "skill",
        "list"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/skill_list"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/skill_list/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/skill-tools.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/skill_list",
      "source_of_truth": [
        "packages/execution/src/tools/skill-tools.ts",
        "GET /v1/tools/skill_list"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/skill_list before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.symbol-search",
      "kind": "tool",
      "title": "Symbol Search",
      "summary": "symbol_search is a directly callable Omnius tool.",
      "aliases": [
        "symbol_search"
      ],
      "keywords": [
        "tool",
        "symbol",
        "search"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/symbol_search"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/symbol_search/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/symbol-search.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/symbol_search",
      "source_of_truth": [
        "packages/execution/src/tools/symbol-search.ts",
        "GET /v1/tools/symbol_search"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/symbol_search before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.task-complete",
      "kind": "tool",
      "title": "Task Complete",
      "summary": "Signal a direct bookkeeping boundary without terminating an active agent run.",
      "aliases": [
        "task_complete"
      ],
      "keywords": [
        "tool",
        "task",
        "complete",
        "object-defined"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/task_complete"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/task_complete/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/cli/src/api/direct-tool-registry.ts",
          "relation": "object-definition"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/task_complete",
      "source_of_truth": [
        "packages/cli/src/api/direct-tool-registry.ts",
        "GET /v1/tools/task_complete"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/task_complete before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.task-output",
      "kind": "tool",
      "title": "Task Output",
      "summary": "task_output is a directly callable Omnius tool.",
      "aliases": [
        "task_output"
      ],
      "keywords": [
        "tool",
        "task",
        "output"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/task_output"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/task_output/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/background-task.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/task_output",
      "source_of_truth": [
        "packages/execution/src/tools/background-task.ts",
        "GET /v1/tools/task_output"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/task_output before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.task-status",
      "kind": "tool",
      "title": "Task Status",
      "summary": "task_status is a directly callable Omnius tool.",
      "aliases": [
        "task_status"
      ],
      "keywords": [
        "tool",
        "task",
        "status"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/task_status"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/task_status/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/background-task.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/task_status",
      "source_of_truth": [
        "packages/execution/src/tools/background-task.ts",
        "GET /v1/tools/task_status"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/task_status before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.task-stop",
      "kind": "tool",
      "title": "Task Stop",
      "summary": "task_stop is a directly callable Omnius tool.",
      "aliases": [
        "task_stop"
      ],
      "keywords": [
        "tool",
        "task",
        "stop"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/task_stop"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/task_stop/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/background-task.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/task_stop",
      "source_of_truth": [
        "packages/execution/src/tools/background-task.ts",
        "GET /v1/tools/task_stop"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/task_stop before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.todo-read",
      "kind": "tool",
      "title": "Todo Read",
      "summary": "todo_read is a directly callable Omnius tool.",
      "aliases": [
        "todo_read"
      ],
      "keywords": [
        "tool",
        "todo",
        "read"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/todo_read"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/todo_read/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/todo-write.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/todo_read",
      "source_of_truth": [
        "packages/execution/src/tools/todo-write.ts",
        "GET /v1/tools/todo_read"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/todo_read before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.todo-write",
      "kind": "tool",
      "title": "Todo Write",
      "summary": "todo_write is a directly callable Omnius tool.",
      "aliases": [
        "todo_write"
      ],
      "keywords": [
        "tool",
        "todo",
        "write"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/todo_write"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/todo_write/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/todo-write.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/todo_write",
      "source_of_truth": [
        "packages/execution/src/tools/todo-write.ts",
        "GET /v1/tools/todo_write"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/todo_write before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.tool-search",
      "kind": "tool",
      "title": "Tool search",
      "summary": "Find relevant tool schemas without loading the entire tool catalog into an agent context.",
      "aliases": [
        "tool_search",
        "explore_tools"
      ],
      "keywords": [
        "tool discovery",
        "schema",
        "large catalog"
      ],
      "maturity": "stable",
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/tools-and-web-search.md",
          "relation": "canonical-guide"
        }
      ],
      "related": [
        "api.tools",
        "tool.web-search"
      ]
    },
    {
      "id": "tool.transcribe-file",
      "kind": "tool",
      "title": "Transcribe File",
      "summary": "transcribe_file is a directly callable Omnius tool.",
      "aliases": [
        "transcribe_file"
      ],
      "keywords": [
        "tool",
        "transcribe",
        "file"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/transcribe_file"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/transcribe_file/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/transcribe-tool.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/transcribe_file",
      "source_of_truth": [
        "packages/execution/src/tools/transcribe-tool.ts",
        "GET /v1/tools/transcribe_file"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/transcribe_file before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.transcribe-url",
      "kind": "tool",
      "title": "Transcribe Url",
      "summary": "transcribe_url is a directly callable Omnius tool.",
      "aliases": [
        "transcribe_url"
      ],
      "keywords": [
        "tool",
        "transcribe",
        "url"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/transcribe_url"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/transcribe_url/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/transcribe-tool.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/transcribe_url",
      "source_of_truth": [
        "packages/execution/src/tools/transcribe-tool.ts",
        "GET /v1/tools/transcribe_url"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/transcribe_url before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.video-scan",
      "kind": "tool",
      "title": "Video Scan",
      "summary": "video_scan is a directly callable Omnius tool.",
      "aliases": [
        "video_scan"
      ],
      "keywords": [
        "tool",
        "video",
        "scan"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/video_scan"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/video_scan/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/video-scan.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/video_scan",
      "source_of_truth": [
        "packages/execution/src/tools/video-scan.ts",
        "GET /v1/tools/video_scan"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/video_scan before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.video-understand",
      "kind": "tool",
      "title": "Video Understand",
      "summary": "video_understand is a directly callable Omnius tool.",
      "aliases": [
        "video_understand"
      ],
      "keywords": [
        "tool",
        "video",
        "understand"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/video_understand"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/video_understand/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/video-understand.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/video_understand",
      "source_of_truth": [
        "packages/execution/src/tools/video-understand.ts",
        "GET /v1/tools/video_understand"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/video_understand before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.vision",
      "kind": "tool",
      "title": "Vision",
      "summary": "vision is a directly callable Omnius tool.",
      "aliases": [
        "vision"
      ],
      "keywords": [
        "tool",
        "vision"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/vision"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/vision/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/vision.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/vision",
      "source_of_truth": [
        "packages/execution/src/tools/vision.ts",
        "GET /v1/tools/vision"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/vision before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.vision-action-loop",
      "kind": "tool",
      "title": "Vision Action Loop",
      "summary": "vision_action_loop is a directly callable Omnius tool.",
      "aliases": [
        "vision_action_loop"
      ],
      "keywords": [
        "tool",
        "vision",
        "action",
        "loop"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/vision_action_loop"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/vision_action_loop/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/vision-action-loop.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/vision_action_loop",
      "source_of_truth": [
        "packages/execution/src/tools/vision-action-loop.ts",
        "GET /v1/tools/vision_action_loop"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/vision_action_loop before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.visual-memory",
      "kind": "tool",
      "title": "Visual Memory",
      "summary": "visual_memory is a directly callable Omnius tool.",
      "aliases": [
        "visual_memory"
      ],
      "keywords": [
        "tool",
        "visual",
        "memory"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/visual_memory"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/visual_memory/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/visual-memory.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/visual_memory",
      "source_of_truth": [
        "packages/execution/src/tools/visual-memory.ts",
        "GET /v1/tools/visual_memory"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/visual_memory before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.visual-trigger",
      "kind": "tool",
      "title": "Visual Trigger",
      "summary": "visual_trigger is a directly callable Omnius tool.",
      "aliases": [
        "visual_trigger"
      ],
      "keywords": [
        "tool",
        "visual",
        "trigger"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/visual_trigger"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/visual_trigger/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/visual-trigger.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/visual_trigger",
      "source_of_truth": [
        "packages/execution/src/tools/visual-trigger.ts",
        "GET /v1/tools/visual_trigger"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/visual_trigger before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.web-crawl",
      "kind": "tool",
      "title": "Web Crawl",
      "summary": "web_crawl is a directly callable Omnius tool.",
      "aliases": [
        "web_crawl"
      ],
      "keywords": [
        "tool",
        "web",
        "crawl"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/web_crawl"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/web_crawl/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/web-crawl.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/web_crawl",
      "source_of_truth": [
        "packages/execution/src/tools/web-crawl.ts",
        "GET /v1/tools/web_crawl"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/web_crawl before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.web-download",
      "kind": "tool",
      "title": "Web Download",
      "summary": "web_download is a directly callable Omnius tool.",
      "aliases": [
        "web_download"
      ],
      "keywords": [
        "tool",
        "web",
        "download"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/web_download"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/web_download/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/web-download.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/web_download",
      "source_of_truth": [
        "packages/execution/src/tools/web-download.ts",
        "GET /v1/tools/web_download"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/web_download before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.web-fetch",
      "kind": "tool",
      "title": "Web Fetch",
      "summary": "web_fetch is a directly callable Omnius tool.",
      "aliases": [
        "web_fetch"
      ],
      "keywords": [
        "tool",
        "web",
        "fetch"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/web_fetch"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/web_fetch/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/web-fetch.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/web_fetch",
      "source_of_truth": [
        "packages/execution/src/tools/web-fetch.ts",
        "GET /v1/tools/web_fetch"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/web_fetch before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.web-search",
      "kind": "tool",
      "title": "Web search",
      "summary": "Search the web from an Omnius agent loop; discoverable as metadata but intentionally not assumed to be directly callable.",
      "aliases": [
        "web_search",
        "internet search",
        "search the web"
      ],
      "keywords": [
        "agent-bound",
        "network read",
        "factual-first",
        "sources"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "metadata",
          "target": "GET /v1/tools/web_search",
          "description": "Inspect schema and live invocation mode"
        },
        {
          "type": "agent",
          "target": "POST /v1/run"
        },
        {
          "type": "agent",
          "target": "POST /v1/chat"
        },
        {
          "type": "agent",
          "target": "POST /v1/chat/completions"
        }
      ],
      "references": [
        {
          "type": "guide",
          "target": "docs/guides/tools-and-web-search.md",
          "relation": "canonical-guide"
        },
        {
          "type": "api",
          "target": "docs/rest/endpoints/tools.md",
          "relation": "wire-contract"
        }
      ],
      "direct_callable": false,
      "live_metadata": "GET /v1/tools/web_search",
      "source_of_truth": [
        "packages/execution/src/tools/web-search.ts",
        "GET /v1/tools/web_search"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/web_search before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ],
      "prerequisites": [
        "Run-scope daemon access",
        "Configured model with tool calling",
        "Network access"
      ],
      "related": [
        "api.tools",
        "tool.tool-search",
        "operation.version-compatibility"
      ]
    },
    {
      "id": "tool.wifi-control",
      "kind": "tool",
      "title": "Wifi Control",
      "summary": "wifi_control is a directly callable Omnius tool.",
      "aliases": [
        "wifi_control"
      ],
      "keywords": [
        "tool",
        "wifi",
        "control"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/wifi_control"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/wifi_control/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/wifi-control.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/wifi_control",
      "source_of_truth": [
        "packages/execution/src/tools/wifi-control.ts",
        "GET /v1/tools/wifi_control"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/wifi_control before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.workboard-add-card",
      "kind": "tool",
      "title": "Workboard Add Card",
      "summary": "workboard_add_card is a directly callable Omnius tool.",
      "aliases": [
        "workboard_add_card"
      ],
      "keywords": [
        "tool",
        "workboard",
        "add",
        "card"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/workboard_add_card"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/workboard_add_card/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/workboard.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/workboard_add_card",
      "source_of_truth": [
        "packages/execution/src/tools/workboard.ts",
        "GET /v1/tools/workboard_add_card"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/workboard_add_card before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.workboard-attach-evidence",
      "kind": "tool",
      "title": "Workboard Attach Evidence",
      "summary": "workboard_attach_evidence is a directly callable Omnius tool.",
      "aliases": [
        "workboard_attach_evidence"
      ],
      "keywords": [
        "tool",
        "workboard",
        "attach",
        "evidence"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/workboard_attach_evidence"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/workboard_attach_evidence/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/workboard.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/workboard_attach_evidence",
      "source_of_truth": [
        "packages/execution/src/tools/workboard.ts",
        "GET /v1/tools/workboard_attach_evidence"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/workboard_attach_evidence before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.workboard-complete-card",
      "kind": "tool",
      "title": "Workboard Complete Card",
      "summary": "workboard_complete_card is a directly callable Omnius tool.",
      "aliases": [
        "workboard_complete_card"
      ],
      "keywords": [
        "tool",
        "workboard",
        "complete",
        "card"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/workboard_complete_card"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/workboard_complete_card/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/workboard.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/workboard_complete_card",
      "source_of_truth": [
        "packages/execution/src/tools/workboard.ts",
        "GET /v1/tools/workboard_complete_card"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/workboard_complete_card before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.workboard-create",
      "kind": "tool",
      "title": "Workboard Create",
      "summary": "workboard_create is a directly callable Omnius tool.",
      "aliases": [
        "workboard_create"
      ],
      "keywords": [
        "tool",
        "workboard",
        "create"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/workboard_create"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/workboard_create/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/workboard.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/workboard_create",
      "source_of_truth": [
        "packages/execution/src/tools/workboard.ts",
        "GET /v1/tools/workboard_create"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/workboard_create before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.workboard-show",
      "kind": "tool",
      "title": "Workboard Show",
      "summary": "workboard_show is a directly callable Omnius tool.",
      "aliases": [
        "workboard_show"
      ],
      "keywords": [
        "tool",
        "workboard",
        "show"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/workboard_show"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/workboard_show/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/workboard.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/workboard_show",
      "source_of_truth": [
        "packages/execution/src/tools/workboard.ts",
        "GET /v1/tools/workboard_show"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/workboard_show before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.workboard-update-card",
      "kind": "tool",
      "title": "Workboard Update Card",
      "summary": "workboard_update_card is a directly callable Omnius tool.",
      "aliases": [
        "workboard_update_card"
      ],
      "keywords": [
        "tool",
        "workboard",
        "update",
        "card"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/workboard_update_card"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/workboard_update_card/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/workboard.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/workboard_update_card",
      "source_of_truth": [
        "packages/execution/src/tools/workboard.ts",
        "GET /v1/tools/workboard_update_card"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/workboard_update_card before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.working-notes",
      "kind": "tool",
      "title": "Working Notes",
      "summary": "working_notes is a directly callable Omnius tool.",
      "aliases": [
        "working_notes"
      ],
      "keywords": [
        "tool",
        "working",
        "notes"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/working_notes"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/working_notes/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/working-notes.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/working_notes",
      "source_of_truth": [
        "packages/execution/src/tools/working-notes.ts",
        "GET /v1/tools/working_notes"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/working_notes before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "tool.youtube-download",
      "kind": "tool",
      "title": "Youtube Download",
      "summary": "youtube_download is a directly callable Omnius tool.",
      "aliases": [
        "youtube_download"
      ],
      "keywords": [
        "tool",
        "youtube",
        "download"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "coding-agent",
        "integrator",
        "service-agent"
      ],
      "use_when": [
        "The caller needs this isolated operation and live metadata confirms direct-call availability"
      ],
      "avoid_when": [
        "The live registry reports the tool unavailable or the caller lacks its required scope"
      ],
      "interfaces": [
        {
          "type": "rest-schema",
          "target": "/v1/tools/youtube_download"
        },
        {
          "type": "rest-call",
          "target": "/v1/tools/youtube_download/call"
        }
      ],
      "references": [
        {
          "type": "source",
          "target": "packages/execution/src/tools/transcribe-tool.ts",
          "relation": "implementation"
        }
      ],
      "direct_callable": true,
      "live_metadata": "GET /v1/tools/youtube_download",
      "source_of_truth": [
        "packages/execution/src/tools/transcribe-tool.ts",
        "GET /v1/tools/youtube_download"
      ],
      "verification": [
        {
          "check": "Inspect GET /v1/tools/youtube_download before use",
          "expected": "Schema, security, exposure, and availability match the intended invocation"
        }
      ]
    },
    {
      "id": "workflow.agent-bound-tools",
      "kind": "workflow",
      "title": "Use agent-bound tools such as web_search",
      "summary": "Offer a non-direct tool to an Omnius agent loop through run/chat instead of inventing a direct REST call.",
      "aliases": [
        "web search",
        "daemon tools"
      ],
      "keywords": [
        "agent loop",
        "web_search",
        "tool exposure"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "integrator",
        "coding-agent"
      ],
      "workflow": [
        {
          "step": "1",
          "action": "Inspect live tool metadata, security classification, availability, and schema.",
          "interface": "GET /v1/tools/web_search"
        },
        {
          "step": "2",
          "action": "Offer the tool through an agent-capable surface and a compatible tool profile.",
          "interface": "POST /v1/run or POST /v1/chat/completions with agent_loop=true"
        },
        {
          "step": "3",
          "action": "Require source/provenance verification appropriate to the research task.",
          "expected": "The agent executes the bound tool and returns evidence"
        }
      ],
      "avoid_when": [
        "Calling POST /v1/tools/web_search/call unless live metadata explicitly adds direct exposure"
      ],
      "verification": [
        {
          "check": "Inspect run/chat tool events and returned source evidence",
          "expected": "The intended tool actually ran and its claims are traceable"
        }
      ],
      "failure_modes": [
        {
          "symptom": "Direct tool URL is missing",
          "likely_cause": "The tool is intentionally agent-bound",
          "recovery": "Use /v1/run or agent-loop chat with the tool offered"
        }
      ],
      "source_of_truth": [
        "docs/guides/tools-and-web-search.md",
        "packages/execution/src/tools/web-search.ts"
      ]
    },
    {
      "id": "workflow.async-agent-run",
      "kind": "workflow",
      "title": "Run a long-horizon task through REST",
      "summary": "Create an asynchronous agent run, retain its ID, stream or poll evidence, steer/cancel when needed, and verify terminal completion.",
      "aliases": [
        "REST run",
        "long horizon"
      ],
      "keywords": [
        "poll",
        "events",
        "cancel",
        "agent"
      ],
      "maturity": "stable",
      "layer": "orchestration",
      "audiences": [
        "service-agent",
        "integrator"
      ],
      "prerequisites": [
        "Healthy daemon",
        "Compatible /version",
        "Configured model/provider"
      ],
      "inputs": [
        "task",
        "workspace",
        "optional model and tool profile"
      ],
      "outputs": [
        "run ID",
        "events",
        "terminal result"
      ],
      "workflow": [
        {
          "step": "1",
          "action": "Check version/readiness and OpenAPI request schema.",
          "interface": "GET /version; GET /health/ready; GET /openapi.json",
          "expected": "Compatible ready service"
        },
        {
          "step": "2",
          "action": "Create the run and persist the returned ID.",
          "interface": "POST /v1/run",
          "expected": "Accepted run record with ID"
        },
        {
          "step": "3",
          "action": "Read events/status until a terminal state; use steering or cancel routes only by their documented contract.",
          "interface": "GET /v1/runs/{id}/events and run status routes",
          "expected": "Observable progress followed by a terminal state"
        },
        {
          "step": "4",
          "action": "Verify produced changes/evidence rather than accepting the status label alone.",
          "expected": "Requested outcome and verification evidence are present"
        }
      ],
      "verification": [
        {
          "check": "Run state is terminal and its output/evidence satisfies the task",
          "expected": "Completed result, or explicit recoverable failure"
        }
      ],
      "failure_modes": [
        {
          "symptom": "Caller reports success immediately after POST /v1/run",
          "likely_cause": "Accepted/queued was mistaken for completed",
          "recovery": "Retain the run ID and poll/stream through terminal verification"
        },
        {
          "symptom": "Run uses stale code after an update",
          "likely_cause": "Daemon was not restarted into the installed target version",
          "recovery": "Compare GET /version with the package target before resubmitting"
        }
      ],
      "source_of_truth": [
        "packages/cli/src/api/openapi.ts",
        "packages/orchestrator/src/agenticRunner.ts"
      ]
    },
    {
      "id": "workflow.choose-entrypoint",
      "kind": "workflow",
      "title": "Choose the correct Omnius entrypoint",
      "summary": "Select TUI, one-shot CLI, REST chat, asynchronous run, OpenAI-compatible completion, or direct tool execution from the caller's lifecycle and state requirements.",
      "aliases": [
        "entrypoint decision",
        "how to use Omnius"
      ],
      "keywords": [
        "CLI",
        "REST",
        "chat",
        "run",
        "tool"
      ],
      "maturity": "stable",
      "layer": "interface",
      "audiences": [
        "all-agents"
      ],
      "inputs": [
        "Desired outcome",
        "Need for conversational state",
        "Need for asynchronous polling/cancel",
        "Whether a specific tool is directly callable"
      ],
      "outputs": [
        "One exact invocation surface"
      ],
      "workflow": [
        {
          "step": "1",
          "action": "Use `omnius` for interactive human control or slash commands.",
          "interface": "omnius"
        },
        {
          "step": "2",
          "action": "Use a one-shot CLI task when the shell caller can wait synchronously.",
          "interface": "omnius \"<task>\""
        },
        {
          "step": "3",
          "action": "Use /v1/chat for daemon-managed conversational sessions and /v1/chat/completions for OpenAI compatibility.",
          "interface": "POST /v1/chat or POST /v1/chat/completions"
        },
        {
          "step": "4",
          "action": "Use /v1/run for a long autonomous task that needs an ID, events, polling, and cancellation.",
          "interface": "POST /v1/run"
        },
        {
          "step": "5",
          "action": "Use /v1/tools/{name}/call only when live metadata says direct_callable=true; otherwise bind the tool to an agent loop.",
          "interface": "GET /v1/tools/{name}"
        }
      ],
      "verification": [
        {
          "check": "Inspect the exact interface in discovery and live OpenAPI/tool metadata",
          "expected": "The selected surface is explicitly supported"
        }
      ],
      "failure_modes": [
        {
          "symptom": "A guessed endpoint returns 404 or bypasses expected state",
          "likely_cause": "The surface was inferred from a command/tool name",
          "recovery": "Return to this workflow and inspect the exact discovery entry plus /openapi.json"
        }
      ],
      "source_of_truth": [
        "docs/guides/agent-integration.md",
        "packages/cli/src/api/openapi.ts"
      ]
    },
    {
      "id": "workflow.daemon-tray-update",
      "kind": "workflow",
      "title": "Operate daemon, tray, and updates",
      "summary": "Ensure one current daemon owns the service port, start the tray against it, install updates through the real global npm flow, stream progress, restart components, and verify the target runtime.",
      "aliases": [
        "update Omnius",
        "indicator update"
      ],
      "keywords": [
        "npm global",
        "restart",
        "version"
      ],
      "maturity": "stable",
      "layer": "operations",
      "audiences": [
        "operator",
        "coding-agent"
      ],
      "workflow": [
        {
          "step": "1",
          "action": "Read installed and running identities from /version; diagnose port ownership before restart."
        },
        {
          "step": "2",
          "action": "Start/reclaim the daemon through its managed lifecycle and confirm health."
        },
        {
          "step": "3",
          "action": "Start the indicator and require daemon-online state before enabling service actions."
        },
        {
          "step": "4",
          "action": "Run the update service, stream its live progress, restart the daemon/indicator, and compare /version with the target."
        }
      ],
      "verification": [
        {
          "check": "Installed package, daemon /version, and indicator version all equal the update target",
          "expected": "Verified target runtime, not merely queued or process-started"
        }
      ],
      "failure_modes": [
        {
          "symptom": "UI remains on updating/queued",
          "likely_cause": "The update worker was never executed or progress was not connected",
          "recovery": "Inspect update job status/log stream and fail explicitly if no worker owns it"
        },
        {
          "symptom": "Restart verification fails",
          "likely_cause": "Old daemon retained port ownership or new runtime did not become ready",
          "recovery": "Resolve exact port PID, preserve unrelated processes, restart, then verify /health and /version"
        }
      ],
      "source_of_truth": [
        "packages/cli/src/update-service.ts",
        "packages/cli/src/update-worker.ts",
        "packages/cli/src/daemon.ts",
        "packages/cli/src/tray.ts"
      ]
    },
    {
      "id": "workflow.debug-runtime",
      "kind": "workflow",
      "title": "Debug an Omnius runtime failure",
      "summary": "Diagnose from identity and ownership outward: version, health, port/process, live contract, status/events, state scope, logs/evidence, then the owning module.",
      "aliases": [
        "troubleshoot",
        "root cause"
      ],
      "keywords": [
        "health",
        "logs",
        "failure",
        "stale"
      ],
      "maturity": "stable",
      "layer": "observability",
      "audiences": [
        "all-agents"
      ],
      "workflow": [
        {
          "step": "1",
          "action": "Capture the exact command/request, expected result, actual result, workspace, package version, daemon version, and timestamp."
        },
        {
          "step": "2",
          "action": "Check /health, /health/ready, /version, port ownership, and process identity before changing state."
        },
        {
          "step": "3",
          "action": "Inspect /openapi.json or the command/tool/provider registry so the attempted surface is proven valid."
        },
        {
          "step": "4",
          "action": "Trace status/events/logs and confirm the correct project/global state root."
        },
        {
          "step": "5",
          "action": "Map the failure to a layer and module entry, patch the source owner, and run the smallest relevant regression tests."
        }
      ],
      "verification": [
        {
          "check": "Reproduce the original path after the fix",
          "expected": "The requested outcome succeeds and adjacent safety/version/state invariants remain true"
        }
      ],
      "failure_modes": [
        {
          "symptom": "The same file or state is read repeatedly without progress",
          "likely_cause": "Loop progress is not recorded or compaction removed the active evidence/frontier",
          "recovery": "Inspect trajectory checkpoints, run frontier, context admission, and read-loop progress tests in the orchestration/context layers"
        }
      ],
      "source_of_truth": [
        "docs/architecture/agent-system-map.md",
        "packages/orchestrator/src/debugArtifactLibrary.ts",
        "packages/orchestrator/src/trajectory-checkpoint.ts"
      ]
    },
    {
      "id": "workflow.direct-tool-call",
      "kind": "workflow",
      "title": "Call a directly exposed tool",
      "summary": "Inspect live metadata, confirm direct-call exposure and safety, submit the exact schema, and verify the tool result.",
      "aliases": [
        "tool REST call"
      ],
      "keywords": [
        "direct_callable",
        "schema"
      ],
      "maturity": "stable",
      "layer": "execution",
      "audiences": [
        "integrator",
        "service-agent"
      ],
      "workflow": [
        {
          "step": "1",
          "action": "Inspect the tool metadata and direct_callable flag.",
          "interface": "GET /v1/tools/{name}",
          "expected": "A rest-call interface is explicitly present"
        },
        {
          "step": "2",
          "action": "Validate arguments against the returned parameter schema and call the exact route.",
          "interface": "POST /v1/tools/{name}/call"
        },
        {
          "step": "3",
          "action": "Inspect the structured output and any side effects.",
          "expected": "Tool-specific verified result"
        }
      ],
      "avoid_when": [
        "The tool is agent-bound, unavailable, profile-gated, or lacks a rest-call interface"
      ],
      "verification": [
        {
          "check": "Metadata, schema, and result all agree",
          "expected": "No inferred route or unvalidated arguments"
        }
      ],
      "failure_modes": [
        {
          "symptom": "Direct call returns not found or not callable",
          "likely_cause": "The route was inferred or live exposure changed",
          "recovery": "Re-read GET /v1/tools/{name}; use an agent-bound workflow when no rest-call interface exists"
        }
      ],
      "source_of_truth": [
        "packages/cli/src/api/direct-tool-registry.ts",
        "packages/execution/src/tools/tool-manifest.ts"
      ]
    },
    {
      "id": "workflow.extend-omnius",
      "kind": "workflow",
      "title": "Extend or modify Omnius safely",
      "summary": "Locate the owning layer/module and canonical registry, change the smallest source boundary, update discovery/docs/contracts, and run targeted plus freshness tests.",
      "aliases": [
        "add feature",
        "change code"
      ],
      "keywords": [
        "ownership",
        "tests",
        "registry"
      ],
      "maturity": "stable",
      "layer": "architecture",
      "audiences": [
        "coding-agent",
        "maintainer"
      ],
      "workflow": [
        {
          "step": "1",
          "action": "Search the discovery map by behavior, expand the layer and module, and inspect git status before editing."
        },
        {
          "step": "2",
          "action": "Find the canonical registry/contract and every consumer; preserve unrelated dirty-worktree changes."
        },
        {
          "step": "3",
          "action": "Implement with explicit state, safety, version, and error semantics."
        },
        {
          "step": "4",
          "action": "Add focused regression tests and update agent map/docs when a public surface, ownership boundary, workflow, or failure mode changes."
        },
        {
          "step": "5",
          "action": "Run targeted tests, discovery/docs freshness, and diff checks; leave publish/build to the authorized workflow."
        }
      ],
      "verification": [
        {
          "check": "Targeted tests and node scripts/generate-discovery.mjs --check",
          "expected": "Behavior and machine-readable discovery are both current"
        }
      ],
      "failure_modes": [
        {
          "symptom": "A fix works in one surface but discovery or another consumer is stale",
          "likely_cause": "The source registry and consumers were not traced before editing",
          "recovery": "Expand the layer/module, enumerate registry consumers, update contract/docs/tests, and rerun freshness checks"
        }
      ],
      "source_of_truth": [
        "AGENTS.md",
        "docs/architecture/agent-system-map.md",
        "scripts/generate-discovery.mjs"
      ]
    },
    {
      "id": "workflow.provider-selection",
      "kind": "workflow",
      "title": "Select an inference provider and model",
      "summary": "Resolve an explicit provider protocol, credentials, endpoint, and model; verify live reachability and hardware placement for local inference.",
      "aliases": [
        "BYOI",
        "model selection"
      ],
      "keywords": [
        "provider",
        "endpoint",
        "protocol"
      ],
      "maturity": "stable",
      "layer": "inference",
      "audiences": [
        "operator",
        "integrator",
        "coding-agent"
      ],
      "workflow": [
        {
          "step": "1",
          "action": "Discover and expand the provider descriptor; do not infer protocol from a label or API key."
        },
        {
          "step": "2",
          "action": "Configure endpoint/protocol/credential using the documented scope."
        },
        {
          "step": "3",
          "action": "For local model work, perform the required hardware preflight before any token-generating request."
        },
        {
          "step": "4",
          "action": "Verify the selected provider and exact model through live metadata."
        }
      ],
      "verification": [
        {
          "check": "Live model/provider status matches the intended endpoint, protocol, and hardware",
          "expected": "No silent fallback"
        }
      ],
      "failure_modes": [
        {
          "symptom": "Model listing works but inference fails or uses the wrong protocol",
          "likely_cause": "Endpoint display label was used instead of the provider descriptor",
          "recovery": "Resolve the stable provider ID/protocol and re-test the exact endpoint before execution"
        }
      ],
      "source_of_truth": [
        "packages/backend-vllm/src/providerRegistry.ts",
        "docs/guides/bring-your-own-inference.md"
      ]
    },
    {
      "id": "workflow.publish-package",
      "kind": "workflow",
      "title": "Build and publish the Omnius package",
      "summary": "Follow the repository Minimal Publish SOP: clean all workspaces, rebuild, bundle publish/, inspect a local-cache tarball, patch-bump, publish only from publish/, and verify npm metadata.",
      "aliases": [
        "npm publish",
        "release"
      ],
      "keywords": [
        "publish",
        "tarball",
        "README"
      ],
      "maturity": "stable",
      "layer": "operations",
      "audiences": [
        "maintainer"
      ],
      "prerequisites": [
        "Node >=22",
        "pnpm >=9",
        "npm >=10",
        "npm publish rights"
      ],
      "workflow": [
        {
          "step": "1",
          "action": "Follow AGENTS.md exactly and rebuild every workspace."
        },
        {
          "step": "2",
          "action": "Run scripts/build-publish.mjs and work only in publish/."
        },
        {
          "step": "3",
          "action": "Pack with a local npm cache; verify README, package metadata, dist files, and absence of junk."
        },
        {
          "step": "4",
          "action": "Patch-bump above npm latest, publish with local cache, and verify npm metadata."
        }
      ],
      "avoid_when": [
        "Publishing from the repository root",
        "Skipping the rebuild or tarball audit"
      ],
      "verification": [
        {
          "check": "npm view omnius version readmeFilename and npm view omnius readme",
          "expected": "New version and rendered README are live"
        }
      ],
      "failure_modes": [
        {
          "symptom": "npm shows stale code, missing README, or junk artifacts",
          "likely_cause": "Publish was run outside publish/ or without the full rebuild/bundle/audit sequence",
          "recovery": "Deprecate the bad version, patch-bump, and repeat the Minimal Publish SOP from AGENTS.md"
        }
      ],
      "source_of_truth": [
        "AGENTS.md",
        "scripts/build-publish.mjs",
        "scripts/audit-publish-artifacts.mjs"
      ]
    },
    {
      "id": "workflow.stateful-chat",
      "kind": "workflow",
      "title": "Use stateful daemon chat",
      "summary": "Create or select a real chat session, send conversational turns, and load its history without treating control commands such as /quit as chats.",
      "aliases": [
        "chat sessions",
        "history"
      ],
      "keywords": [
        "session",
        "conversation",
        "history"
      ],
      "maturity": "stable",
      "layer": "memory",
      "audiences": [
        "integrator",
        "service-agent"
      ],
      "workflow": [
        {
          "step": "1",
          "action": "List or create sessions through the documented chat/session routes.",
          "interface": "GET /v1/chats and chat creation route"
        },
        {
          "step": "2",
          "action": "Send user content through POST /v1/chat with the selected session identity.",
          "interface": "POST /v1/chat"
        },
        {
          "step": "3",
          "action": "Load message history when selecting the session and distinguish UI/control events from conversational turns.",
          "expected": "The selected chat displays its saved conversation"
        }
      ],
      "verification": [
        {
          "check": "Reload the selected session",
          "expected": "History is restored and control-only commands are absent from the chat list"
        }
      ],
      "failure_modes": [
        {
          "symptom": "Chats named quit or duplicate Last task summaries appear",
          "likely_cause": "Control/task metadata was projected as a chat session",
          "recovery": "Use the canonical session registry and filter non-conversational control records"
        }
      ],
      "source_of_truth": [
        "packages/cli/src/api/chat-session.ts",
        "packages/cli/src/api/session-summary.ts",
        "packages/cli/src/api/web-ui.ts"
      ]
    },
    {
      "id": "workflow.voice-asr-tts",
      "kind": "workflow",
      "title": "Select and use ASR/TTS engines",
      "summary": "Discover installed and supported ASR/TTS systems, perform managed setup when needed, activate one exact engine/model/device, and use the documented REST or TUI surface.",
      "aliases": [
        "speech",
        "voice engines"
      ],
      "keywords": [
        "ASR",
        "TTS",
        "VibeVoice",
        "transcribe_cli",
        "LuxTTS"
      ],
      "maturity": "stable",
      "layer": "media",
      "audiences": [
        "integrator",
        "operator",
        "user"
      ],
      "workflow": [
        {
          "step": "1",
          "action": "List engines/models and inspect status before activation.",
          "interface": "GET /v1/asr/engines; GET /v1/asr/status; voice model routes"
        },
        {
          "step": "2",
          "action": "Run explicit managed setup for missing runtimes/weights and an exact accelerator when required."
        },
        {
          "step": "3",
          "action": "Activate the selected engine/model and verify active status."
        },
        {
          "step": "4",
          "action": "Transcribe or synthesize through the OpenAPI-documented route and validate the output artifact."
        }
      ],
      "verification": [
        {
          "check": "Status reports the requested active engine/model/device and a small non-live test succeeds",
          "expected": "No interpreter override or fallback to a different engine"
        }
      ],
      "failure_modes": [
        {
          "symptom": "transcribe_cli is missing although a managed environment exists",
          "likely_cause": "TRANSCRIBE_PYTHON points at an older Whisper environment",
          "recovery": "Use the canonical managed transcribe runtime selection and re-check ASR status"
        }
      ],
      "source_of_truth": [
        "packages/execution/src/asr/registry.ts",
        "packages/execution/src/transcribe-python-runtime.ts",
        "packages/cli/src/api/voice-runtime.ts"
      ]
    }
  ]
}
