Sudo

Sudo is the admin-facing AI assistant of Curiosity Workspace — Curiosity's pixelated cat, and the persona the Admin Assistant loop wears. He lives in a pane on the right of the admin interface: a system administrator opens him from the floating toggle, describes what they want in plain language, and he reads the workspace, drafts the change, and applies it once it has been approved.

He is not the assistant your end users talk to. That one searches the workspace and reads what it is handed; Sudo changes the workspace itself — endpoints, AI tools, agents, skills, prompt templates, scheduled tasks, indexes, schema, NLP, search settings, access groups. The two have different faces on purpose, so which one is in front of you is legible at a glance.

Despite the name, Sudo never assumes elevated privileges

He runs as the administrator who is talking to him, under their permissions, and he asks first. Nothing is written until you turn on Allow changes and approve a specific diff.

Where he appears

Surface What he is doing there
The admin chat pane The conversation itself. It is collapsed by default and opens from a floating toggle carrying his avatar; both only appear inside the admin interface, for system administrators.
The composer, the transcript, the empty state His avatar, idling and fidgeting between turns.
The built-in editors He perches on the modal of a built-in AI tool, agent, skill or prompt template, which is how you can tell a built-in from something your workspace authored.

The pane is aware of what you are looking at. The admin interface hands him a UI context block: the surface in the foreground tab is the active context — what "this endpoint" refers to when you say it — and everything open in adjacent tabs is background context, used to disambiguate. Each entry carries the canonical identifier his tools expect, so a request phrased as "make this one read-only" resolves to the right endpoint rather than a guess.

How he behaves

His voice and boundaries are a skill in your workspace (sudo-persona), which means they are visible and editable rather than hard-wired:

  • Verify before acting. Intent, target resource, and likely impact — checked before anything is drafted.
  • Proceed on the small and reversible. Clearly requested, low-risk, reversible actions go ahead.
  • Ask first on the rest. Destructive, security-sensitive, externally visible, broad-impact or materially ambiguous requests stop and ask.
  • Smallest change that works. He edits what needs editing rather than retyping a surface.
  • No invented state, no unconfirmed success. He does not claim a change worked without a result to show for it, and does not imply permissions he does not have.
  • Report what happened. What changed, where, whether it worked, what is left.

Competent first, charming second: he leads with the answer or the current status, and the cat shows up afterwards, if at all.

Two session modes

The empty chat asks how the session should work before anything else:

Just look, no touching

Read-only. He can read endpoints, AI tools, agents, schemas, tasks and settings to answer questions, and cannot draft or apply anything. This is the default.

Let Sudo also suggest changes

He may also draft changes for you to review. Nothing reaches the workspace until you approve it, one change at a time.

The mode is per session — start a new chat session to switch. The Allow changes toggle (the pen icon) is the same switch, and it gates every propose.* and apply.* tool for that session.

What he can do

Answer questions about the workspace

Everything under Read-only skills is available in either mode: list and read endpoints, AI tools, agents, prompt templates, scheduled tasks, data connectors, indexes, NLP spotters and pipelines, search configuration, embedding preferences, UI settings and access groups; read the graph schema and node statistics; pull the API documentation for a type or for a code-execution scope.

So "which endpoints are reachable without authentication?", "what does this agent's tool set look like?" and "what is available inside an AI tool's scope?" are all answerable without enabling changes.

Diagnose what is happening now

  • Metrics — call counts, latency and error rates for endpoints and AI tools over the last hour and the last 24 hours.
  • Exceptions — recently recorded exceptions, which is usually how you find out what a change broke.
  • History — the configuration-tracking git log: who changed what, when. He can also read the before/after of a single past version of a code surface, so "what did this endpoint look like before Tuesday?" is a question he can answer rather than reconstruct.

Build and change configuration

With changes allowed, he drafts against every surface listed in Change skills — code surfaces (endpoints, AI tools, agents, skills, prompt templates, scheduled tasks, data connectors, migrations, entity post-processing), schema (node types, edge types, renderers, styles), indexes, NLP (spotters, pipelines, entity linking), search (settings, facets, synonyms, replacements), and settings (UI, embeddings, AI providers, access groups and grants).

Each draft is compiled, round-trip-parsed, secret-scanned and policy-checked before it is offered to you, and each one arrives as a before/after diff you can edit in place before approving.

Run things, and undo them

  • Test a saved surface — run an endpoint, an AI tool, an agent, a scheduled task, a search, or a spotter over sample text, and report what came back. This is how a change is verified after it is applied.
  • Materialize an index and report the result.
  • Roll back the most recent applied change when verification fails.
  • Propose a shell script — a one-off C# script for you to read and run from the chat, for the work that is genuinely one-off and does not belong in a saved surface.

Read what you hand him

Files uploaded to the private Stage area — where files sit while they await review, before they are promoted into the workspace — are readable by him: extracted text for ordinary documents, and for CSV-style files the column metadata — headers, sample values, distribution, and whether a column is numeric, date-time or boolean. That is what makes "here is a CSV, build me a connector and a schema for it" a request he can actually start from.

He does not read your workspace's data — search results, file contents, messages. Configuration and staged files are the whole of what he sees.

Follow your workspace's own recipes

Sudo does not work from memory. Before planning, writing code, or proposing anything, he reads the skill for the surface involved — short markdown recipes stored in your workspace, listed under built-in skills:

Skill Covers
add-code-endpoint / edit-code-endpoint Creating and safely modifying a code endpoint.
create-ai-tool [Tool] / [Parameter], ToolScope, return conventions, secrets.
create-agent Tool set, output schema, system prompt.
add-node-schema-field Adding or renaming a schema field, plus the migration that backfills it.
add-custom-code-index Custom code and search indexes.
add-scheduled-task Code-driven tasks, cron sanity, dry run.
add-pattern-spotter Regex spotters wired into a pipeline.
graph-query-language Q() / Query(), traversal, filtering, the typed N. / E. helpers.
embeddings-and-vectors, build-similarity-engine Which encoders exist, and fusing signals into a ranked list.
workspace-shell, inspect-staged-files, code-helpers The Shell, the Stage area, and his read-edit-propose loop.
sudo-persona, agentic-workflow-overview, propose-change-protocol, introspect-tools-overview Who he is, and how the loop and its proposals work.

These skills are yours. They are ordinary workspace nodes: read them, edit them, or add your own, and the recipe he follows changes with them. That is the supported way to teach him a house convention — an authorization attribute every endpoint must carry, a naming scheme, a field your schema always sets — and it applies to every future session rather than to the one conversation you said it in. He treats a skill as a checklist and surfaces a conflict rather than silently overriding it.

What he will not do

  • Write without approval. There is no path from a draft to your workspace that does not pass through a diff you approved. The approval is bound to the exact content you saw.
  • Batch-approve a widened access mode. Anything that broadens who can reach an endpoint or a tool is a blocking concern and needs explicit per-change approval.
  • Read your data. Configuration and staged files only.
  • Reach outside the workspace. He calls workspace built-ins — no external services, no arbitrary HTTP, no cross-workspace work.
  • Replace the admin pages. Everything he does is something you can do by hand, and every change he applies lands in the same git-tracked history as a manual one.

Cost and accountability

Every tool call he makes is metered into the workspace's own metrics under an Admin Agent bucket, separately from ordinary chat tools, and each session tracks its own call count, error count and total duration. Every applied change is one commit in the configuration-tracking history, signed with your admin identity and tagged with the session it came from, so a change made through Sudo lands in the same history as a manual one and carries the session that produced it.

Next steps

© 2026 Curiosity. All rights reserved.