Files
PaperClipAI/ui/storybook/generated/feature-index.json
T
DottaandPaperclip 5e8e992df2 fix(storybook): reconcile capability associations and map omissions (#16154)
## Thinking Path

> - Paperclip helps people manage AI agents and their work.
> - The feature map describes user capabilities and verification
recipes.
> - Storybook holds isolated examples of those capabilities.
> - Missing catalog links can hide existing examples.
> - Some stories also expose shipped capabilities absent from the map.
> - This pull request adds verified source associations and three paired
map entries.
> - Readers can find existing examples without changing their homes or
URLs.

## Linked Issues or Issue Description

Refs #16052, #16049 and #16046.

**What existing behavior does this improve?**

Storybook capability lookup and the feature/agent access maps.

**Current behavior**

Seventy capabilities have no example link. Some matching stories already
exist. Primary-agent preferences and company decision/fast-response
services appear only under broad neighboring capabilities.

**Proposed behavior**

Add source-supported links across 34 suites. Keep shared foundations in
place while cross-listing them. Add primary-agent, decision-model and
fast-response capabilities to both upstream maps. Retain explicit
simulation and partial-example limits.

**Reason and benefit**

The catalog distinguishes missing associations from missing examples.
The upstream map describes three existing product capabilities more
precisely.

**Breaking changes**

None to product behavior, story exports, folders, sidebar titles or
URLs. A shared foundation can declare a reasoned `home: "foundations"`
override while referencing related capabilities.

## What Changed

- Add 55 references across 34 suites. Replace primary-agent suites'
reporting-line association with their own capability.
- Add three source-reviewed capabilities and their API/actor boundaries
to paired maps.
- Preserve the shared Foundations home when cross-listing developer
design examples. Add a validation regression test.
- Record which exports demonstrate each association and what remains
simulated or unverified.
- Regenerate the catalog and capability data. Preserve all original 223
authored suites and 2,210 story IDs. Retain the two skill-removal
stories added by current master, for 2,212 authored stories in total.
- Reduce empty example lookups from 70 of 171 capabilities to 59 of 174.
Links do not establish complete capability coverage.

## Verification

- Passed: 27 catalog/generator/map tests, catalog validation, map
structural checks, token gates and skill validation.
- Passed: source inventory comparison preserves all authored files,
titles, meta IDs and story IDs.
- Passed: repository typecheck/build and Storybook build. Final built
index has 2,248 entries and preserves all previous entries, including
the two skills stories added by current master.
- The broad local repository test run was interrupted before completion
to resolve a new master conflict. A complete local suite pass is not
claimed; fresh CI passed on the reconciled branch.
- Browser: Design links to preserved Foundations stories;
company-service sections link settings/history/journey suites; decision
SetupToHistory passed 12 interaction steps; primary-agent ReplacePrimary
passed four steps. No console errors in selected checks.
- Greptile: 5/5 on final commit
`805a8af62abe589907e7cc6ca1b415ce1e0cc3c0`, with no findings or
unresolved threads.
- Final-revision CI passed all 57 checks/statuses, including all eight
browser shards, server and Runner tests, typecheck and build. The
unchanged Cloud-auth mocked-response race seen on a superseded revision
did not recur on the final commit. No test expectations were changed.
- New agent-access evidence is source-only. Live provider and
agent-credential verification is not established.

## Risks

- Suite-level associations can represent only selected states. Notes
retain those limits and existing review classifications.
- In-memory connection drafts do not prove reload persistence.
Resume-failure UI does not prove successful continuation. No-op budget
controls do not prove relief or resumption.
- Three map capabilities document existing behavior. No permission, API,
provider or production component changes.

## Model Used

OpenAI Codex, GPT-6 family, with reasoning, code execution and source
inspection. The exact runtime model ID and context window are not
exposed in this session.

## Checklist

- [x] I have included a thinking path that traces from project context
to this change
- [x] I have specified the model used (with version and capability
details)
- [x] I have checked ROADMAP.md and confirmed this PR does not duplicate
planned core work
- [x] I have searched GitHub for duplicate or related PRs and linked
them above
- [x] I have either (a) linked existing issues with `Fixes: #` / `Closes
#` / `Refs #` OR (b) described the issue in-PR following the relevant
issue template
- [x] I have not referenced internal/instance-local Paperclip issues or
links (only public GitHub `#NNN` / `github.com/paperclipai/paperclip`
URLs)
- [x] My branch name describes the change (e.g. `docs/...`, `fix/...`)
and contains no internal Paperclip ticket id or instance-derived details
- [x] I have run tests locally and they pass
- [x] I have added or updated tests where applicable
- [x] I have updated relevant documentation to reflect my changes
- [x] I have considered and documented any risks above
- [x] All Paperclip CI gates are green
- [x] Greptile is 5/5 with no open P2s, recommendations, or follow-ups
- [x] I will address all Greptile and reviewer comments before
requesting merge

Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-10-13 08:11:15 -05:00

1160 lines
47 KiB
JSON

{
"sections": [
{
"title": "Getting started and access",
"features": [
{
"id": "onboarding",
"title": "Onboarding and first work",
"description": "Instance setup, company wizard, first agent and task.",
"capabilities": [
{
"id": "onboarding/instance",
"label": "Instance",
"description": "choose local instance configuration and start the server."
},
{
"id": "onboarding/company",
"label": "Company",
"description": "create a company with its identity and initial agent."
},
{
"id": "onboarding/adapter",
"label": "Adapter",
"description": "choose an available harness, model, account, and execution environment."
},
{
"id": "onboarding/first-task",
"label": "First task",
"description": "leave setup with a task whose execution or missing prerequisite is visible."
},
{
"id": "onboarding/resume",
"label": "Resume",
"description": "return to an incomplete wizard without losing saved state."
}
]
},
{
"id": "access",
"title": "Login, invitations, and access",
"description": "Sessions, bootstrap, membership, roles, and CLI authorization.",
"capabilities": [
{
"id": "access/login",
"label": "Login",
"description": "sign in or claim the board in the configured deployment mode."
},
{
"id": "access/invitations",
"label": "Invitations",
"description": "join through a valid invite and handle expired or already-used links."
},
{
"id": "access/membership",
"label": "Membership",
"description": "review join requests and manage company/instance membership and permissions."
},
{
"id": "access/resources",
"label": "Resources",
"description": "respect company and resource boundaries on deep links and mutations."
},
{
"id": "access/cli-auth",
"label": "Cli auth",
"description": "authorize a CLI session and revoke or replace credentials."
}
]
},
{
"id": "companies",
"title": "Companies and portability",
"description": "Company switching/settings, archival, package import/export.",
"capabilities": [
{
"id": "companies/selection",
"label": "Selection",
"description": "create/select a company and keep navigation in its scope."
},
{
"id": "companies/identity",
"label": "Identity",
"description": "update company identity and configured settings."
},
{
"id": "companies/decision-models",
"label": "Decision models",
"description": "configure and test the company's decision model, then inspect invocation history and recorded usage."
},
{
"id": "companies/fast-responses",
"label": "Fast responses",
"description": "configure and test the experimental fast-response service, then inspect acknowledgement history, failures, and recorded usage."
},
{
"id": "companies/archive",
"label": "Archive",
"description": "archive and restore through the available controls without confusing archival with deletion."
},
{
"id": "companies/portability",
"label": "Portability",
"description": "preview a company package and inspect imported agents, projects, skills, and conflicts."
}
]
}
]
},
{
"title": "Tasks and conversations",
"features": [
{
"id": "tasks",
"title": "Task creation and lifecycle",
"description": "Creation, assignment, lists, properties, comments, and completion.",
"capabilities": [
{
"id": "tasks/create",
"label": "Create",
"description": "capture a title/request with the intended agent, project, and attachments."
},
{
"id": "tasks/organize",
"label": "Organize",
"description": "filter, sort, group, and navigate tasks without losing the selected context."
},
{
"id": "tasks/properties",
"label": "Properties",
"description": "change status, priority, assignee, project, and relationships where authorized."
},
{
"id": "tasks/discussion",
"label": "Discussion",
"description": "persist comments, references, and files on the task."
},
{
"id": "tasks/completion",
"label": "Completion",
"description": "distinguish backlog, active work, review, blocked, done, and cancelled outcomes."
}
]
},
{
"id": "task-coordination",
"title": "Delegation, dependencies, and signoff",
"description": "Child work, prerequisites, reviewers, and task-tree controls.",
"capabilities": [
{
"id": "task-coordination/delegation",
"label": "Delegation",
"description": "inspect parent/child tasks and the original request behind delegated work."
},
{
"id": "task-coordination/dependencies",
"label": "Dependencies",
"description": "show blocking tasks and wake eligible work when prerequisites resolve."
},
{
"id": "task-coordination/signoff",
"label": "Signoff",
"description": "apply the configured implementation/review completion policy."
},
{
"id": "task-coordination/tree-control",
"label": "Tree control",
"description": "pause or resume a task tree without bypassing its gates."
}
]
},
{
"id": "inbox-search",
"title": "Inbox, decisions, and search",
"description": "Personal triage, decision queues, unread/blocked views, and search.",
"capabilities": [
{
"id": "inbox-search/views",
"label": "Views",
"description": "use Mine, Recent, Unread, Blocked, and broader task views."
},
{
"id": "inbox-search/triage",
"label": "Triage",
"description": "read or archive attention items without pretending the underlying task is complete."
},
{
"id": "inbox-search/decisions",
"label": "Decisions",
"description": "open the source of a decision and act in the right context."
},
{
"id": "inbox-search/search",
"label": "Search",
"description": "query company work and follow a result to its original record."
}
]
},
{
"id": "agent-chat",
"title": "Agent conversations and project handoff",
"description": "Persistent conversations, discovery, handoff, and gated board chat.",
"capabilities": [
{
"id": "agent-chat/discovery",
"label": "Discovery",
"description": "find an agent and reopen an accessible recent conversation."
},
{
"id": "agent-chat/history",
"label": "History",
"description": "send messages, inspect replies/files, and return to the same conversation."
},
{
"id": "agent-chat/handoff",
"label": "Handoff",
"description": "create or identify a project/task from chat and follow the resulting work."
},
{
"id": "agent-chat/conference-room",
"label": "Conference room",
"description": "use the separately gated board chat without assuming parity with agent chat."
}
]
},
{
"id": "questions-and-approvals",
"title": "Questions and approvals",
"description": "Question/plan responses, formal approvals, and app-tool review.",
"capabilities": [
{
"id": "questions-and-approvals/questions",
"label": "Questions",
"description": "single-choice, multiple-choice, custom, and free-text answers; paged forms retain answers until submission and show validation failures."
},
{
"id": "questions-and-approvals/dismiss-and-reopen",
"label": "Dismiss and reopen",
"description": "unanswered questions remain in the feed after dismissal or a newer message; reopening restores the form without inventing an answer."
},
{
"id": "questions-and-approvals/confirmations",
"label": "Confirmations",
"description": "accept, decline, or request changes; stale, expired, resolved, and withdrawn requests cannot be acted on again."
},
{
"id": "questions-and-approvals/plan-review",
"label": "Plan review",
"description": "inspect the requested plan revision before accepting or asking for changes. An ordinary planning task can proceed to execution; Agent Chat hands work to linked tasks and remains a conversation."
},
{
"id": "questions-and-approvals/audience",
"label": "Audience",
"description": "the current actor, company, named audience, and review policy govern resolution. A visible request is not necessarily actionable by that viewer."
},
{
"id": "questions-and-approvals/governance",
"label": "Governance",
"description": "pending/history views, approve/reject, revision request, and resubmission for formal board approvals."
},
{
"id": "questions-and-approvals/tool-review",
"label": "Tool review",
"description": "approve once, always allow the displayed scope, or decline; decision status and provider execution outcome remain distinct."
},
{
"id": "questions-and-approvals/continuation",
"label": "Continuation",
"description": "one recorded response leads to the eligible waiting run or continuation; repeated clicks, reloads, and competing tabs do not repeat work."
}
]
},
{
"id": "steering",
"title": "Steering and queued messages",
"description": "Follow-ups, queue edits, interruption, and pause/resume.",
"capabilities": [
{
"id": "steering/queue",
"label": "Queue",
"description": "a busy task saves follow-ups and shows their order and wait reason."
},
{
"id": "steering/edit-order-discard",
"label": "Edit order discard",
"description": "edit full Markdown, reorder, and discard eligible saved messages; ownership, revision conflicts, and already-dispatched states matter."
},
{
"id": "steering/steer",
"label": "Steer",
"description": "explicit user action sends a queued message into a compatible active run; unavailable capabilities and provider rejection remain visible."
},
{
"id": "steering/interrupt",
"label": "Interrupt",
"description": "stop the current execution and carry accepted follow-ups into the eligible continuation without delivering them twice."
},
{
"id": "steering/stop-and-pause",
"label": "Stop and pause",
"description": "distinguish stop-in-flight, confirmed stop, task/ancestor pause, agent pause, and budget hold. Resume must respect the actual gate."
},
{
"id": "steering/drafts",
"label": "Drafts",
"description": "switching tasks, reloading, and uncertain submission retain the correct task's draft and attachment receipts."
},
{
"id": "steering/approval-queue",
"label": "Approval queue",
"description": "answered questions and accepted approvals have durable delivery distinct from editable ordinary comments."
}
]
},
{
"id": "documents-artifacts",
"title": "Documents, attachments, and work products",
"description": "Versioned documents, annotations, files, outputs, and artifact library.",
"capabilities": [
{
"id": "documents-artifacts/documents",
"label": "Documents",
"description": "edit versioned task documents and inspect or restore revisions."
},
{
"id": "documents-artifacts/annotations",
"label": "Annotations",
"description": "attach feedback to document content and inspect resolution state."
},
{
"id": "documents-artifacts/attachments",
"label": "Attachments",
"description": "upload, preview, and download allowed files with company access checks."
},
{
"id": "documents-artifacts/work-products",
"label": "Work products",
"description": "link deliverables to their source task, resource, and review context."
},
{
"id": "documents-artifacts/library",
"label": "Library",
"description": "search, filter, group, and open artifact stacks."
}
]
}
]
},
{
"title": "Agents and reusable capabilities",
"features": [
{
"id": "agents",
"title": "Hiring, configuration, and organization",
"description": "Agent identity, instructions, reporting lines, lifecycle, and built-ins.",
"capabilities": [
{
"id": "agents/hire",
"label": "Hire",
"description": "choose identity, adapter, model, and required account settings; edit reporting relationships through the agent configuration afterward."
},
{
"id": "agents/instructions",
"label": "Instructions",
"description": "edit agent configuration and instruction files with durable revisions."
},
{
"id": "agents/organization",
"label": "Organization",
"description": "inspect and change reporting relationships through supported controls."
},
{
"id": "agents/primary-agent",
"label": "Primary agent",
"description": "choose a personal primary agent for the company, confirm replacement, and inspect its roster/sidebar and task/chat defaults."
},
{
"id": "agents/lifecycle",
"label": "Lifecycle",
"description": "pause/resume or retire an agent while preserving history."
},
{
"id": "agents/built-in",
"label": "Built in",
"description": "configure required agents without treating them as ordinary removable hires."
}
]
},
{
"id": "runs-adapters",
"title": "Runs, harnesses, and model accounts",
"description": "Adapter/model setup, account validation, transcripts, and run history.",
"capabilities": [
{
"id": "runs-adapters/availability",
"label": "Availability",
"description": "discover installed adapters and available models/accounts."
},
{
"id": "runs-adapters/validation",
"label": "Validation",
"description": "test an adapter in the selected execution environment and surface authentication failures."
},
{
"id": "runs-adapters/runs",
"label": "Runs",
"description": "inspect run status, events, output, costs, and the source task."
},
{
"id": "runs-adapters/session",
"label": "Session",
"description": "preserve or reset execution context through supported lifecycle actions."
}
]
},
{
"id": "skills",
"title": "Skills and Skill Studio",
"description": "Discovery, sources, authoring, revisions, tests, and agent policies.",
"capabilities": [
{
"id": "skills/discovery",
"label": "Discovery",
"description": "browse installed/discover views and import a skill or source."
},
{
"id": "skills/authoring",
"label": "Authoring",
"description": "create/edit a writable skill or fork a read-only source."
},
{
"id": "skills/versions",
"label": "Versions",
"description": "inspect revisions, source updates, diffs, and selected releases."
},
{
"id": "skills/policy",
"label": "Policy",
"description": "apply agent enablement and skill usage policy independently from installation."
},
{
"id": "skills/testing",
"label": "Testing",
"description": "run a bounded Studio test and inspect its result and interactions."
}
]
},
{
"id": "teams",
"title": "Team packages and installation",
"description": "Catalog preview/install via CLI/API; catalog UI availability called out.",
"capabilities": [
{
"id": "teams/discovery",
"label": "Discovery",
"description": "list available team catalog entries and inspect package contents."
},
{
"id": "teams/preview",
"label": "Preview",
"description": "inspect proposed resources and installation options before mutation."
},
{
"id": "teams/install",
"label": "Install",
"description": "install into the intended company and inspect resulting agents and resources."
},
{
"id": "teams/configuration",
"label": "Configuration",
"description": "supply required adapters/accounts and verify installed agents can work."
}
]
}
]
},
{
"title": "Projects and execution",
"features": [
{
"id": "projects",
"title": "Projects and repositories",
"description": "Project lifecycle, task context, repository configuration, and defaults.",
"capabilities": [
{
"id": "projects/lifecycle",
"label": "Lifecycle",
"description": "create, name, organize, and archive projects."
},
{
"id": "projects/task-context",
"label": "Task context",
"description": "inspect project tasks and create work in the selected project."
},
{
"id": "projects/repositories",
"label": "Repositories",
"description": "configure repository/workspace sources and verify usable checkouts."
},
{
"id": "projects/defaults",
"label": "Defaults",
"description": "maintain project instructions, environment, goal, and budget context where offered."
}
]
},
{
"id": "goals",
"title": "Goals and work alignment",
"description": "Goal hierarchy, ownership, status, and project/task context.",
"capabilities": [
{
"id": "goals/hierarchy",
"label": "Hierarchy",
"description": "create and inspect goal level, parent, owner, and status."
},
{
"id": "goals/alignment",
"label": "Alignment",
"description": "associate work with a valid goal in the same company."
},
{
"id": "goals/navigation",
"label": "Navigation",
"description": "follow goal/project/task context to understand why work exists."
}
]
},
{
"id": "workspaces",
"title": "Workspaces, services, and files",
"description": "Provisioning, task bindings, services/logs, Git/files, and closure.",
"capabilities": [
{
"id": "workspaces/binding",
"label": "Binding",
"description": "identify the workspace actually bound to a task/run."
},
{
"id": "workspaces/provisioning",
"label": "Provisioning",
"description": "observe readiness and failures instead of inferring readiness from a created record."
},
{
"id": "workspaces/services",
"label": "Services",
"description": "start/stop supported services and inspect logs and exposed endpoints."
},
{
"id": "workspaces/files-git",
"label": "Files git",
"description": "inspect workspace files and repository state used for the deliverable."
},
{
"id": "workspaces/closure",
"label": "Closure",
"description": "close/reopen or reconcile through permitted controls without losing work."
}
]
},
{
"id": "execution-environments",
"title": "Execution environments",
"description": "Local, SSH, sandbox providers, target probes, and custom images.",
"capabilities": [
{
"id": "execution-environments/configuration",
"label": "Configuration",
"description": "inspect local environments and configure available SSH/sandbox targets."
},
{
"id": "execution-environments/capabilities",
"label": "Capabilities",
"description": "select only drivers/providers that advertise the required execution capability."
},
{
"id": "execution-environments/probe",
"label": "Probe",
"description": "test reachability and runtime prerequisites in the actual target."
},
{
"id": "execution-environments/assignment",
"label": "Assignment",
"description": "bind the intended agent/project/workspace to its execution target."
},
{
"id": "execution-environments/images",
"label": "Images",
"description": "inspect supported sandbox custom-image preparation and terminal workflows."
}
]
},
{
"id": "recovery",
"title": "Recovery",
"description": "Stopped work, workspace repair, bounded continuation, and reconnect.",
"capabilities": [
{
"id": "recovery/diagnosis",
"label": "Diagnosis",
"description": "a task/run exposes the recorded cause, evidence, owner, attempt progress, and next action without requiring a raw-log interpretation."
},
{
"id": "recovery/bounded-continuation",
"label": "Bounded continuation",
"description": "supported interrupted work continues with preserved conversation context and bounded attempts, without blindly replaying tools."
},
{
"id": "recovery/source-action",
"label": "Source action",
"description": "source-scoped recovery actions remain attached to the task; independent repair work may have its own issue and return owner."
},
{
"id": "recovery/exhaustion",
"label": "Exhaustion",
"description": "exhausted or overdue recovery exposes the current gate and permitted operator action; it does not claim an automatic path is still live."
},
{
"id": "recovery/workspace",
"label": "Workspace",
"description": "workspace divergence/export failures show the applicable repair, reconcile, or isolated reissue action with evidence and authority checks."
},
{
"id": "recovery/unknown-outcome",
"label": "Unknown outcome",
"description": "uncertain external side effects require inspection and an explicit decision, not automatic replay."
},
{
"id": "recovery/user-continuation",
"label": "User continuation",
"description": "saved user messages after a stop are reconsidered once cleanup proves the old execution is stopped; duplicate wakes are avoided."
},
{
"id": "recovery/reconnect",
"label": "Reconnect",
"description": "browser stream recovery refreshes persisted state without claiming the agent itself restarted or that a failed run succeeded."
}
]
}
]
},
{
"title": "Apps, channels, and extensions",
"features": [
{
"id": "connection-setup",
"title": "Connection setup",
"description": "Catalog, MCP links, task requests, authentication, and setup resumption.",
"capabilities": [
{
"id": "connection-setup/catalog",
"label": "Catalog",
"description": "find a provider, inspect its available methods, and open setup; unavailable methods explain their prerequisite rather than silently switching."
},
{
"id": "connection-setup/identity-and-access",
"label": "Identity and access",
"description": "select personal/shared identity and eligible agents; an empty explicit selection and company-wide access must not be confused."
},
{
"id": "connection-setup/credentials",
"label": "Credentials",
"description": "provider sign-in, key, or generic MCP URL follows its supported setup method; credentials are not retained in browser draft storage."
},
{
"id": "connection-setup/handoff",
"label": "Handoff",
"description": "provider popup/full-page callback returns to the correct setup host with the original task intent and identity choice intact."
},
{
"id": "connection-setup/draft-recovery",
"label": "Draft recovery",
"description": "cancel, Back, Save & exit, reload, Finish setup, and reconnect preserve the exact draft rather than creating duplicate connections."
},
{
"id": "connection-setup/task-request",
"label": "Task request",
"description": "only the addressed person resolves the requested connection; usable access releases the pending task request through normal continuation."
},
{
"id": "connection-setup/channel-setup",
"label": "Channel setup",
"description": "provider endpoint, represented agent, linked sender, and communication instructions are configured before an external message is used."
},
{
"id": "connection-setup/failure",
"label": "Failure",
"description": "denied login, unreachable/private URL, expired credentials, and permission errors leave an actionable state rather than a false success."
}
]
},
{
"id": "app-permissions",
"title": "App access and action permissions",
"description": "Agent grants, off/ask/allowed actions, discovery, tests, and revocation.",
"capabilities": [
{
"id": "app-permissions/agent-access",
"label": "Agent access",
"description": "grant the connection to all or selected eligible agents."
},
{
"id": "app-permissions/action-policy",
"label": "Action policy",
"description": "set off/ask/allowed independently for available actions."
},
{
"id": "app-permissions/catalog-change",
"label": "Catalog change",
"description": "review newly discovered/quarantined actions before enabling them."
},
{
"id": "app-permissions/test-action",
"label": "Test action",
"description": "choose an actor and inputs and inspect a real action result."
},
{
"id": "app-permissions/account-maintenance",
"label": "Account maintenance",
"description": "inspect accounts, reconnect/revoke, and review connection activity."
}
]
},
{
"id": "chat-channels",
"title": "External chat and email",
"description": "Provider-specific identity, threads, files, delivery, and endpoint upkeep.",
"capabilities": [
{
"id": "chat-channels/providers",
"label": "Providers",
"description": "configure the available Slack, Discord, Microsoft Teams, Telegram, GitHub, AgentMail, and experimental iMessage Photon paths; availability still depends on gates and provider support."
},
{
"id": "chat-channels/identity",
"label": "Identity",
"description": "link the external sender to the intended authorized Paperclip identity."
},
{
"id": "chat-channels/conversation",
"label": "Conversation",
"description": "route inbound messages to the selected agent and send replies to the correct thread."
},
{
"id": "chat-channels/attachments",
"label": "Attachments",
"description": "transfer supported files with inspectable delivery and failure states."
},
{
"id": "chat-channels/lifecycle",
"label": "Lifecycle",
"description": "inspect endpoint activity, repair auth, and disable delivery when required."
}
]
},
{
"id": "gateways-profiles",
"title": "Tool gateways and access profiles",
"description": "Tool exposure, client configuration, tokens, profiles, and activity.",
"capabilities": [
{
"id": "gateways-profiles/gateway",
"label": "Gateway",
"description": "create/edit an endpoint backed by a tool access profile."
},
{
"id": "gateways-profiles/profiles",
"label": "Profiles",
"description": "define reusable tool access configuration and inspect draft/detail state."
},
{
"id": "gateways-profiles/client-connect",
"label": "Client connect",
"description": "copy the intended endpoint/configuration to an authorized test client."
},
{
"id": "gateways-profiles/tokens",
"label": "Tokens",
"description": "create/revoke client credentials and verify their scope."
},
{
"id": "gateways-profiles/activity",
"label": "Activity",
"description": "inspect tool discovery/calls and explicit errors."
}
]
},
{
"id": "secrets",
"title": "Secrets and proposals",
"description": "Company/user credentials, grants, proposals, and vault import.",
"capabilities": [
{
"id": "secrets/company-secrets",
"label": "Company secrets",
"description": "create/update secret references and control their bindings."
},
{
"id": "secrets/user-secrets",
"label": "User secrets",
"description": "define required user credentials and set a value for the current user."
},
{
"id": "secrets/proposals",
"label": "Proposals",
"description": "review proposed changes with the appropriate authority."
},
{
"id": "secrets/vault-import",
"label": "Vault import",
"description": "import eligible external-vault references through the offered flow."
},
{
"id": "secrets/runtime-delivery",
"label": "Runtime delivery",
"description": "deliver only the secret references authorized for the run/actor."
}
]
},
{
"id": "plugins",
"title": "Plugins",
"description": "Installation/configuration, contributed pages/tools, and lifecycle.",
"capabilities": [
{
"id": "plugins/installation",
"label": "Installation",
"description": "install a trusted test package or local development plugin through supported controls."
},
{
"id": "plugins/configuration",
"label": "Configuration",
"description": "save validated configuration and inspect activation/failure state."
},
{
"id": "plugins/contributions",
"label": "Contributions",
"description": "open plugin routes, settings, tools, and contributed resource tabs."
},
{
"id": "plugins/lifecycle",
"label": "Lifecycle",
"description": "disable/remove or reload a disposable plugin and observe cleanup."
}
]
}
]
},
{
"title": "Automation and structured work",
"features": [
{
"id": "routines",
"title": "Routines, schedules, and triggers",
"description": "Definitions, variables, scheduled/webhook/manual runs, and history.",
"capabilities": [
{
"id": "routines/definition",
"label": "Definition",
"description": "save the request, agent, project, variables, and execution context."
},
{
"id": "routines/triggers",
"label": "Triggers",
"description": "configure supported schedules/webhooks or other offered triggers."
},
{
"id": "routines/run-now",
"label": "Run now",
"description": "supply inputs and create an observable routine execution."
},
{
"id": "routines/history",
"label": "History",
"description": "inspect resulting tasks and past outcomes."
},
{
"id": "routines/management",
"label": "Management",
"description": "organize, pause/disable, archive, and distinguish plugin-managed routines."
}
]
},
{
"id": "pipelines",
"title": "Pipelines, review queues, and learnings",
"description": "Experimental stages, automation, items, review, and learning records.",
"capabilities": [
{
"id": "pipelines/stages",
"label": "Stages",
"description": "configure stage order, behavior, and automation assignees."
},
{
"id": "pipelines/items",
"label": "Items",
"description": "create or inspect items, grouping, stage state, and work references."
},
{
"id": "pipelines/review",
"label": "Review",
"description": "act on the pipeline review queue and inspect the resulting transition."
},
{
"id": "pipelines/learnings",
"label": "Learnings",
"description": "inspect the separate learning view and its source context."
}
]
},
{
"id": "cases",
"title": "Cases",
"description": "Experimental structured fields, relationships, revisions, and task links.",
"capabilities": [
{
"id": "cases/browse",
"label": "Browse",
"description": "search, filter, sort, group, and navigate case records."
},
{
"id": "cases/structure",
"label": "Structure",
"description": "inspect fields and parent/child relationships without losing matching descendants."
},
{
"id": "cases/history",
"label": "History",
"description": "inspect revisions and activity for a record."
},
{
"id": "cases/task-links",
"label": "Task links",
"description": "follow work associated with a case in both directions."
}
]
},
{
"id": "status-cards",
"title": "Status cards",
"description": "Experimental summaries, watched work, refresh history, and settings.",
"capabilities": [
{
"id": "status-cards/authoring",
"label": "Authoring",
"description": "create a card and configure its prompt, refresh behavior, and summarizer."
},
{
"id": "status-cards/generation",
"label": "Generation",
"description": "observe compilation/refresh tasks and their successful or failed output."
},
{
"id": "status-cards/inspection",
"label": "Inspection",
"description": "read the summary, watched work, history, and available query debugging."
},
{
"id": "status-cards/archive",
"label": "Archive",
"description": "archive and restore without confusing a stale summary with a current result."
}
]
}
]
},
{
"title": "Oversight and operation",
"features": [
{
"id": "budgets-costs",
"title": "Costs and budgets",
"description": "Spend reports, scoped limits, incidents, hard stops, and resumption.",
"capabilities": [
{
"id": "budgets-costs/cost-reporting",
"label": "Cost reporting",
"description": "inspect spend by the offered time range and resource dimensions."
},
{
"id": "budgets-costs/budgets",
"label": "Budgets",
"description": "configure supported company/project/agent limits and inspect usage."
},
{
"id": "budgets-costs/incidents",
"label": "Incidents",
"description": "distinguish warnings, hard stops, and manual pauses."
},
{
"id": "budgets-costs/resolution",
"label": "Resolution",
"description": "raise or resolve a budget incident through authorized controls and verify resumption."
}
]
},
{
"id": "activity",
"title": "Dashboards and audit trails",
"description": "Company health, live work, activity, runs, routines, and timeline.",
"capabilities": [
{
"id": "activity/overview",
"label": "Overview",
"description": "inspect the company dashboard and live-work summary."
},
{
"id": "activity/activity",
"label": "Activity",
"description": "filter and page through recorded actor/resource events."
},
{
"id": "activity/runs",
"label": "Runs",
"description": "find executions and follow their task/agent context."
},
{
"id": "activity/routine-audit",
"label": "Routine audit",
"description": "inspect routine execution activity separately from its definition."
},
{
"id": "activity/timeline",
"label": "Timeline",
"description": "use the available timeline view to understand work over time."
}
]
},
{
"id": "navigation-preferences",
"title": "Navigation, profile, and announcements",
"description": "Sidebar state, favorites/recents, personal identity, and dismissals.",
"capabilities": [
{
"id": "navigation-preferences/navigation",
"label": "Navigation",
"description": "use current sidebar links, favorites, recents, and available layout controls."
},
{
"id": "navigation-preferences/preferences",
"label": "Preferences",
"description": "persist supported ordering/collapse choices for the intended user/company."
},
{
"id": "navigation-preferences/profile",
"label": "Profile",
"description": "edit personal identity and inspect public profile links."
},
{
"id": "navigation-preferences/announcements",
"label": "Announcements",
"description": "inspect and dismiss an announcement with its intended instance-wide user scope."
},
{
"id": "navigation-preferences/fallbacks",
"label": "Fallbacks",
"description": "handle missing resources and old deep links without presenting another resource as the target."
}
]
},
{
"id": "instance-operations",
"title": "Instance operations",
"description": "Installation, updates, service health, configuration, and backups.",
"capabilities": [
{
"id": "instance-operations/install-update",
"label": "Install update",
"description": "inspect install channel/version and apply supported update or rollback operations."
},
{
"id": "instance-operations/server-service",
"label": "Server service",
"description": "start/stop the intended instance and inspect its service health."
},
{
"id": "instance-operations/configuration",
"label": "Configuration",
"description": "configure database, server binding, storage, secrets, and available experimental settings."
},
{
"id": "instance-operations/diagnostics",
"label": "Diagnostics",
"description": "use doctor/health output to distinguish readiness from a listening port."
},
{
"id": "instance-operations/backup",
"label": "Backup",
"description": "create and inspect backups and verify restore only into a separate disposable target."
}
]
},
{
"id": "cli-operations",
"title": "CLI/API and local worktrees",
"description": "Explicit context, resource commands, outputs, runs, and isolated instances.",
"capabilities": [
{
"id": "cli-operations/context",
"label": "Context",
"description": "choose instance/API base, profile, identity, and company explicitly."
},
{
"id": "cli-operations/domain-commands",
"label": "Domain commands",
"description": "read/write tasks, agents, projects, goals, approvals, routines, and other registered resources."
},
{
"id": "cli-operations/outputs",
"label": "Outputs",
"description": "work with documents/assets/skills and inspect machine-readable results."
},
{
"id": "cli-operations/run-controls",
"label": "Run controls",
"description": "invoke/inspect supported runs and observe actual outcomes."
},
{
"id": "cli-operations/worktree-instances",
"label": "Worktree instances",
"description": "initialize, seed, diagnose, and clean up only an owned development instance."
}
]
}
]
},
{
"title": "Contributor surfaces",
"features": [
{
"id": "developer-labs",
"title": "Developer previews and diagnostic labs",
"description": "Design examples, interaction fixtures, performance checks; not production acceptance.",
"capabilities": [
{
"id": "developer-labs/design",
"label": "Design",
"description": "inspect shared components and layout examples in the design guide or Storybook."
},
{
"id": "developer-labs/interaction-labs",
"label": "Interaction labs",
"description": "exercise synthetic bootstrap, task-chat, denial, and collaboration states."
},
{
"id": "developer-labs/performance",
"label": "Performance",
"description": "measure the provided long-thread fixture with known data and environment."
},
{
"id": "developer-labs/route-gates",
"label": "Route gates",
"description": "distinguish dev-only, experimental, historical, and fallback surfaces."
}
]
}
]
}
]
}