{ "version": 1, "areas": [ { "id": "tasks-and-attention", "title": "Tasks, conversations, and attention", "status": "partial", "features": [ "tasks.md", "task-coordination.md", "inbox-search.md", "agent-chat.md", "questions-and-approvals.md", "steering.md", "recovery.md", "documents-artifacts.md" ], "gap": "Recipes cover the main task/conversation/attention workflows. Full shell, permission, attachment, long-thread, and concurrency permutations remain to be enumerated.", "paths": [ "ui/src/pages/AgentChat.tsx", "ui/src/pages/AgentChats.tsx", "ui/src/pages/BoardChat.tsx", "ui/src/pages/DecisionQueuePage.tsx", "ui/src/pages/Inbox.tsx", "ui/src/pages/IssueDetail.tsx", "ui/src/pages/Issues.tsx", "ui/src/pages/LegacyInbox.tsx", "ui/src/pages/MyIssues.tsx", "ui/src/pages/Search.tsx", "ui/src/pages/WhatNeedsMe.tsx" ] }, { "id": "agents", "title": "Agents, organization, and runtime setup", "status": "partial", "features": [ "agents.md", "runs-adapters.md", "skills.md", "app-permissions.md", "recovery.md", "execution-environments.md" ], "gap": "Per-harness/model/account capabilities, every instruction-file error, and complete built-in-agent lifecycle variants remain separate qualification matrices.", "paths": [ "ui/src/pages/AdapterManager.tsx", "ui/src/pages/AgentDetail.production.tsx", "ui/src/pages/AgentDetail.tsx", "ui/src/pages/AgentToolsTab.tsx", "ui/src/pages/Agents.production.tsx", "ui/src/pages/Agents.tsx", "ui/src/pages/NewAgent.tsx", "ui/src/pages/Org.tsx", "ui/src/pages/OrgChart.production.tsx", "ui/src/pages/OrgChart.tsx" ] }, { "id": "apps", "title": "App catalog and connection setup", "status": "partial", "features": [ "connection-setup.md", "app-permissions.md", "questions-and-approvals.md" ], "gap": "Provider-specific authentication/revocation, credential-only accounts, and aggregator administrative variants still need their own detailed matrices.", "paths": [ "ui/src/pages/apps/AggregatorAppManager.tsx", "ui/src/pages/apps/AggregatorConnectDialog.tsx", "ui/src/pages/apps/AppDetail.tsx", "ui/src/pages/apps/AppLogo.tsx", "ui/src/pages/apps/AppNotConnected.tsx", "ui/src/pages/apps/AppsConnect.tsx", "ui/src/pages/apps/AppsReview.tsx", "ui/src/pages/apps/ArcadeDiscoverySetup.tsx", "ui/src/pages/apps/Browse.tsx", "ui/src/pages/apps/CatalogSourceFilters.tsx", "ui/src/pages/apps/ComposioAppManager.tsx", "ui/src/pages/apps/ComposioAppSetup.tsx", "ui/src/pages/apps/ConnectionProvenanceChip.tsx", "ui/src/pages/apps/Connections.tsx", "ui/src/pages/apps/ExecutorManagementSetup.tsx", "ui/src/pages/apps/PaperclipCloudOAuthHandoff.tsx", "ui/src/pages/apps/ReviewQueueCard.tsx", "ui/src/pages/apps/UnverifiedServerBadge.tsx", "ui/src/pages/apps/app-detail/ActionTestDialog.tsx", "ui/src/pages/apps/app-detail/ActivityPanel.tsx", "ui/src/pages/apps/app-detail/AdvancedPanel.tsx", "ui/src/pages/apps/app-detail/AgentConnectionAccess.tsx", "ui/src/pages/apps/app-detail/BrowserUseSettingsPanel.tsx", "ui/src/pages/apps/app-detail/ConnectedAggregatorApps.tsx", "ui/src/pages/apps/app-detail/IdentitiesSection.tsx", "ui/src/pages/apps/app-detail/PermissionsPanel.tsx", "ui/src/pages/apps/app-detail/RailwayAccessPanel.tsx", "ui/src/pages/apps/app-detail/ReviewPanel.tsx", "ui/src/pages/apps/app-detail/SetupPanel.tsx", "ui/src/pages/apps/connection-owner.tsx" ] }, { "id": "chat-channels", "title": "Chat and email channel setup", "status": "partial", "features": [ "chat-channels.md", "connection-setup.md", "questions-and-approvals.md", "steering.md" ], "gap": "Shared recipes name provider checks; each provider transport/thread/identity/file-size/type combination needs separate live evidence and deeper instructions.", "paths": [ "ui/src/pages/apps/chat/ChatCommunicationInstructions.tsx", "ui/src/pages/apps/chat/ChatEndpointDetail.tsx", "ui/src/pages/apps/chat/ChatEndpointSetup.tsx", "ui/src/pages/apps/chat/ChatIdentityConfirm.tsx", "ui/src/pages/apps/chat/EmailEndpointSetup.tsx", "ui/src/pages/apps/chat/GitHubBotConfiguration.tsx", "ui/src/pages/apps/chat/GitHubBotManagement.tsx", "ui/src/pages/apps/chat/GitHubChatSetup.tsx", "ui/src/pages/apps/chat/GitHubSetupPrompt.tsx", "ui/src/pages/apps/chat/PhotonConnectStep.tsx", "ui/src/pages/apps/chat/SetupPrompt.tsx", "ui/src/pages/apps/chat/SlackAvatarStep.tsx", "ui/src/pages/apps/chat/SlackIdentityStep.tsx", "ui/src/pages/apps/chat/SlackSetupPrompt.tsx", "ui/src/pages/apps/chat/SlackToolSettings.tsx" ] }, { "id": "skills-and-teams", "title": "Skills, Skill Studio, and teams", "status": "partial", "features": [ "skills.md", "teams.md", "questions-and-approvals.md" ], "gap": "Main library/Studio/source/policy and CLI team-install paths are mapped. Full source-provider conflicts, harness sync, and remote package variants remain; catalog UI is not a current top-level route.", "paths": [ "ui/src/pages/CompanySkills.production.tsx", "ui/src/pages/CompanySkills.tsx", "ui/src/pages/SkillSources.tsx", "ui/src/pages/SkillStudio.tsx", "ui/src/pages/TeamCatalog.tsx", "ui/src/pages/agent-skills/AgentSkillReleasePicker.tsx", "ui/src/pages/agent-skills/AgentSkillRow.tsx", "ui/src/pages/agent-skills/AgentSkillsTab.tsx", "ui/src/pages/skills/ImportSkillsFromProjectDialog.tsx", "ui/src/pages/skills/SkillImportProgress.tsx", "ui/src/pages/skills/SkillPackagePreview.tsx", "ui/src/pages/skills/SkillSourceTree.tsx" ] }, { "id": "projects-and-workspaces", "title": "Projects and execution workspaces", "status": "partial", "features": [ "projects.md", "workspaces.md", "goals.md", "execution-environments.md", "budgets-costs.md", "recovery.md" ], "gap": "Provider-specific provisioning, multi-repository/submodule edge cases, Git reconciliation variants, and all service exposure combinations require deeper recipes.", "paths": [ "ui/src/pages/ExecutionWorkspaceDetail.tsx", "ui/src/pages/ProjectDetail.tsx", "ui/src/pages/ProjectWorkspaceDetail.tsx", "ui/src/pages/Projects.tsx", "ui/src/pages/Workspaces.tsx" ] }, { "id": "formal-approvals", "title": "Formal governance approvals", "status": "partial", "features": [ "questions-and-approvals.md", "task-coordination.md", "agents.md" ], "gap": "Formal board decisions and signoff have recipes; every approval payload/type and actor/host error permutation is not enumerated.", "paths": [ "ui/src/pages/ApprovalDetail.tsx", "ui/src/pages/Approvals.tsx" ] }, { "id": "auth-and-access", "title": "Login, invitations, and access", "status": "partial", "features": [ "onboarding.md", "access.md", "navigation-preferences.md", "cli-operations.md" ], "gap": "Deployment modes and core login/invite/member/token paths are mapped; exhaustive identity-provider, expiry, role, and resource-policy combinations remain.", "paths": [ "ui/src/pages/Auth.tsx", "ui/src/pages/BoardClaim.tsx", "ui/src/pages/CliAuth.tsx", "ui/src/pages/CompanyAccess.tsx", "ui/src/pages/InstanceAccess.tsx", "ui/src/pages/InviteLanding.tsx", "ui/src/pages/JoinRequestQueue.tsx", "ui/src/pages/UserProfile.tsx" ] }, { "id": "company-and-instance", "title": "Company and instance administration", "status": "partial", "features": [ "companies.md", "onboarding.md", "instance-operations.md", "execution-environments.md", "navigation-preferences.md" ], "gap": "Core administration/import/export/operator workflows are mapped; cloud/self-hosted differences, migration/restore compatibility, and platform-specific service variants need deeper recipes.", "paths": [ "ui/src/pages/Companies.tsx", "ui/src/pages/CompanyEnvironments.tsx", "ui/src/pages/CompanyExport.tsx", "ui/src/pages/CompanyImport.tsx", "ui/src/pages/CompanySettings.tsx", "ui/src/pages/InstanceExperimentalSettings.tsx", "ui/src/pages/InstanceGeneralSettings.tsx", "ui/src/pages/ProfileSettings.tsx" ] }, { "id": "goals-costs-and-activity", "title": "Goals, dashboards, costs, and activity", "status": "partial", "features": [ "goals.md", "budgets-costs.md", "activity.md", "runs-adapters.md", "routines.md" ], "gap": "Core goal/report/budget/audit journeys are mapped. Every aggregation/filter combination, cost source, and overlapping budget window still needs dedicated cases.", "paths": [ "ui/src/pages/Costs.production.tsx", "ui/src/pages/Costs.tsx", "ui/src/pages/Dashboard.tsx", "ui/src/pages/DashboardLive.tsx", "ui/src/pages/GoalDetail.tsx", "ui/src/pages/Goals.tsx", "ui/src/pages/Timeline.tsx", "ui/src/pages/audit/AuditFeed.production.tsx", "ui/src/pages/audit/AuditFeed.tsx", "ui/src/pages/audit/AuditHub.tsx", "ui/src/pages/audit/AuditRuns.tsx", "ui/src/pages/audit/CompanyActivity.production.tsx", "ui/src/pages/audit/CompanyActivity.tsx", "ui/src/pages/audit/RoutineAuditActivity.tsx" ] }, { "id": "artifacts", "title": "Artifacts and work products", "status": "partial", "features": [ "documents-artifacts.md" ], "gap": "Document/attachment/library/work-product journeys are mapped; every media preview type, storage backend, annotation conflict, and runtime-resource lifecycle variant remains separate.", "paths": [ "ui/src/pages/Artifacts.tsx" ] }, { "id": "routines-and-pipelines", "title": "Routines, pipelines, cases, and status cards", "status": "partial", "features": [ "routines.md", "pipelines.md", "cases.md", "status-cards.md" ], "gap": "All four capabilities have recipes. Trigger/provider/timezone combinations, custom case schemas, stage automation types, and summarizer quality need deeper cases.", "paths": [ "ui/src/pages/CaseDetail.tsx", "ui/src/pages/Cases.tsx", "ui/src/pages/PipelineSettings.tsx", "ui/src/pages/Pipelines.tsx", "ui/src/pages/RoutineDetail.production.tsx", "ui/src/pages/RoutineDetail.tsx", "ui/src/pages/Routines.production.tsx", "ui/src/pages/Routines.tsx", "ui/src/pages/StatusCards/ArchivedStatusCardRow.tsx", "ui/src/pages/StatusCards/CreateStatusCardDialog.tsx", "ui/src/pages/StatusCards/StatusCardDetailDrawer.tsx", "ui/src/pages/StatusCards/StatusCardSettingsForm.tsx", "ui/src/pages/StatusCards/StatusCardTile.tsx", "ui/src/pages/StatusCards/SummarizerAgentSelect.tsx", "ui/src/pages/StatusCards/index.tsx" ] }, { "id": "secrets", "title": "Secrets and secret proposals", "status": "partial", "features": [ "secrets.md", "access.md", "app-permissions.md" ], "gap": "Company/user/proposal/vault and runtime-binding paths are mapped; every secret provider, rotation scenario, and delivery context needs separate validation.", "paths": [ "ui/src/pages/Secrets.tsx", "ui/src/pages/secrets/ImportFromVaultDialog.tsx", "ui/src/pages/secrets/MissingUserSecretsBanner.tsx", "ui/src/pages/secrets/MyUserSecretsTab.tsx", "ui/src/pages/secrets/ProposalsTab.tsx", "ui/src/pages/secrets/SecretPathName.tsx", "ui/src/pages/secrets/SetMyUserSecretDialog.tsx", "ui/src/pages/secrets/UserSecretDefinitionsTab.tsx", "ui/src/pages/secrets/proposal-review.tsx", "ui/src/pages/secrets/user-secret-presentation.tsx" ] }, { "id": "plugins-and-tools", "title": "Plugins, gateways, and tool profiles", "status": "partial", "features": [ "plugins.md", "gateways-profiles.md", "app-permissions.md", "execution-environments.md" ], "gap": "Host plugin/gateway/profile lifecycles are mapped. Third-party plugin behaviors and every client transport/provider combination are outside host-wide coverage.", "paths": [ "ui/src/pages/CompanySettingsPluginPage.tsx", "ui/src/pages/PluginManager.tsx", "ui/src/pages/PluginPage.tsx", "ui/src/pages/PluginSettings.tsx", "ui/src/pages/apps/gateways/ConnectClientDialog.tsx", "ui/src/pages/apps/gateways/CopyableGatewayUrl.tsx", "ui/src/pages/apps/gateways/EditGatewayDialog.tsx", "ui/src/pages/apps/gateways/GatewayDetail.tsx", "ui/src/pages/apps/gateways/GatewaysList.tsx", "ui/src/pages/apps/gateways/NewGatewayDialog.tsx", "ui/src/pages/apps/gateways/panels/AppsToolsPanel.tsx", "ui/src/pages/apps/gateways/panels/GatewayActivityPanel.tsx", "ui/src/pages/apps/gateways/panels/GatewayAdvancedPanel.tsx", "ui/src/pages/apps/gateways/panels/OverviewPanel.tsx", "ui/src/pages/apps/gateways/panels/TokensPanel.tsx", "ui/src/pages/tools/AdvancedToolsRoute.tsx", "ui/src/pages/tools/AuditTab.tsx", "ui/src/pages/tools/GatewaysTab.tsx", "ui/src/pages/tools/McpConfigHelpDialog.tsx", "ui/src/pages/tools/PasteConfigTab.tsx", "ui/src/pages/tools/ProfilesTab.tsx", "ui/src/pages/tools/SmokeLabTab.tsx", "ui/src/pages/tools/ToolsAccess.tsx", "ui/src/pages/tools/connection-dialogs.tsx", "ui/src/pages/tools/profiles/ProfileActionDialog.tsx", "ui/src/pages/tools/profiles/ProfileDetail.tsx", "ui/src/pages/tools/profiles/ProfileDetailRoute.tsx", "ui/src/pages/tools/profiles/ProfileWizard.tsx", "ui/src/pages/tools/profiles/ProfileWizardRoute.tsx", "ui/src/pages/tools/profiles/ProfilesIndex.tsx", "ui/src/pages/tools/profiles/ToolsAdminGate.tsx", "ui/src/pages/tools/profiles/WizardToolsStep.tsx", "ui/src/pages/tools/shared.tsx" ] }, { "id": "labs-and-fallbacks", "title": "Developer labs and fallback pages", "status": "partial", "features": [ "developer-labs.md", "navigation-preferences.md" ], "gap": "Developer and fallback surfaces are identified. Each synthetic fixture and performance budget is not a production journey and needs its own measurement.", "paths": [ "ui/src/pages/BootstrapSetupUxLab.tsx", "ui/src/pages/CrossIssueCollaborationUxLab.tsx", "ui/src/pages/DesignGuide.tsx", "ui/src/pages/InviteUxLab.tsx", "ui/src/pages/IssueChatLongThreadPerf.tsx", "ui/src/pages/IssueChatUxLab.tsx", "ui/src/pages/NotFound.tsx", "ui/src/pages/ResponsibleUserDenialUxLab.tsx", "ui/src/pages/RunTranscriptUxLab.tsx", "ui/src/pages/SystemNoticeUxLab.tsx", "ui/src/pages/TaskChatLab.tsx" ] } ] }