Files
PaperClipAI/maps/storybook-map/catalog.json
T
Devin FoleyandPaperclip 5a6d0d08a7 fix: record verified workspace file recovery from tasks (#16104)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work.
> - Recovery must preserve files and show the next operator action.
> - A stopped run can leave a file repair hold after its recovery action
is resolved.
> - The task notice shows that hold but has no form to record verified
file recovery.
> - A chat connection can also replace the file repair instruction with
a chat retry instruction.
> - This pull request adds a file recovery form and preserves the file
repair instruction.
> - The form records evidence for the original run and keeps the current
task status.

## Linked Issues or Issue Description

**What happened?**

A retained workspace file hold can block a task after its recovery
action is resolved. The task page offers no file recovery form. A chat
binding can hide the required file repair instruction.

**Expected behavior**

An authorized board member can record verified recovery of the original
files. The server checks the original stop proof. The task keeps its
current status and does not start another run. Chat instructions must
not replace file repair instructions.

**Steps to reproduce**

1. Create a stopped legacy run with a retained workspace recovery marker
and a resolved recovery action.
2. Open its task page, including a task with a chat connection.
3. Observe that the file hold has no supported form to record verified
recovery.

Refs: #15857, #15824, #16095. Those PRs address shutdown export, native
finalization and workspace source isolation. This PR uses the existing
file repair API.

## What Changed

- Add a board-only file recovery form with evidence and an explicit file
verification confirmation.
- Preserve the current task status when recording file recovery.
- Project whether the original recovery marker supports file recording.
- Keep file repair instructions when a task has a chat binding.
- Add UI, route and Storybook examples for success, denial and
chat-connected file holds.
- Document the recovery flow and update the affected Storybook catalog
entries.

## Verification

- Merged master `c8efdbfba43` and resolved both rounds of catalog/index
conflicts. Upstream review notes and classifications are preserved,
together with all four retained-file recovery examples and their stable
story IDs. Both fix branches also combine without merge conflicts or
catalog fingerprint drift.
- Passed locally after conflict resolution: 47 tests covering the file
recovery UI, execution blocker notice and retained workspace repair
route. The earlier ownership-route pass also covered 196 tests.
- Passed: UI token gates, the complete Storybook catalog check with no
drift errors, feature and agent map structure checks, and all 17
catalog/index script tests. Verification inventory counts match all 262
authored suites and 2,485 story IDs. The upstream production
verification obligations remain intact.
- Passed: full workspace typecheck, build and Storybook build on latest
head `10ac22b35d0a4fe469cf620914845c509046da48`. The built index retains
all four file-recovery story IDs.
- Latest head `10ac22b35d0a4fe469cf620914845c509046da48` has 54
successful checks and two intentionally skipped Storybook checks. Apex
is 5/5 on that exact commit, with no unresolved findings. The full
general/serialized suites and all eight browser shards passed in CI.
Local tests use the focused suites above. Storybook browser interactions
have not been executed locally.
- Manual check: open a task with a retained file hold. Verify that
evidence and confirmation are required. Record verified file recovery.
Confirm that its status stays unchanged and no run starts. Repeat
without board runtime access and with an unverified stop receipt.

## Risks

- The form records an operator attestation. It does not recover files
itself or prove external action outcomes.
- A stale source or missing stop proof must remain rejected by the
existing server route.
- No database migration or automatic task retry is added.

## Model Used

OpenAI GPT-6 (`gpt-6`), used through Codex with reasoning, repository
tools, code editing and test execution. The exact context window size is
not exposed by this environment.

## 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 13:47:10 -05:00

6628 lines
372 KiB
JSON

{
"version": 1,
"sharedReview": {
"sources": [
"ui/storybook/.storybook/main.ts",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"maps/feature-map/README.md",
"scripts/storybook-feature-index.mjs",
"ui/storybook/generated/feature-index.json",
"ui/storybook/support/feature-map/FeatureOverview.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"fingerprint": "1f6d48d7e205c2ff2f7c33aa784a82ca0ef961093bba7de319d50e22dfb4f17a"
},
"entries": [
{
"file": "ui/storybook/stories/connection-setup/AppLogoRegistry.stories.tsx",
"capabilities": [
"connection-setup/catalog"
],
"purpose": "Apps/Canonical icon registry",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/pages/apps/AppLogo.tsx",
"ui/storybook/stories/connection-setup/AppLogoRegistry.stories.tsx"
],
"fingerprint": "6cccd3d57ac6d02f9fbeed4173a7813a4249d734b8f2d28f98c29706cbcc8548",
"stableId": "apps-canonical-icon-registry",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Canonical icon registry"
},
{
"file": "ui/storybook/stories/connection-setup/ArcadeConnection.stories.tsx",
"capabilities": [
"connection-setup/credentials",
"connection-setup/failure",
"connection-setup/draft-recovery",
"connection-setup/identity-and-access",
"app-permissions/action-policy",
"app-permissions/test-action"
],
"purpose": "Apps/Connections/Arcade",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. SavedDraftResume, Reconnect, SelectedAgents and ManageToolPermissions demonstrate production setup/permissions/test surfaces with an in-memory wrapper. Reload loses the draft; these examples do not verify persisted recovery. NewToolsAllowed does not demonstrate quarantined-action review. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/components/JsonSchemaForm.tsx",
"ui/src/features/connections/remote-mcp/RemoteMcpConnectionSetup.tsx",
"ui/src/features/connections/remote-mcp/providers.ts",
"ui/src/features/connections/remote-mcp/types.ts",
"ui/storybook/fixtures/remoteMcpConnections.ts",
"ui/storybook/prototypes/RemoteMcpConnectionReview.tsx",
"ui/storybook/stories/connection-setup/ArcadeConnection.stories.tsx",
"maps/feature-map/app-permissions.md"
],
"fingerprint": "935bbdd07ef2e35b65fc6e3b4201f846f9735177e3b4415c5bbe8d0e159e0f9c",
"stableId": "apps-connections-arcade",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connections/Arcade"
},
{
"file": "ui/storybook/stories/connection-setup/ComposioConnection.stories.tsx",
"capabilities": [
"connection-setup/credentials",
"connection-setup/failure",
"connection-setup/draft-recovery",
"connection-setup/identity-and-access",
"app-permissions/action-policy",
"app-permissions/test-action"
],
"purpose": "Apps/Connections/Composio",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. SavedDraftResume, Reconnect, SelectedAgents and ManageToolPermissions demonstrate production setup/permissions/test surfaces with an in-memory wrapper. Reload loses the draft; these examples do not verify persisted recovery. NewToolsAllowed does not demonstrate quarantined-action review. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/components/JsonSchemaForm.tsx",
"ui/src/features/connections/remote-mcp/RemoteMcpConnectionSetup.tsx",
"ui/src/features/connections/remote-mcp/providers.ts",
"ui/src/features/connections/remote-mcp/types.ts",
"ui/storybook/fixtures/remoteMcpConnections.ts",
"ui/storybook/prototypes/RemoteMcpConnectionReview.tsx",
"ui/storybook/stories/connection-setup/ComposioConnection.stories.tsx",
"maps/feature-map/app-permissions.md"
],
"fingerprint": "452224b19d14b6e3a7396cc1b55cb7663adaf6bf1c3202935da0f61d20be34c9",
"stableId": "apps-connections-composio",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connections/Composio"
},
{
"file": "ui/storybook/stories/connection-setup/ConnectionProviderChoice.stories.tsx",
"capabilities": [
"connection-setup/identity-and-access"
],
"purpose": "Apps/Connections/Provider choice",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/components/JsonSchemaForm.tsx",
"ui/src/components/task-chat/QuestionForm.tsx",
"ui/src/features/connections/remote-mcp/RemoteMcpAccountChoice.tsx",
"ui/src/features/connections/remote-mcp/RemoteMcpConnectionSetup.tsx",
"ui/src/features/connections/remote-mcp/providers.ts",
"ui/src/features/connections/remote-mcp/types.ts",
"ui/storybook/fixtures/remoteMcpConnections.ts",
"ui/storybook/prototypes/RemoteMcpConnectionReview.tsx",
"ui/storybook/stories/connection-setup/ConnectionProviderChoice.stories.tsx"
],
"fingerprint": "8661b29e8740f133ec6b457931fd7344e9225bc6f8acdd84573ac843ee9e7e97",
"stableId": "apps-connections-provider-choice",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connections/Provider choice"
},
{
"file": "ui/storybook/stories/connection-setup/ExecutorConnection.stories.tsx",
"capabilities": [
"connection-setup/credentials",
"connection-setup/failure",
"connection-setup/draft-recovery",
"connection-setup/identity-and-access",
"app-permissions/action-policy",
"app-permissions/test-action"
],
"purpose": "Apps/Connections/Executor",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. SavedDraftResume, Reconnect, SelectedAgents and ManageToolPermissions demonstrate production setup/permissions/test surfaces with an in-memory wrapper. Reload loses the draft; these examples do not verify persisted recovery. NewToolsAllowed does not demonstrate quarantined-action review. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/components/JsonSchemaForm.tsx",
"ui/src/features/connections/remote-mcp/RemoteMcpConnectionSetup.tsx",
"ui/src/features/connections/remote-mcp/providers.ts",
"ui/src/features/connections/remote-mcp/types.ts",
"ui/storybook/fixtures/remoteMcpConnections.ts",
"ui/storybook/prototypes/RemoteMcpConnectionReview.tsx",
"ui/storybook/stories/connection-setup/ExecutorConnection.stories.tsx",
"maps/feature-map/app-permissions.md"
],
"fingerprint": "e405d30ca0c64ceae9302500b07876c0dc57c8d0cbbedf23c432dfb9fe4a339d",
"stableId": "apps-connections-executor",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connections/Executor"
},
{
"file": "ui/storybook/stories/connection-setup/ZapierConnection.stories.tsx",
"capabilities": [
"connection-setup/credentials",
"connection-setup/failure",
"connection-setup/draft-recovery",
"connection-setup/identity-and-access",
"app-permissions/action-policy",
"app-permissions/test-action"
],
"purpose": "Apps/Connections/Zapier",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. SavedDraftResume, Reconnect, SelectedAgents and ManageToolPermissions demonstrate production setup/permissions/test surfaces with an in-memory wrapper. Reload loses the draft; these examples do not verify persisted recovery. NewToolsAllowed does not demonstrate quarantined-action review. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/components/JsonSchemaForm.tsx",
"ui/src/features/connections/remote-mcp/RemoteMcpConnectionSetup.tsx",
"ui/src/features/connections/remote-mcp/providers.ts",
"ui/src/features/connections/remote-mcp/types.ts",
"ui/storybook/fixtures/remoteMcpConnections.ts",
"ui/storybook/prototypes/RemoteMcpConnectionReview.tsx",
"ui/storybook/stories/connection-setup/ZapierConnection.stories.tsx",
"maps/feature-map/app-permissions.md"
],
"fingerprint": "a92fb11928da7e60fa8ef1db8b9090828c02dd60095dc581e620263522c721be",
"stableId": "apps-connections-zapier",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connections/Zapier"
},
{
"file": "ui/storybook/stories/gateways-profiles/access-profiles.stories.tsx",
"capabilities": [
"gateways-profiles/profiles"
],
"purpose": "Tools/Access profiles",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/gateways-profiles.md",
"ui/src/pages/AgentToolsTab.tsx",
"ui/src/pages/tools/profiles/ProfileDetail.tsx",
"ui/src/pages/tools/profiles/ProfileWizard.tsx",
"ui/src/pages/tools/profiles/ProfilesIndex.tsx",
"ui/src/pages/tools/profiles/WizardToolsStep.tsx",
"ui/src/pages/tools/profiles/profile-model.ts",
"ui/storybook/stories/gateways-profiles/access-profiles.stories.tsx"
],
"fingerprint": "23dfe9b1750b7eae8e6eae652f820ae2ff3e1415ce1b35e27717e24c3eed681b",
"stableId": "tools-access-profiles",
"sidebarTitle": "Apps, channels, and extensions/Tool gateways and access profiles/Tools/Access profiles"
},
{
"file": "ui/storybook/stories/app-permissions/action-card.stories.tsx",
"capabilities": [
"app-permissions/test-action",
"app-permissions/action-policy"
],
"purpose": "Tools & Access/ActionCard",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/app-permissions.md",
"ui/src/components/actions/ActionCard.tsx",
"ui/storybook/stories/app-permissions/action-card.stories.tsx"
],
"fingerprint": "37849ece1ec378382e41b84ee23d506ee9cbcee923e421b6fc9929fc4d420cc5",
"stableId": "tools-access-actioncard",
"sidebarTitle": "Apps, channels, and extensions/App access and action permissions/Tools & Access/ActionCard"
},
{
"file": "ui/storybook/stories/app-permissions/action-permissions-test.stories.tsx",
"capabilities": [
"app-permissions/test-action",
"app-permissions/action-policy"
],
"purpose": "Apps/Action permissions test",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/app-permissions.md",
"ui/src/pages/apps/app-detail/PermissionsPanel.tsx",
"ui/storybook/stories/app-permissions/action-permissions-test.stories.tsx"
],
"fingerprint": "7804d31cc4bf5fabd5191b201a85258f9d4c9a670331ac611628f8001114d687",
"stableId": "apps-action-permissions-test",
"sidebarTitle": "Apps, channels, and extensions/App access and action permissions/Apps/Action permissions test"
},
{
"file": "ui/storybook/stories/activity/activity-feed.stories.tsx",
"capabilities": [
"activity/activity",
"gateways-profiles/activity"
],
"purpose": "Tools/Activity (audit feed)",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/activity.md",
"maps/feature-map/gateways-profiles.md",
"ui/src/pages/tools/AuditTab.tsx",
"ui/storybook/stories/activity/activity-feed.stories.tsx"
],
"fingerprint": "42f1ebbd11a7b47dd507f43c287c46a9191b8ce323b9c15d83a6d8ec5521eeee",
"stableId": "tools-activity-audit-feed",
"sidebarTitle": "Oversight and operation/Dashboards and audit trails/Tools/Activity (audit feed)"
},
{
"file": "ui/storybook/stories/agent-chat/agent-chat-sidebar.stories.tsx",
"capabilities": [
"agent-chat/discovery",
"agent-chat/history"
],
"purpose": "Design explorations/Agent chat sidebar/Pages",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Wrapper mounts production Layout and AgentChat; conversation selection and sends use in-memory routes. Directory name is not prototype evidence. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Source review covers the retained-file recovery form, source-bound evidence and unchanged task status; fixture APIs do not prove live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agent-chat.md",
"ui/src/components/AgentChatPicker.tsx",
"ui/src/components/AgentIconPicker.tsx",
"ui/src/components/Layout.tsx",
"ui/src/components/SidebarAgentChats.tsx",
"ui/src/pages/AgentChat.tsx",
"ui/src/pages/AgentChats.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/Agents.tsx",
"ui/src/pages/IssueDetail.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/prototypes/agent-chat-sidebar/AgentChatSidebarReview.tsx",
"ui/storybook/prototypes/agent-chat-sidebar/fixtures.ts",
"ui/storybook/prototypes/agent-chat/AgentChatPrototype.tsx",
"ui/storybook/prototypes/agent-chat/AgentChatSidebar.tsx",
"ui/storybook/prototypes/chat-entry/ChatEntryReview.tsx",
"ui/storybook/stories/agent-chat/agent-chat-sidebar.stories.tsx"
],
"fingerprint": "ab2f77b8b4ed82dbed8c6a3e3cfb1060ba9beed81daada29fec72e9c8c660402",
"stableId": "design-explorations-agent-chat-sidebar-pages",
"sidebarTitle": "Tasks and conversations/Agent conversations and project handoff/Design explorations/Agent chat sidebar/Pages"
},
{
"file": "ui/storybook/stories/questions-and-approvals/agent-chat-unanswered-questions.stories.tsx",
"capabilities": [
"questions-and-approvals/dismiss-and-reopen",
"agent-chat/history"
],
"purpose": "Chat & Comments/Agent Chat Unanswered Questions",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agent-chat.md",
"maps/feature-map/questions-and-approvals.md",
"ui/src/components/TaskChatThread.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/fixtures/unansweredQuestionChat.tsx",
"ui/storybook/stories/questions-and-approvals/agent-chat-unanswered-questions.stories.tsx"
],
"fingerprint": "20c4a640715abcfeadc2763e5d7485aefd32d3e8d596e6392646f8e3264c3b78",
"stableId": "chat-comments-agent-chat-unanswered-questions",
"sidebarTitle": "Tasks and conversations/Questions and approvals/Chat & Comments/Agent Chat Unanswered Questions"
},
{
"file": "ui/storybook/stories/agent-chat/agent-chat.stories.tsx",
"capabilities": [
"agent-chat/discovery",
"agent-chat/history",
"agent-chat/handoff"
],
"purpose": "Design explorations/Agent chat",
"status": "mixed",
"implementation": "mixed",
"boundary": "fixtures",
"notes": "Production conversation/task routes with a local ChatEntryLanding. Default-agent behavior and fallback API responses remain outside current-product parity. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. ProjectCreated, ExistingProject, MultipleRepositories, ProjectWithoutRepository and ProjectCreationFailed show linked handoff results/navigation through shipped chat/task hosts. Tool execution and persistence are simulated. Source review covers the retained-file recovery form, source-bound evidence and unchanged task status; fixture APIs do not prove live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agent-chat.md",
"ui/src/components/AgentChatPicker.tsx",
"ui/src/components/AgentIconPicker.tsx",
"ui/src/components/Layout.tsx",
"ui/src/components/SidebarAgentChats.tsx",
"ui/src/pages/AgentChat.tsx",
"ui/src/pages/AgentChats.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/Agents.tsx",
"ui/src/pages/IssueDetail.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/prototypes/agent-chat-sidebar/AgentChatSidebarReview.tsx",
"ui/storybook/prototypes/agent-chat-sidebar/fixtures.ts",
"ui/storybook/prototypes/agent-chat/AgentChatPrototype.tsx",
"ui/storybook/prototypes/agent-chat/AgentChatSidebar.tsx",
"ui/storybook/prototypes/chat-entry/ChatEntryReview.tsx",
"ui/storybook/stories/agent-chat/agent-chat.stories.tsx"
],
"fingerprint": "7c0310b7b706473dad7a6bc22540d7a0c44f0aacd50816ac6a7673958e655f5f",
"stableId": "design-explorations-agent-chat",
"sidebarTitle": "Tasks and conversations/Agent conversations and project handoff/Design explorations/Agent chat"
},
{
"file": "ui/storybook/stories/runs-adapters/agent-connection-reuse.stories.tsx",
"capabilities": [
"runs-adapters/validation",
"agents/hire"
],
"purpose": "Onboarding/Saved connections",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/agents.md",
"maps/feature-map/runs-adapters.md",
"ui/src/components/new-agent/AgentProviderConnection.tsx",
"ui/storybook/fixtures/onboardingEnvironment.ts",
"ui/storybook/stories/runs-adapters/agent-connection-reuse.stories.tsx"
],
"fingerprint": "49e00454cf0fed46e03b30feafb73704723581718a58ec6a250a40dbc480261a",
"stableId": "onboarding-saved-connections",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/Onboarding/Saved connections"
},
{
"file": "ui/storybook/stories/agent-chat/agent-conversation-sidebar.stories.tsx",
"capabilities": [
"agent-chat/discovery",
"agent-chat/history"
],
"purpose": "Design explorations/Agent chat sidebar/Components",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Support module re-exports production AgentConversationSidebar; search/selection use fixture callbacks.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/agent-chat.md",
"ui/src/components/AgentConversationSidebar.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/prototypes/agent-chat-sidebar/AgentConversationSidebar.tsx",
"ui/storybook/prototypes/agent-chat-sidebar/fixtures.ts",
"ui/storybook/stories/agent-chat/agent-conversation-sidebar.stories.tsx"
],
"fingerprint": "2a57c402c2036a5c934b9d8da71699b3c4c93f023d12b9f80834b04fd16a4d7e",
"stableId": "design-explorations-agent-chat-sidebar-components",
"sidebarTitle": "Tasks and conversations/Agent conversations and project handoff/Design explorations/Agent chat sidebar/Components"
},
{
"file": "ui/storybook/stories/agents/agent-detail.stories.tsx",
"capabilities": [
"agents/lifecycle",
"agents/instructions"
],
"purpose": "Pages/Agent Detail",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/agents.md",
"ui/src/pages/AgentDetail.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/agents/agent-detail.stories.tsx"
],
"fingerprint": "b3f02fa740f2397d82ee459dd686ff8fb34ec383f3192ca07b895c9ce6d1508d",
"stableId": "pages-agent-detail",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Pages/Agent Detail"
},
{
"file": "ui/storybook/stories/agents/agent-files.stories.tsx",
"capabilities": [
"agents/instructions"
],
"purpose": "Agents/Persistent files",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/agents.md",
"ui/src/pages/AgentDetail.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/agents/agent-files.stories.tsx"
],
"fingerprint": "6324b721acf10b3ce10aa174a789ed09a99f821d4ee651d770026a7e23712463",
"stableId": "agents-persistent-files",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Agents/Persistent files"
},
{
"file": "ui/storybook/stories/agents/agent-management.stories.tsx",
"capabilities": [
"agents/lifecycle",
"agents/instructions",
"execution-environments/assignment"
],
"purpose": "Product/Agent Management",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. ForcedKubernetesExecution and ForcedKubernetesMissingEnvironment mount AgentConfigForm with a forced execution target or missing-target warning. Read-only assignment presentation; no saved target or remote execution proof.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agents.md",
"ui/src/components/ActiveAgentsPanel.tsx",
"ui/src/components/AgentActionButtons.tsx",
"ui/src/components/AgentConfigForm.tsx",
"ui/src/components/AgentIconPicker.tsx",
"ui/src/components/AgentProperties.tsx",
"ui/src/components/agent-config-defaults.ts",
"ui/src/components/agent-config-primitives.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/agents/agent-management.stories.tsx",
"maps/feature-map/execution-environments.md"
],
"fingerprint": "825f3c53828c756a52b4d710ae84fc5bd9b36d00affd6f4c0ffaf8ae9562e4c1",
"stableId": "product-agent-management",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Product/Agent Management"
},
{
"file": "ui/storybook/stories/agents/agent-persona-pages.stories.tsx",
"capabilities": [
"agents/organization",
"navigation-preferences/profile"
],
"purpose": "Agents/Personas/Full pages",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Source review covers the retained-file recovery form, source-bound evidence and unchanged task status; fixture APIs do not prove live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agents.md",
"maps/feature-map/navigation-preferences.md",
"ui/src/components/Layout.tsx",
"ui/src/components/new-agent/AgentBasicsDialog.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/Agents.tsx",
"ui/src/pages/Dashboard.tsx",
"ui/src/pages/IssueDetail.tsx",
"ui/src/pages/NewAgent.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/agents/agent-persona-pages.stories.tsx"
],
"fingerprint": "8033cb412e8ceea24791e49fa2c22f651a7d27c504415152bfe99b0e7e45bd73",
"stableId": "agents-personas-full-pages",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Agents/Personas/Full pages"
},
{
"file": "ui/storybook/stories/agents/agent-personas.stories.tsx",
"capabilities": [
"agents/organization",
"navigation-preferences/profile"
],
"purpose": "Agents/Personas",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/agents.md",
"maps/feature-map/navigation-preferences.md",
"ui/src/components/AgentAvatar.tsx",
"ui/src/components/AgentCharacter.tsx",
"ui/src/components/AgentIdentity.tsx",
"ui/src/components/ui/button.tsx",
"ui/storybook/stories/agents/agent-personas.stories.tsx"
],
"fingerprint": "43f4316011eeec7f2c1b1aa5e73f6194c49ba0fb1eb9484375a3929792f4cbf1",
"stableId": "agents-personas",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Agents/Personas"
},
{
"file": "ui/storybook/stories/agents/agent-settings-redesign.stories.tsx",
"capabilities": [
"agents/lifecycle",
"agents/instructions"
],
"purpose": "Agents/Configuration refresh",
"status": "mixed",
"implementation": "mixed",
"boundary": "fixtures",
"notes": "Production configuration panels in a locally composed settings shell; full AgentDetail route parity remains unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/agents.md",
"ui/src/components/AgentActionButtons.tsx",
"ui/src/components/AgentConfigForm.tsx",
"ui/src/components/AgentContextualSidebar.tsx",
"ui/src/components/NewIssueDialog.tsx",
"ui/src/components/RuntimeTestCard.tsx",
"ui/src/components/onboarding/PillGuy.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/AgentToolsTab.tsx",
"ui/src/pages/agent-detail-navigation.ts",
"ui/src/pages/agent-skills/AgentSkillsTab.tsx",
"ui/storybook/fixtures/onboardingEnvironment.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/prototypes/RuntimeTestCard.tsx",
"ui/storybook/prototypes/agent-settings/AgentSettingsPreview.tsx",
"ui/storybook/prototypes/agent-settings/fixtures.ts",
"ui/storybook/prototypes/new-agent-fixtures.ts",
"ui/storybook/stories/agents/agent-settings-redesign.stories.tsx"
],
"fingerprint": "f3f3f3b232dd5e600485e2701153e069aa545eba232264c69c6eb64e21fd0f24",
"stableId": "agents-configuration-refresh",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Agents/Configuration refresh"
},
{
"file": "ui/storybook/stories/connection-setup/agent-setup-prompt.stories.tsx",
"capabilities": [
"connection-setup/channel-setup",
"gateways-profiles/client-connect"
],
"purpose": "Components/Agent setup prompt",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"maps/feature-map/gateways-profiles.md",
"ui/src/components/AgentSetupPrompt.tsx",
"ui/src/components/IssueContinuationHandoff.tsx",
"ui/src/components/routine-triggers/TriggerWizard.tsx",
"ui/src/components/routine-triggers/WebhookFields.tsx",
"ui/src/pages/apps/chat/GitHubSetupPrompt.tsx",
"ui/src/pages/apps/chat/SlackSetupPrompt.tsx",
"ui/src/pages/tools/McpConfigHelpDialog.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/fixtures/routineTriggerWizard.tsx",
"ui/storybook/stories/connection-setup/agent-setup-prompt.stories.tsx"
],
"fingerprint": "379018ba98ba89a2a05b26f5db3e28d85d81af08b77a011c55d9bc6118fa1a15",
"stableId": "components-agent-setup-prompt",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Components/Agent setup prompt"
},
{
"file": "ui/storybook/stories/skills/agent-skill-row.stories.tsx",
"capabilities": [
"skills/policy"
],
"purpose": "Agent Skills/AgentSkillRow",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/skills.md",
"ui/src/components/icons/github-icon.tsx",
"ui/src/pages/agent-skills/AgentSkillRow.tsx",
"ui/storybook/stories/skills/agent-skill-row.stories.tsx"
],
"fingerprint": "4eeb2029b5b1002afe393ab41da89a949c28d955130caa9feee4068b4b63fd2f",
"stableId": "agent-skills-agentskillrow",
"sidebarTitle": "Agents and reusable capabilities/Skills and Skill Studio/Agent Skills/AgentSkillRow"
},
{
"file": "ui/storybook/stories/skills/agent-skills-edge.stories.tsx",
"capabilities": [
"skills/policy"
],
"purpose": "QA / Agent skills edge states",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/skills.md",
"ui/src/pages/agent-skills/AgentSkillsTab.tsx",
"ui/storybook/stories/skills/agent-skills-edge.stories.tsx"
],
"fingerprint": "e2beaa5b5d5fb0b9ee34935d05548d0448c250129b3c2377eb7973f284fdc452",
"stableId": "qa-agent-skills-edge-states",
"sidebarTitle": "Agents and reusable capabilities/Skills and Skill Studio/QA / Agent skills edge states"
},
{
"file": "ui/storybook/stories/chat-channels/agentmail-onboarding.stories.tsx",
"capabilities": [
"chat-channels/providers",
"connection-setup/channel-setup"
],
"purpose": "Connections/AgentMail setup",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the added connection/destination-default recipe; these unchanged setup, identity or conversation examples do not establish default selection or new-task inheritance. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"maps/feature-map/connection-setup.md",
"ui/src/components/chat/ChatSetupNavigation.tsx",
"ui/src/pages/apps/chat/EmailEndpointSetup.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/chat-channels/agentmail-onboarding.stories.tsx"
],
"fingerprint": "69bd5253a034d76a1f13712cf59b8fba7c1678d95a8dd355988727cdccf77404",
"stableId": "connections-agentmail-setup",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/AgentMail setup"
},
{
"file": "ui/storybook/stories/chat-channels/agentmail-settings.stories.tsx",
"capabilities": [
"chat-channels/lifecycle"
],
"purpose": "Connections/AgentMail settings",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation: EmailEndpointSettings remains the mounted inbox subsection. The surrounding ChatEndpointDetail connection-default editor and its save/inheritance behavior are not represented here.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"ui/src/pages/apps/chat/EmailEndpointSetup.tsx",
"ui/storybook/stories/chat-channels/agentmail-settings.stories.tsx"
],
"fingerprint": "2fb050825b457f876fa18d08cd101093d19187f47d7cd8b5a51c871d28d7553e",
"stableId": "connections-agentmail-settings",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/AgentMail settings"
},
{
"file": "ui/storybook/stories/chat-channels/agentmail.stories.tsx",
"capabilities": [
"chat-channels/conversation"
],
"purpose": "Connections/AgentMail tasks",
"status": "unreviewed",
"implementation": "prototype",
"boundary": "fixtures",
"notes": "Local EmailTaskExperience combines production composer/bubbles with simulated email lifecycle; compare against IssueDetail before claiming page parity. Task-workspace reconciliation reviewed the added connection/destination-default recipe; these unchanged setup, identity or conversation examples do not establish default selection or new-task inheritance. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"ui/src/components/AgentIconPicker.tsx",
"ui/src/components/StatusBadge.tsx",
"ui/src/components/task-chat/TaskChatBubble.tsx",
"ui/src/components/task-chat/TaskChatComposer.tsx",
"ui/src/components/task-chat/presentation-mode.tsx",
"ui/storybook/stories/chat-channels/agentmail.stories.tsx"
],
"fingerprint": "5f4cd880d1c6baa0c88dc65bf5919cf451ea3c4bdd8b479ee2e3d2906ce1bd1c",
"stableId": "connections-agentmail-tasks",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/AgentMail tasks"
},
{
"file": "ui/storybook/stories/skills/agents-using-skill.stories.tsx",
"capabilities": [
"skills/policy"
],
"purpose": "Skill Studio/AgentsUsingSkill",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/skills.md",
"ui/src/components/skill-studio/AgentsUsingSkillDialog.tsx",
"ui/storybook/stories/skills/agents-using-skill.stories.tsx"
],
"fingerprint": "28d0e3a9ffe07d1c48b2e7e73cd67df55047c47cec1163779d1a9c46beb981ef",
"stableId": "skill-studio-agentsusingskill",
"sidebarTitle": "Agents and reusable capabilities/Skills and Skill Studio/Skill Studio/AgentsUsingSkill"
},
{
"file": "ui/storybook/stories/runs-adapters/ai-connection-usage.stories.tsx",
"capabilities": [
"runs-adapters/validation"
],
"purpose": "AI Connections/Usage limits",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/runs-adapters.md",
"ui/src/components/ai-connections/ManagedAiConnectionDetails.tsx",
"ui/storybook/prototypes/AiConnectionUsageReview.tsx",
"ui/storybook/stories/runs-adapters/ai-connection-usage.stories.tsx"
],
"fingerprint": "293a8407e94d525533e5beb8920d78e4b47b2326568460bfe02bb3bdd9f81eaf",
"stableId": "ai-connections-usage-limits",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Usage limits"
},
{
"file": "ui/storybook/stories/runs-adapters/ai-connections.stories.tsx",
"capabilities": [
"runs-adapters/validation"
],
"purpose": "AI Connections/Review",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/runs-adapters.md",
"ui/src/components/BreadcrumbBar.tsx",
"ui/src/components/ai-connections/AiConnectionAccountControls.tsx",
"ui/src/components/ai-connections/AiConnectionAuth.tsx",
"ui/src/components/ai-connections/AiConnectionManagement.tsx",
"ui/src/components/ai-connections/AiConnectionPicker.tsx",
"ui/src/components/ai-connections/model.ts",
"ui/src/components/onboarding/CredentialModeLink.tsx",
"ui/src/components/onboarding/ModelSourceTiles.tsx",
"ui/src/features/connections/ConnectionIntentInteractionBody.tsx",
"ui/src/features/connections/ConnectionSetupFlow.tsx",
"ui/src/pages/apps/AppDetail.tsx",
"ui/src/pages/apps/Browse.tsx",
"ui/storybook/fixtures/aiConnections.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/prototypes/AiConnectionsReview.tsx",
"ui/storybook/prototypes/AiConnectorPages.tsx",
"ui/storybook/prototypes/AiReviewFrame.tsx",
"ui/storybook/prototypes/AiTaskConnectionReview.tsx",
"ui/storybook/stories/runs-adapters/ai-connections.stories.tsx"
],
"fingerprint": "9a5d741ffbff64ab6e14e03130a1b7a53403d6e69ee48108ba1358d0093facf2",
"stableId": "ai-connections-review",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Review"
},
{
"file": "ui/storybook/stories/navigation-preferences/announcement-card.stories.tsx",
"capabilities": [
"navigation-preferences/announcements"
],
"purpose": "Announcements/AnnouncementCard",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/navigation-preferences.md",
"ui/src/components/AnnouncementCard.tsx",
"ui/storybook/stories/navigation-preferences/announcement-card.stories.tsx"
],
"fingerprint": "39d0cbdb22d29fee065260ad54fb01da1df21897f3228275875250793ef23bf8",
"stableId": "announcements-announcementcard",
"sidebarTitle": "Oversight and operation/Navigation, profile, and announcements/Announcements/AnnouncementCard"
},
{
"file": "ui/storybook/stories/activity/app-activity-lifecycle.stories.tsx",
"capabilities": [
"activity/activity",
"gateways-profiles/activity"
],
"purpose": "Apps/App detail · Activity (lifecycle)",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/activity.md",
"maps/feature-map/gateways-profiles.md",
"ui/src/pages/apps/app-detail/ActivityPanel.tsx",
"ui/src/pages/apps/app-detail/types.ts",
"ui/storybook/stories/activity/app-activity-lifecycle.stories.tsx"
],
"fingerprint": "6c813a16621d93fe9f817b1b01d451a35b4b552727976168e938409d100b26e9",
"stableId": "apps-app-detail-·-activity-lifecycle",
"sidebarTitle": "Oversight and operation/Dashboards and audit trails/Apps/App detail · Activity (lifecycle)"
},
{
"file": "ui/storybook/stories/connection-setup/apps-catalog-source-selection.stories.tsx",
"capabilities": [
"connection-setup/catalog"
],
"purpose": "Apps/Catalog source selection",
"status": "proposed",
"implementation": "prototype",
"boundary": "fixtures",
"notes": "Local catalog composition uses shipped cards and filters; retains design exploration purpose, not acceptance of the Apps route. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/pages/apps/Browse.tsx",
"ui/src/pages/apps/CatalogSourceFilters.tsx",
"ui/storybook/prototypes/ConnectorCatalogNavigation.tsx",
"ui/storybook/stories/connection-setup/apps-catalog-source-selection.stories.tsx"
],
"fingerprint": "e93a8979af016cd9823399c8a3888b5e03de8718defa31fa00a1ccd521241bd6",
"stableId": "apps-catalog-source-selection",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Catalog source selection"
},
{
"file": "ui/storybook/stories/connection-setup/apps-connect-discoverability.stories.tsx",
"capabilities": [
"connection-setup/catalog"
],
"purpose": "Apps/Connect discoverability (PAP-11091)",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/pages/apps/AppsConnect.tsx",
"ui/src/pages/tools/PasteConfigTab.tsx",
"ui/storybook/stories/connection-setup/apps-connect-discoverability.stories.tsx"
],
"fingerprint": "c9c741dd4b9fdac34e49e6940c5be47c3c728dcb0ad4c057eb18d90d4e25f4aa",
"stableId": "apps-connect-discoverability-pap-11091",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connect discoverability (PAP-11091)"
},
{
"file": "ui/storybook/stories/connection-setup/apps-connect-name.stories.tsx",
"capabilities": [
"connection-setup/identity-and-access"
],
"purpose": "Apps/Connect name at create time (PAP-11283)",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/pages/apps/AppsConnect.tsx",
"ui/storybook/stories/connection-setup/apps-connect-name.stories.tsx"
],
"fingerprint": "9de4f6ee6436b4edee2cbfa8f21ddd34b587da624a3f77b9b167a810fd0f60df",
"stableId": "apps-connect-name-at-create-time-pap-11283",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connect name at create time (PAP-11283)"
},
{
"file": "ui/storybook/stories/app-permissions/apps-managed-accounts.stories.tsx",
"capabilities": [
"app-permissions/account-maintenance"
],
"purpose": "Apps/Managed accounts",
"status": "current",
"implementation": "production",
"boundary": "fixture-server",
"notes": "Production Browse requires owned tests/aggregator-accounts/test-drive.ts on localhost:4310; providers are simulated. Not an offline story.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/app-permissions.md",
"ui/src/pages/apps/Browse.tsx",
"ui/storybook/prototypes/ManagedAggregatorAccounts.tsx",
"ui/storybook/stories/app-permissions/apps-managed-accounts.stories.tsx"
],
"fingerprint": "a1627ade7b4327780b978e7f58fc54d70f30337ef109c8ef2afc793450045b1b",
"stableId": "apps-managed-accounts",
"sidebarTitle": "Apps, channels, and extensions/App access and action permissions/Apps/Managed accounts"
},
{
"file": "ui/storybook/stories/documents-artifacts/artifact-cards/commit.stories.tsx",
"capabilities": [
"documents-artifacts/work-products"
],
"purpose": "Explorations/Artifact cards/Commit",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/artifacts/RichArtifactCards.tsx",
"ui/storybook/stories/documents-artifacts/artifact-cards/commit.stories.tsx",
"ui/storybook/support/artifact-cards/storyConfig.tsx"
],
"fingerprint": "7a6d3f80bcdbdc75b9d4b212ac5ad48fe33ec983cadabd2d9d8a75f4bd373ccb",
"stableId": "explorations-artifact-cards-commit",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Explorations/Artifact cards/Commit"
},
{
"file": "ui/storybook/stories/documents-artifacts/artifact-cards/data.stories.tsx",
"capabilities": [
"documents-artifacts/work-products"
],
"purpose": "Explorations/Artifact cards/Data",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/artifacts/RichArtifactCards.tsx",
"ui/storybook/stories/documents-artifacts/artifact-cards/data.stories.tsx",
"ui/storybook/support/artifact-cards/storyConfig.tsx"
],
"fingerprint": "d811c07d4b2febcca8880f2cbb370d5fd6812aab11981122e1ff0cd452026ea1",
"stableId": "explorations-artifact-cards-data",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Explorations/Artifact cards/Data"
},
{
"file": "ui/storybook/stories/documents-artifacts/artifact-cards/document.stories.tsx",
"capabilities": [
"documents-artifacts/work-products"
],
"purpose": "Explorations/Artifact cards/Document",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/artifacts/RichArtifactCards.tsx",
"ui/storybook/stories/documents-artifacts/artifact-cards/document.stories.tsx",
"ui/storybook/support/artifact-cards/storyConfig.tsx"
],
"fingerprint": "84f56eaeecd79297c6aaef270770229d3692325313dc4838ca1bf758c518abb0",
"stableId": "explorations-artifact-cards-document",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Explorations/Artifact cards/Document"
},
{
"file": "ui/storybook/stories/documents-artifacts/artifact-cards/file.stories.tsx",
"capabilities": [
"documents-artifacts/work-products"
],
"purpose": "Explorations/Artifact cards/File",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/artifacts/RichArtifactCards.tsx",
"ui/storybook/stories/documents-artifacts/artifact-cards/file.stories.tsx",
"ui/storybook/support/artifact-cards/storyConfig.tsx"
],
"fingerprint": "d2ccd3e4eb8272bfc2e54292141e6367d169979933c27f9d099e437000c5522f",
"stableId": "explorations-artifact-cards-file",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Explorations/Artifact cards/File"
},
{
"file": "ui/storybook/stories/documents-artifacts/artifact-cards/image.stories.tsx",
"capabilities": [
"documents-artifacts/work-products"
],
"purpose": "Explorations/Artifact cards/Image",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/artifacts/RichArtifactCards.tsx",
"ui/storybook/stories/documents-artifacts/artifact-cards/image.stories.tsx",
"ui/storybook/support/artifact-cards/storyConfig.tsx"
],
"fingerprint": "3f56a6aa81d4ccbbd5666840bc017a813482e9a40df61c0ac18aa6d42f7c860a",
"stableId": "explorations-artifact-cards-image",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Explorations/Artifact cards/Image"
},
{
"file": "ui/storybook/stories/documents-artifacts/artifact-cards/link-preview.stories.tsx",
"capabilities": [
"documents-artifacts/work-products"
],
"purpose": "Explorations/Artifact cards/Link preview",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/artifacts/RichArtifactCards.tsx",
"ui/storybook/stories/documents-artifacts/artifact-cards/link-preview.stories.tsx",
"ui/storybook/support/artifact-cards/storyConfig.tsx"
],
"fingerprint": "30807b316e1ddc32e3288927283512507974ef537dee5d7ecb11936b6bcb7131",
"stableId": "explorations-artifact-cards-link-preview",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Explorations/Artifact cards/Link preview"
},
{
"file": "ui/storybook/stories/documents-artifacts/artifact-cards/pull-request.stories.tsx",
"capabilities": [
"documents-artifacts/work-products"
],
"purpose": "Explorations/Artifact cards/Pull request",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/artifacts/RichArtifactCards.tsx",
"ui/storybook/stories/documents-artifacts/artifact-cards/pull-request.stories.tsx",
"ui/storybook/support/artifact-cards/storyConfig.tsx"
],
"fingerprint": "21959a663489bd8ab8389ef1492a2b459c7159efa87033253d2430827f288bfc",
"stableId": "explorations-artifact-cards-pull-request",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Explorations/Artifact cards/Pull request"
},
{
"file": "ui/storybook/stories/documents-artifacts/artifact-cards/video.stories.tsx",
"capabilities": [
"documents-artifacts/work-products"
],
"purpose": "Explorations/Artifact cards/Video",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/artifacts/RichArtifactCards.tsx",
"ui/storybook/support/artifact-cards/storyConfig.tsx",
"ui/storybook/stories/documents-artifacts/artifact-cards/video.stories.tsx"
],
"fingerprint": "7187d0b7c3486eaa0e9b7abe375eb11db9c993701ee23edf3f1703a99c1acdd2",
"stableId": "explorations-artifact-cards-video",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Explorations/Artifact cards/Video"
},
{
"file": "ui/storybook/stories/documents-artifacts/artifact-upload/01-components.stories.tsx",
"capabilities": [
"documents-artifacts/attachments"
],
"purpose": "Artifact upload/01 Artifacts pane",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/artifacts/ArtifactUploadArea.tsx",
"ui/src/components/issue-properties/IssuePropertiesArtifactsTab.tsx",
"ui/src/components/side-panel/SidePanelFrame.tsx",
"ui/src/components/side-panel/SidePanelMobileTabs.tsx",
"ui/src/components/side-panel/SidePanelTabs.tsx",
"ui/src/components/side-panel/types.ts",
"ui/src/components/task-side-panel/TaskDocumentPanel.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/documents-artifacts/artifact-upload/01-components.stories.tsx",
"ui/storybook/support/artifact-upload/UploadPreview.tsx",
"ui/storybook/support/artifact-upload/fixtures.ts"
],
"fingerprint": "97036aef581ed62b1032742741c139e710f0f2a9e634c75e507ce5dc38d938e5",
"stableId": "artifact-upload-01-artifacts-pane",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Artifact upload/01 Artifacts pane"
},
{
"file": "ui/storybook/stories/documents-artifacts/artifact-upload/02-task-journey.stories.tsx",
"capabilities": [
"documents-artifacts/attachments"
],
"purpose": "Artifact upload/02 Paused task journey",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/Layout.tsx",
"ui/src/components/StatusBadge.tsx",
"ui/src/components/artifacts/ArtifactUploadArea.tsx",
"ui/src/components/issue-properties/IssuePropertiesArtifactsTab.tsx",
"ui/src/components/side-panel/SidePanelFrame.tsx",
"ui/src/components/side-panel/SidePanelMobileTabs.tsx",
"ui/src/components/side-panel/SidePanelTabs.tsx",
"ui/src/components/side-panel/types.ts",
"ui/src/components/task-chat/TaskChatBubble.tsx",
"ui/src/components/task-chat/TaskChatPausedTakeover.tsx",
"ui/src/components/task-side-panel/TaskDocumentPanel.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/documents-artifacts/artifact-upload/02-task-journey.stories.tsx",
"ui/storybook/support/artifact-upload/UploadPreview.tsx",
"ui/storybook/support/artifact-upload/fixtures.ts"
],
"fingerprint": "ce98222afff00d7dfdfa7f84fd5e909bfe49fe8e5c1bd0f7f188942d11eafec7",
"stableId": "artifact-upload-02-paused-task-journey",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Artifact upload/02 Paused task journey"
},
{
"file": "ui/storybook/stories/documents-artifacts/artifacts.stories.tsx",
"capabilities": [
"documents-artifacts/library",
"documents-artifacts/work-products"
],
"purpose": "Pages/Artifacts",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/EmptyState.tsx",
"ui/src/components/artifacts/ArtifactCard.tsx",
"ui/src/pages/Artifacts.tsx",
"ui/storybook/stories/documents-artifacts/artifacts.stories.tsx"
],
"fingerprint": "8752ed42735eb3e31b788c3d6661109a5a1230b667575cf5b4f78ba4f2f950af",
"stableId": "pages-artifacts",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Pages/Artifacts"
},
{
"file": "ui/storybook/stories/tasks/assigned-backlog-safeguards.stories.tsx",
"capabilities": [
"tasks/completion",
"recovery/diagnosis"
],
"purpose": "Paperclip/Assigned Backlog Safeguards",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"maps/feature-map/tasks.md",
"ui/src/components/IssueAssignedBacklogNotice.tsx",
"ui/src/components/IssueBlockedNotice.tsx",
"ui/src/components/IssueRow.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/tasks/assigned-backlog-safeguards.stories.tsx"
],
"fingerprint": "634be5456a6554553c9c19852941533fd657b48ea9aaf97ea2774a5b52fed8d0",
"stableId": "paperclip-assigned-backlog-safeguards",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Paperclip/Assigned Backlog Safeguards"
},
{
"file": "ui/storybook/stories/inbox-search/blocked-inbox.stories.tsx",
"capabilities": [
"inbox-search/triage",
"recovery/diagnosis"
],
"purpose": "Product/Inbox/Blocked tab",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Creation visibility now defaults to hiding automated independent tasks, with a show agent-created tasks control and inbox participation exceptions. Source alignment reviewed; these fixture stories do not establish live server pagination or authorization. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/inbox-search.md",
"maps/feature-map/recovery.md",
"ui/src/components/BlockedInboxView.tsx",
"ui/src/components/BlockedReasonChip.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/inbox-search/blocked-inbox.stories.tsx"
],
"fingerprint": "1ef985b27fe351ee34b584ca878c66819fd46986eb09dbce59c408c66b35a495",
"stableId": "product-inbox-blocked-tab",
"sidebarTitle": "Tasks and conversations/Inbox, decisions, and search/Product/Inbox/Blocked tab"
},
{
"file": "ui/storybook/stories/workspaces/browser-use-activity.stories.tsx",
"capabilities": [
"workspaces/services",
"tasks/discussion"
],
"purpose": "Tasks/Browser Use/Task activity",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the expanded workspace recipe; these examples do not establish durable task-folder continuity, repository authorization or sandbox admission. The workspace recipe now requires child boundary, safe reopen and checkpoint ancestry controls; these backend checks are not established by this fixture. The provisioning recipe requires controller script denial for remote selections and copy-only local source choices, including retained denial through metadata changes and reopening; these fixtures do not verify execution placement. Canonical default provisioning follows configured policy, primary, creation time and ID; these fixtures do not run source hooks or establish this backend precedence. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/tasks.md",
"maps/feature-map/workspaces.md",
"ui/src/components/task-chat/TaskChatThreadView.tsx",
"ui/src/components/task-side-panel/TaskBrowserActivity.tsx",
"ui/src/components/task-side-panel/TaskBrowserPanel.tsx",
"ui/storybook/fixtures/browser-use.tsx",
"ui/storybook/stories/workspaces/browser-use-activity.stories.tsx"
],
"fingerprint": "f0e77b99e99a69532f45d58546a2324893543911771e850a47ca3452818bcf3d",
"stableId": "tasks-browser-use-task-activity",
"sidebarTitle": "Projects and execution/Workspaces, services, and files/Tasks/Browser Use/Task activity"
},
{
"file": "ui/storybook/stories/workspaces/browser-use-footer.stories.tsx",
"capabilities": [
"workspaces/services",
"tasks/discussion"
],
"purpose": "Tasks/Browser Use/Footer",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the expanded workspace recipe; these examples do not establish durable task-folder continuity, repository authorization or sandbox admission. The workspace recipe now requires child boundary, safe reopen and checkpoint ancestry controls; these backend checks are not established by this fixture. The provisioning recipe requires controller script denial for remote selections and copy-only local source choices, including retained denial through metadata changes and reopening; these fixtures do not verify execution placement. Canonical default provisioning follows configured policy, primary, creation time and ID; these fixtures do not run source hooks or establish this backend precedence. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/tasks.md",
"maps/feature-map/workspaces.md",
"ui/src/components/task-side-panel/TaskBrowserFooter.tsx",
"ui/src/components/task-side-panel/TaskBrowserPanel.tsx",
"ui/storybook/fixtures/browser-use.tsx",
"ui/storybook/stories/workspaces/browser-use-footer.stories.tsx"
],
"fingerprint": "b60b13c6ff934b038616eee7da6aeeaac0f595aeb7c8d80d2a2f787c7bb0dbac",
"stableId": "tasks-browser-use-footer",
"sidebarTitle": "Projects and execution/Workspaces, services, and files/Tasks/Browser Use/Footer"
},
{
"file": "ui/storybook/stories/connection-setup/browser-use-settings.stories.tsx",
"capabilities": [
"connection-setup/credentials"
],
"purpose": "Connections/Browser Use Cloud/Settings",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/components/task-side-panel/TaskBrowserPanel.tsx",
"ui/src/pages/apps/app-detail/BrowserUseSettingsPanel.tsx",
"ui/storybook/fixtures/browser-use.tsx",
"ui/storybook/stories/connection-setup/browser-use-settings.stories.tsx"
],
"fingerprint": "c4b0593a7d8fd826c8949fa2374c469fdc6a4ad8cbf6efd01fbd97f6db833228",
"stableId": "connections-browser-use-cloud-settings",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Connections/Browser Use Cloud/Settings"
},
{
"file": "ui/storybook/stories/workspaces/browser-use.stories.tsx",
"capabilities": [
"workspaces/services",
"tasks/discussion"
],
"purpose": "Tasks/Browser Use/Panel",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the expanded workspace recipe; these examples do not establish durable task-folder continuity, repository authorization or sandbox admission. The workspace recipe now requires child boundary, safe reopen and checkpoint ancestry controls; these backend checks are not established by this fixture. The provisioning recipe requires controller script denial for remote selections and copy-only local source choices, including retained denial through metadata changes and reopening; these fixtures do not verify execution placement. Canonical default provisioning follows configured policy, primary, creation time and ID; these fixtures do not run source hooks or establish this backend precedence. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/tasks.md",
"maps/feature-map/workspaces.md",
"ui/src/components/task-side-panel/TaskBrowserPanel.tsx",
"ui/src/components/task-side-panel/TaskSidePanel.tsx",
"ui/storybook/fixtures/browser-use.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/workspaces/browser-use.stories.tsx"
],
"fingerprint": "7dea88462587a256933271c48cfef7ff339f55acd1f77a38bf89ad537c63f3ae",
"stableId": "tasks-browser-use-panel",
"sidebarTitle": "Projects and execution/Workspaces, services, and files/Tasks/Browser Use/Panel"
},
{
"file": "ui/storybook/stories/budgets-costs/budget-finance.stories.tsx",
"capabilities": [
"budgets-costs/cost-reporting",
"budgets-costs/budgets",
"budgets-costs/incidents"
],
"purpose": "Product/Budget & Finance",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. FullMatrix renders BudgetIncidentCard in warning, resolved, pending-approval and escalated hard-stop states. Resolution handlers are no-ops; budget relief and resumption remain unverified. The upstream budget UI distinguishes soft warnings from hard stops; hard incidents retain raise-and-resume and keep-paused controls.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/budgets-costs.md",
"ui/src/components/AccountingModelCard.tsx",
"ui/src/components/BillerSpendCard.tsx",
"ui/src/components/BudgetIncidentCard.tsx",
"ui/src/components/BudgetSidebarMarker.tsx",
"ui/src/components/ClaudeSubscriptionPanel.tsx",
"ui/src/components/CodexSubscriptionPanel.tsx",
"ui/src/components/FinanceBillerCard.tsx",
"ui/src/components/FinanceKindCard.tsx",
"ui/src/components/FinanceTimelineCard.tsx",
"ui/src/components/ProviderQuotaCard.tsx",
"ui/storybook/stories/budgets-costs/budget-finance.stories.tsx"
],
"fingerprint": "1af4d0af7d3dc0008dce21ac303af6aa90fb46593389fc7e47602a490e3ca8c7",
"stableId": "product-budget-finance",
"sidebarTitle": "Oversight and operation/Costs and budgets/Product/Budget & Finance"
},
{
"file": "ui/storybook/stories/agents/built-in-agents.stories.tsx",
"capabilities": [
"agents/built-in"
],
"purpose": "Product/Built-in Agents",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/agents.md",
"ui/src/components/BuiltInAgentBadges.tsx",
"ui/src/components/BuiltInBundlePanel.tsx",
"ui/src/components/ConfigureBuiltInAgentModal.tsx",
"ui/src/components/EmptyState.tsx",
"ui/src/components/EntityRow.tsx",
"ui/src/components/InlineBanner.tsx",
"ui/src/components/StatusBadge.tsx",
"ui/storybook/stories/agents/built-in-agents.stories.tsx"
],
"fingerprint": "33d0aceb2ce1d9841cb03ea0b3ca84e4daadd367a424ef57d104e40733d948eb",
"stableId": "product-built-in-agents",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Product/Built-in Agents"
},
{
"file": "ui/storybook/stories/tasks/chat-comments.stories.tsx",
"capabilities": [
"tasks/discussion",
"runs-adapters/runs"
],
"purpose": "Product/Chat & Comments",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/runs-adapters.md",
"maps/feature-map/tasks.md",
"ui/src/components/CommentThread.tsx",
"ui/src/components/InlineEntitySelector.tsx",
"ui/src/components/IssueChatThread.tsx",
"ui/src/components/MarkdownBody.tsx",
"ui/src/components/MarkdownEditor.tsx",
"ui/src/components/RunChatSurface.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/tasks/chat-comments.stories.tsx"
],
"fingerprint": "af6b855e4223073858c00f3d39b294222d32a7eb4f9c780cb3a1259a4c3edbdb",
"stableId": "product-chat-comments",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Product/Chat & Comments"
},
{
"file": "ui/storybook/stories/chat-channels/chat-connection-actions.stories.tsx",
"capabilities": [
"chat-channels/providers"
],
"purpose": "Connections/Chat connection actions",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the added connection/destination-default recipe; these unchanged setup, identity or conversation examples do not establish default selection or new-task inheritance.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"ui/src/pages/apps/Browse.tsx",
"ui/storybook/stories/chat-channels/chat-connection-actions.stories.tsx"
],
"fingerprint": "bd604a05920f1015bac52ede82ba83726bf4d79126b7f8f8c8afcd5aa4aca630",
"stableId": "connections-chat-connection-actions",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/Chat connection actions"
},
{
"file": "ui/storybook/stories/agent-chat/chat-entry.stories.tsx",
"capabilities": [
"agent-chat/discovery",
"agent-chat/history"
],
"purpose": "Design explorations/Chat entry",
"status": "historical",
"implementation": "mixed",
"boundary": "fixtures",
"notes": "Retained first-created-agent sidebar/landing design predates personal primary-agent selection. Shared production conversation components remain useful. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Source review covers the retained-file recovery form, source-bound evidence and unchanged task status; fixture APIs do not prove live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agent-chat.md",
"ui/src/components/AgentChatPicker.tsx",
"ui/src/components/AgentIconPicker.tsx",
"ui/src/components/Layout.tsx",
"ui/src/components/SidebarAgentChats.tsx",
"ui/src/pages/AgentChat.tsx",
"ui/src/pages/AgentChats.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/Agents.tsx",
"ui/src/pages/IssueDetail.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/prototypes/agent-chat-sidebar/AgentChatSidebarReview.tsx",
"ui/storybook/prototypes/agent-chat-sidebar/fixtures.ts",
"ui/storybook/prototypes/agent-chat/AgentChatPrototype.tsx",
"ui/storybook/prototypes/agent-chat/AgentChatSidebar.tsx",
"ui/storybook/prototypes/chat-entry/ChatEntryReview.tsx",
"ui/storybook/stories/agent-chat/chat-entry.stories.tsx"
],
"fingerprint": "726b0bc2e1b5aaf7c5afef3a4e184d2aa6240988706bf266c12878141a41e631",
"replacement": "ui/storybook/stories/agents/primary-agent/05-chat.stories.tsx",
"stableId": "design-explorations-chat-entry",
"sidebarTitle": "Tasks and conversations/Agent conversations and project handoff/Design explorations/Chat entry"
},
{
"file": "ui/storybook/stories/chat-channels/chat-management/chat-management.stories.tsx",
"capabilities": [
"chat-channels/lifecycle",
"chat-channels/identity",
"chat-channels/conversation"
],
"purpose": "Connections/Chat management",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation: the mounted endpoint adds connection and destination editors. Local endpoint PATCH/resource PUT preserve defaults; workspace-choice requests now return only active/idle, unclosed fixture workspaces. Browser save/error/reload and new-conversation inheritance remain unverified. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Inspected channel task-default controls, optional API fields, avatar rendering and matching fixture updates; live defaults inheritance and permission checks remain outside these stories. Access, InvitePeople, ConnectAndTest and Conversations render the shipped endpoint detail with simulated identity linking and conversation data. External delivery and identity authorization are not live.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"ui/src/api/chatEndpoints.ts",
"ui/src/api/execution-workspaces.ts",
"ui/src/api/projects.ts",
"ui/src/components/Layout.tsx",
"ui/src/pages/apps/chat/ChatEndpointDetail.tsx",
"ui/src/pages/apps/chat/ChatExecutionDefaults.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/chat-channels/chat-management/chat-management.stories.tsx"
],
"fingerprint": "1b095845d727d6703d3cfb3b27120927c8ac8b8fd4f2950770c7c5f4aed44d3b",
"stableId": "connections-chat-management",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/Chat management"
},
{
"file": "ui/storybook/stories/recovery/cloud-access-recovery.stories.tsx",
"capabilities": [
"recovery/reconnect"
],
"purpose": "App/Connection recovery",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"ui/src/components/CloudAccessGate.tsx",
"ui/storybook/stories/recovery/cloud-access-recovery.stories.tsx"
],
"fingerprint": "65051e49291a3917a3b62604fa76747d2df1825f2601f9abbf2e4ab45b5add9d",
"stableId": "app-connection-recovery",
"sidebarTitle": "Projects and execution/Recovery/App/Connection recovery"
},
{
"file": "ui/storybook/stories/tasks/completed-activity.stories.tsx",
"capabilities": [
"tasks/discussion",
"runs-adapters/runs"
],
"purpose": "Tasks/Completed activity preview",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/runs-adapters.md",
"maps/feature-map/tasks.md",
"ui/src/components/task-chat/TaskChatRunnerActivityGroup.tsx",
"ui/src/components/task-chat/task-chat-model.ts",
"ui/storybook/prototypes/completed-activity/CompletedActivityPreview.tsx",
"ui/storybook/stories/tasks/completed-activity.stories.tsx"
],
"fingerprint": "d6a288300082825b36c483a4c1e1dda3ca7ecf4ba7bada065d88ad8f2098c869",
"stableId": "tasks-completed-activity-preview",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Tasks/Completed activity preview"
},
{
"file": "ui/storybook/stories/tasks/composer-add-menu.stories.tsx",
"capabilities": [
"tasks/create"
],
"purpose": "Composer/Add menu",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/tasks.md",
"ui/src/components/MobileBottomNav.tsx",
"ui/src/components/task-chat/TaskChatComposer.tsx",
"ui/src/components/task-chat/TaskChatComposerDock.tsx",
"ui/storybook/prototypes/composer-model-picker/fixtures.ts",
"ui/storybook/stories/tasks/composer-add-menu.stories.tsx"
],
"fingerprint": "a3d8d5ddf558df4e5118c747bb1c42ef1d43b23202200614a96c7a4c5ab47e91",
"stableId": "composer-add-menu",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Composer/Add menu"
},
{
"file": "ui/storybook/stories/tasks/composer-mobile-assignee.stories.tsx",
"capabilities": [
"tasks/create",
"runs-adapters/availability"
],
"purpose": "Composer/Mobile assignee picker",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/runs-adapters.md",
"maps/feature-map/tasks.md",
"ui/src/components/AgentAvatar.tsx",
"ui/src/components/task-chat/ComposerAddMenu.tsx",
"ui/src/components/task-chat/ComposerRunSettingsPicker.tsx",
"ui/src/components/task-chat/composer-run-settings.ts",
"ui/storybook/prototypes/composer-model-picker/ComposerRunSettingsLiveStory.tsx",
"ui/storybook/prototypes/composer-model-picker/fixtures.ts",
"ui/storybook/stories/tasks/composer-mobile-assignee.stories.tsx"
],
"fingerprint": "62cb4bb214ab3848b9008c2456293027e86bb5bc55bda9c8671a5ea972555ee8",
"stableId": "composer-mobile-assignee-picker",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Composer/Mobile assignee picker"
},
{
"file": "ui/storybook/stories/tasks/composer-model-picker.stories.tsx",
"capabilities": [
"tasks/create",
"runs-adapters/availability"
],
"purpose": "Composer/Model and effort picker",
"status": "mixed",
"implementation": "mixed",
"boundary": "fixtures",
"notes": "Most examples use a local picker implementation; live picker examples use ComposerRunSettingsLiveStory. Do not count the whole suite as production parity. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/runs-adapters.md",
"maps/feature-map/tasks.md",
"ui/src/components/AgentAvatar.tsx",
"ui/src/components/task-chat/ComposerAddMenu.tsx",
"ui/src/components/task-chat/ComposerRunSettingsPicker.tsx",
"ui/src/components/task-chat/composer-run-settings.ts",
"ui/storybook/prototypes/composer-model-picker/ComposerModelPickerPreview.tsx",
"ui/storybook/prototypes/composer-model-picker/ComposerRunSettingsLiveStory.tsx",
"ui/storybook/prototypes/composer-model-picker/fixtures.ts",
"ui/storybook/stories/tasks/composer-model-picker.stories.tsx"
],
"fingerprint": "6fdfb5463f7601772919b8c73e97b2571f5c13bf728390ecffc22a7438d67ce7",
"stableId": "composer-model-and-effort-picker",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Composer/Model and effort picker"
},
{
"file": "ui/storybook/stories/questions-and-approvals/composer-question-flow.stories.tsx",
"capabilities": [
"questions-and-approvals/questions"
],
"purpose": "Composer/Question flow",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/questions-and-approvals.md",
"ui/src/components/task-chat/QuestionForm.tsx",
"ui/src/components/task-chat/TaskChatComposer.tsx",
"ui/storybook/stories/questions-and-approvals/composer-question-flow.stories.tsx"
],
"fingerprint": "c1b27485d6807fe060e4420340b6dee67a2630642f4a7b5bbcee330f4c12efa3",
"stableId": "composer-question-flow",
"sidebarTitle": "Tasks and conversations/Questions and approvals/Composer/Question flow"
},
{
"file": "ui/storybook/stories/steering/composer-queued-messages.stories.tsx",
"capabilities": [
"steering/queue",
"steering/edit-order-discard",
"steering/steer",
"steering/interrupt"
],
"purpose": "Composer/Steering and queued messages",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/steering.md",
"ui/src/components/task-chat/TaskChatComposer.tsx",
"ui/src/components/task-chat/TaskChatQueuedMessages.tsx",
"ui/storybook/prototypes/composer-model-picker/fixtures.ts",
"ui/storybook/stories/steering/composer-queued-messages.stories.tsx"
],
"fingerprint": "a7a8c31427592e9e35a4da6c90e08c334835e9f84544f2e887aa102c3fc35071",
"stableId": "composer-steering-and-queued-messages",
"sidebarTitle": "Tasks and conversations/Steering and queued messages/Composer/Steering and queued messages"
},
{
"file": "ui/storybook/stories/connection-setup/connection-instructions.stories.tsx",
"capabilities": [
"connection-setup/credentials",
"agents/instructions"
],
"purpose": "Design explorations/Connections/Agent instructions",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agents.md",
"maps/feature-map/connection-setup.md",
"ui/src/components/Layout.tsx",
"ui/src/features/connections/ConnectionInstructions.tsx",
"ui/src/features/connections/ConnectionSetupFlow.tsx",
"ui/src/pages/apps/AppDetail.tsx",
"ui/src/pages/apps/Browse.tsx",
"ui/storybook/fixtures/connectionInstructions.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/connection-setup/connection-instructions.stories.tsx"
],
"fingerprint": "fbe38d3bcc75a349708824554ebc89e2b537765679f1bc20c83382187d3f7b8d",
"stableId": "design-explorations-connections-agent-instructions",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Design explorations/Connections/Agent instructions"
},
{
"file": "ui/storybook/stories/runs-adapters/connection-pool-connector.stories.tsx",
"capabilities": [
"runs-adapters/validation",
"connection-setup/catalog"
],
"purpose": "Connectors/Pool host",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"maps/feature-map/runs-adapters.md",
"ui/src/components/AppConnectionSidebar.tsx",
"ui/src/components/BreadcrumbBar.tsx",
"ui/src/pages/apps/AppDetail.tsx",
"ui/src/pages/apps/AppsConnect.tsx",
"ui/src/pages/apps/Browse.tsx",
"ui/storybook/prototypes/ConnectionPoolConnectorHost.tsx",
"ui/storybook/stories/runs-adapters/connection-pool-connector.stories.tsx"
],
"fingerprint": "8435510a61a26df876ed1f5ab088873738bcc4e57c3b17d8bb59a1fc548f111e",
"stableId": "connectors-pool-host",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/Connectors/Pool host"
},
{
"file": "ui/storybook/stories/runs-adapters/connection-pools.stories.tsx",
"capabilities": [
"runs-adapters/validation"
],
"purpose": "AI Connections/Connection pools",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/runs-adapters.md",
"ui/src/components/IssueMonitorBanner.tsx",
"ui/src/components/RunRetryDetails.tsx",
"ui/src/components/ai-connections/AiConnectionField.tsx",
"ui/src/components/ai-connections/AiConnectionPoolRunDetails.tsx",
"ui/src/components/task-chat/ComposerRunSettingsPicker.tsx",
"ui/src/components/task-chat/composer-run-settings.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/runs-adapters/connection-pools.stories.tsx"
],
"fingerprint": "b614f0bcfb914ae817cbfba36d8dd80091068ad6e6a630ec239a7d9f7b3e05c1",
"stableId": "ai-connections-connection-pools",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Connection pools"
},
{
"file": "ui/storybook/stories/questions-and-approvals/connection-reviews.stories.tsx",
"capabilities": [
"questions-and-approvals/tool-review",
"connection-setup/task-request"
],
"purpose": "Chat & Comments/Connection Reviews",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"maps/feature-map/questions-and-approvals.md",
"ui/src/components/IssueThreadInteractionCard.tsx",
"ui/src/components/TaskChatThread.tsx",
"ui/src/pages/apps/ReviewQueueCard.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/questions-and-approvals/connection-reviews.stories.tsx"
],
"fingerprint": "20866331e244be5a10686f155ff0e0e1d9e644abdea71ca9b63ed46fd925732c",
"stableId": "chat-comments-connection-reviews",
"sidebarTitle": "Tasks and conversations/Questions and approvals/Chat & Comments/Connection Reviews"
},
{
"file": "ui/storybook/stories/tasks/control-plane-surfaces.stories.tsx",
"capabilities": [
"tasks/organize",
"questions-and-approvals/governance",
"budgets-costs/budgets",
"activity/activity"
],
"purpose": "Product/Control Plane Surfaces",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/activity.md",
"maps/feature-map/budgets-costs.md",
"maps/feature-map/questions-and-approvals.md",
"maps/feature-map/tasks.md",
"ui/src/components/ActivityRow.tsx",
"ui/src/components/ApprovalCard.tsx",
"ui/src/components/BudgetPolicyCard.tsx",
"ui/src/components/Identity.tsx",
"ui/src/components/IssueRow.tsx",
"ui/src/components/PriorityIcon.tsx",
"ui/src/components/StatusBadge.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/tasks/control-plane-surfaces.stories.tsx"
],
"fingerprint": "ad5842a0179d5b824f4b08170e82ce66fe3929eb93021af3606e7c9dd81ddc12",
"stableId": "product-control-plane-surfaces",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Product/Control Plane Surfaces"
},
{
"file": "ui/storybook/stories/budgets-costs/costs/subscriptions.stories.tsx",
"capabilities": [
"budgets-costs/cost-reporting",
"budgets-costs/budgets"
],
"purpose": "Costs/Subscriptions",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The upstream budget UI distinguishes soft warnings from hard stops; hard incidents retain raise-and-resume and keep-paused controls.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/budgets-costs.md",
"ui/src/components/ToastViewport.tsx",
"ui/src/pages/Costs.tsx",
"ui/storybook/stories/budgets-costs/costs/subscriptions.stories.tsx"
],
"fingerprint": "7eeef3d9becbe18d7f7e644f4fc8628c386071f151a038842fac12e97602c81d",
"stableId": "costs-subscriptions",
"sidebarTitle": "Oversight and operation/Costs and budgets/Costs/Subscriptions"
},
{
"file": "ui/storybook/stories/secrets/credential-access/01-notice.stories.tsx",
"capabilities": [
"secrets/runtime-delivery",
"recovery/diagnosis"
],
"purpose": "Task credential access/01 Notice",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Agent-owned instance secrets remain in trusted server runtime and are excluded from ordinary agent delivery; these UI examples do not verify that lifecycle contract. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"maps/feature-map/secrets.md",
"ui/src/components/task-chat/TaskChatMarker.tsx",
"ui/storybook/stories/secrets/credential-access/01-notice.stories.tsx"
],
"fingerprint": "e47db04211055da618b8759ca77f1c725fd6370a660619fa621e7df53c6e140a",
"stableId": "task-credential-access-01-notice",
"sidebarTitle": "Apps, channels, and extensions/Secrets and proposals/Task credential access/01 Notice"
},
{
"file": "ui/storybook/stories/secrets/credential-access/02-task-page.stories.tsx",
"capabilities": [
"secrets/runtime-delivery",
"recovery/diagnosis"
],
"purpose": "Task credential access/02 Task page",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Agent-owned instance secrets remain in trusted server runtime and are excluded from ordinary agent delivery; these UI examples do not verify that lifecycle contract. Source review covers the retained-file recovery form, source-bound evidence and unchanged task status; fixture APIs do not prove live provider recovery. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"maps/feature-map/secrets.md",
"ui/src/components/Layout.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/IssueDetail.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/secrets/credential-access/02-task-page.stories.tsx",
"ui/storybook/support/credential-access/CredentialTaskPage.tsx"
],
"fingerprint": "33c0737e68af1841115aad7f962e7e81af6ea5659bc335bc0f842a47ca7b6868",
"stableId": "task-credential-access-02-task-page",
"sidebarTitle": "Apps, channels, and extensions/Secrets and proposals/Task credential access/02 Task page"
},
{
"file": "ui/storybook/stories/documents-artifacts/csv-preview.stories.tsx",
"capabilities": [
"documents-artifacts/attachments"
],
"purpose": "Components/CSV File Tab",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/task-side-panel/TaskAttachmentPanel.tsx",
"ui/src/components/task-side-panel/TaskWorkspaceFilePanel.tsx",
"ui/storybook/stories/documents-artifacts/csv-preview.stories.tsx"
],
"fingerprint": "734738f2d9a747215f4a34baa7d448238fbfc2da7218c79b1eff8643aed6cefc",
"stableId": "components-csv-file-tab",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Components/CSV File Tab"
},
{
"file": "ui/storybook/stories/activity/data-viz-misc.stories.tsx",
"capabilities": [
"activity/overview"
],
"purpose": "Product/Data Visualization & Misc",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/activity.md",
"ui/src/components/ActivityCharts.tsx",
"ui/src/components/AsciiArtAnimation.tsx",
"ui/src/components/CompanyPatternIcon.tsx",
"ui/src/components/EntityRow.tsx",
"ui/src/components/FilterBar.tsx",
"ui/src/components/KanbanBoard.tsx",
"ui/src/components/LiveRunWidget.tsx",
"ui/src/components/OnboardingWizard.tsx",
"ui/src/components/PackageFileTree.tsx",
"ui/src/components/PageSkeleton.tsx",
"ui/src/components/StatusBadge.tsx",
"ui/src/components/SwipeToArchive.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/activity/data-viz-misc.stories.tsx"
],
"fingerprint": "2861c5c594bbc3c30682958dd3727488f776e411368bcfdcbde39c14cb64cef6",
"stableId": "product-data-visualization-misc",
"sidebarTitle": "Oversight and operation/Dashboards and audit trails/Product/Data Visualization & Misc"
},
{
"file": "ui/storybook/stories/inbox-search/decision-card.stories.tsx",
"capabilities": [
"inbox-search/decisions"
],
"purpose": "Decisions/DecisionCard",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/inbox-search.md",
"ui/src/components/DecisionCard.tsx",
"ui/storybook/stories/inbox-search/decision-card.stories.tsx"
],
"fingerprint": "172482180fa305e06238da1fa90a277dd1eb109354d8bfeb0b2b833b9aba798d",
"stableId": "decisions-decisioncard",
"sidebarTitle": "Tasks and conversations/Inbox, decisions, and search/Decisions/DecisionCard"
},
{
"file": "ui/storybook/stories/companies/decision-models/01-settings.stories.tsx",
"capabilities": [
"companies/identity",
"budgets-costs/cost-reporting",
"companies/decision-models"
],
"purpose": "Decision models/01 Settings",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Related decision-service examples show connection/model configuration, bounded test receipts or invocation history using shipped subjects and simulated data. No paid provider or authorization proof.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/budgets-costs.md",
"maps/feature-map/companies.md",
"ui/src/components/decision-models/DecisionModelSettings.tsx",
"ui/storybook/stories/companies/decision-models/01-settings.stories.tsx",
"ui/storybook/support/decision-models/fixtures.ts"
],
"fingerprint": "deb224b7109eeb7c2672ac22e63c5ea62053198eac5ba69d796c13b418bff263",
"stableId": "decision-models-01-settings",
"sidebarTitle": "Getting started and access/Companies and portability/Decision models/01 Settings"
},
{
"file": "ui/storybook/stories/companies/decision-models/02-history.stories.tsx",
"capabilities": [
"companies/identity",
"budgets-costs/cost-reporting",
"companies/decision-models"
],
"purpose": "Decision models/02 History",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Related decision-service examples show connection/model configuration, bounded test receipts or invocation history using shipped subjects and simulated data. No paid provider or authorization proof.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/budgets-costs.md",
"maps/feature-map/companies.md",
"ui/src/components/decision-models/DecisionHistory.tsx",
"ui/storybook/stories/companies/decision-models/02-history.stories.tsx",
"ui/storybook/support/decision-models/fixtures.ts"
],
"fingerprint": "a32eb6bdb93e8fd8ecb05ed6bc8a7483c6c39e77b862700ff1ae192293d139ee",
"stableId": "decision-models-02-history",
"sidebarTitle": "Getting started and access/Companies and portability/Decision models/02 History"
},
{
"file": "ui/storybook/stories/companies/decision-models/03-journey.stories.tsx",
"capabilities": [
"companies/identity",
"budgets-costs/cost-reporting",
"companies/decision-models"
],
"purpose": "Decision models/03 Journey",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Related decision-service examples show connection/model configuration, bounded test receipts or invocation history using shipped subjects and simulated data. No paid provider or authorization proof. The upstream budget UI distinguishes soft warnings from hard stops; hard incidents retain raise-and-resume and keep-paused controls.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/budgets-costs.md",
"maps/feature-map/companies.md",
"ui/src/components/Layout.tsx",
"ui/src/pages/CompanySettings.tsx",
"ui/src/pages/Costs.tsx",
"ui/storybook/stories/companies/decision-models/03-journey.stories.tsx",
"ui/storybook/support/decision-models/fixtures.ts"
],
"fingerprint": "18b3ec30595cccd821d30fbf6eef0ca7b072666c9fd98b48f866b4420144a244",
"stableId": "decision-models-03-journey",
"sidebarTitle": "Getting started and access/Companies and portability/Decision models/03 Journey"
},
{
"file": "ui/storybook/stories/inbox-search/decisions-desk.stories.tsx",
"capabilities": [
"inbox-search/decisions"
],
"purpose": "Pages/Decisions Desk",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/inbox-search.md",
"ui/src/components/AttentionQueueRow.tsx",
"ui/src/pages/DecisionQueuePage.tsx",
"ui/src/pages/WhatNeedsMe.tsx",
"ui/storybook/stories/inbox-search/decisions-desk.stories.tsx"
],
"fingerprint": "4b39ccddf9d5ed2847fe0bd9f0078b183ffcaeb41b67121410909ef10a73e938",
"stableId": "pages-decisions-desk",
"sidebarTitle": "Tasks and conversations/Inbox, decisions, and search/Pages/Decisions Desk"
},
{
"file": "ui/storybook/stories/instance-operations/dev-ops-surfaces.stories.tsx",
"capabilities": [
"instance-operations/server-service"
],
"purpose": "Product/Dev Ops Surfaces",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe distinguishes process liveness from authenticated database readiness; these examples do not exercise that operator API boundary.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/instance-operations.md",
"ui/src/components/DevRestartBanner.tsx",
"ui/storybook/stories/instance-operations/dev-ops-surfaces.stories.tsx"
],
"fingerprint": "65b11bebc5c0a3f7644149c7ba18c7cd7fa810c300e60459ea045904f771c0ef",
"stableId": "product-dev-ops-surfaces",
"sidebarTitle": "Oversight and operation/Instance operations/Product/Dev Ops Surfaces"
},
{
"file": "ui/storybook/stories/tasks/dialogs-modals.stories.tsx",
"capabilities": [
"tasks/create",
"agents/hire",
"projects/lifecycle",
"goals/hierarchy"
],
"purpose": "Product/Dialogs & Modals",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agents.md",
"maps/feature-map/goals.md",
"maps/feature-map/projects.md",
"maps/feature-map/tasks.md",
"ui/src/components/DocumentDiffModal.tsx",
"ui/src/components/ExecutionWorkspaceCloseDialog.tsx",
"ui/src/components/ImageGalleryModal.tsx",
"ui/src/components/NewAgentDialog.tsx",
"ui/src/components/NewGoalDialog.tsx",
"ui/src/components/NewIssueDialog.tsx",
"ui/src/components/NewProjectDialog.tsx",
"ui/src/components/PathInstructionsModal.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/tasks/dialogs-modals.stories.tsx"
],
"fingerprint": "0106caca8a9ad499602499ab64ad96f7cbb9db6815195218775cc317ba7204ad",
"stableId": "product-dialogs-modals",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Product/Dialogs & Modals"
},
{
"file": "ui/storybook/stories/documents-artifacts/document-annotations.stories.tsx",
"capabilities": [
"documents-artifacts/annotations"
],
"purpose": "Product/Documents/Annotations",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/DocumentAnnotationLayer.tsx",
"ui/src/components/DocumentAnnotationPanel.tsx",
"ui/src/components/IssueDocumentAnnotations.tsx",
"ui/src/components/IssueDocumentsSection.tsx",
"ui/src/components/MarkdownBody.tsx",
"ui/src/components/MarkdownEditor.tsx",
"ui/storybook/stories/documents-artifacts/document-annotations.stories.tsx"
],
"fingerprint": "37f01db23f298992b973fed56fd439ae0a0586bfc703af55dcf9fa69f14b86de",
"stableId": "product-documents-annotations",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Product/Documents/Annotations"
},
{
"file": "ui/storybook/stories/documents-artifacts/document-comments.stories.tsx",
"capabilities": [
"documents-artifacts/annotations"
],
"purpose": "Product/Document Comments",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/DocumentAnnotationLayer.tsx",
"ui/src/components/DocumentAnnotationPanel.tsx",
"ui/storybook/stories/documents-artifacts/document-comments.stories.tsx"
],
"fingerprint": "1ff3445ed22893256cecf44c00c5f4714ae573e4d26351388fb672efe8726df4",
"stableId": "product-document-comments",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Product/Document Comments"
},
{
"file": "ui/storybook/stories/runs-adapters/dot-runner-connection.stories.tsx",
"capabilities": [
"runs-adapters/validation",
"gateways-profiles/client-connect"
],
"purpose": "Assistant connections/Dot Runner",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/gateways-profiles.md",
"maps/feature-map/runs-adapters.md",
"ui/src/components/DotRunnerConnection.tsx",
"ui/storybook/stories/runs-adapters/dot-runner-connection.stories.tsx"
],
"fingerprint": "65219fd330a54350d2c91a485039d2a8dc6886cce3dbde64bce2b514d2bdcc95",
"stableId": "assistant-connections-dot-runner",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/Assistant connections/Dot Runner"
},
{
"file": "ui/storybook/stories/connection-setup/enterpret-connect-flow.stories.tsx",
"capabilities": [
"connection-setup/credentials",
"connection-setup/failure"
],
"purpose": "Apps/Enterpret connector",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/pages/apps/AppsConnect.tsx",
"ui/src/pages/apps/Browse.tsx",
"ui/src/pages/apps/app-detail/AdvancedPanel.tsx",
"ui/storybook/stories/connection-setup/enterpret-connect-flow.stories.tsx"
],
"fingerprint": "81be6c7c5dd054799a393b8c61c29c4190cf8a112fd9e573e0010c2cbab393c9",
"stableId": "apps-enterpret-connector",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Enterpret connector"
},
{
"file": "ui/storybook/stories/secrets/environment-variables-editor.stories.tsx",
"capabilities": [
"secrets/runtime-delivery"
],
"purpose": "Product/Environment Variables Editor",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Agent-owned instance secrets remain in trusted server runtime and are excluded from ordinary agent delivery; these UI examples do not verify that lifecycle contract.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/secrets.md",
"ui/src/components/environment-variables-editor/index.tsx",
"ui/storybook/stories/secrets/environment-variables-editor.stories.tsx"
],
"fingerprint": "e358e40a80d2d2dc92050836098375e0f9d88a3b59491d24c1a4c4b784e70c00",
"stableId": "product-environment-variables-editor",
"sidebarTitle": "Apps, channels, and extensions/Secrets and proposals/Product/Environment Variables Editor"
},
{
"file": "ui/storybook/stories/recovery/execution-blocker-notice.stories.tsx",
"capabilities": [
"recovery/diagnosis"
],
"purpose": "Task chat/Recovery notice",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Source review covers the retained-file recovery form, source-bound evidence and unchanged task status; fixture APIs do not prove live provider recovery. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"ui/src/components/ExecutionBlockerNotice.tsx",
"ui/src/components/WorkspaceFileRecovery.tsx",
"ui/storybook/stories/recovery/execution-blocker-notice.stories.tsx",
"ui/storybook/support/workspace-file-recovery/fixture.tsx"
],
"fingerprint": "cb2da1b3f76b1b644f7b11fb6f55c27950ae51ce3e590ead878d3703606588d7",
"stableId": "task-chat-recovery-notice",
"sidebarTitle": "Projects and execution/Recovery/Task chat/Recovery notice"
},
{
"file": "ui/storybook/stories/recovery/execution-recovery.stories.tsx",
"capabilities": [
"recovery/diagnosis"
],
"purpose": "Tasks/Execution recovery",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"ui/src/components/ActiveAgentsPanel.tsx",
"ui/src/components/IssueRow.tsx",
"ui/src/components/task-chat/TaskChatLiveRunPill.tsx",
"ui/src/components/task-chat/TaskChatRunnerTurn.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/recovery/execution-recovery.stories.tsx"
],
"fingerprint": "4cfa6fd775c9cf04e0586ed5a7218df3e8bb51dcaadf80b9a26a979aabf61e98",
"stableId": "tasks-execution-recovery",
"sidebarTitle": "Projects and execution/Recovery/Tasks/Execution recovery"
},
{
"file": "ui/storybook/stories/agents/external-agent-invite/components.stories.tsx",
"capabilities": [
"agents/hire",
"access/invitations"
],
"purpose": "Onboarding/External agent invitation/Components",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/access.md",
"maps/feature-map/agents.md",
"ui/src/components/new-agent/ExternalAgentInviteContent.tsx",
"ui/storybook/stories/agents/external-agent-invite/components.stories.tsx"
],
"fingerprint": "596b3f1c4e49684683cbf309dc516c5b2d14c1032f2f3c2dba44257bc25c13ef",
"stableId": "onboarding-external-agent-invitation-components",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Onboarding/External agent invitation/Components"
},
{
"file": "ui/storybook/stories/agents/external-agent-invite/journeys.stories.tsx",
"capabilities": [
"agents/hire",
"access/invitations"
],
"purpose": "Onboarding/External agent invitation/Journeys",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/access.md",
"maps/feature-map/agents.md",
"ui/src/components/AnimatedDialogContent.tsx",
"ui/src/components/Layout.tsx",
"ui/src/components/new-agent/AgentBasicsDialog.tsx",
"ui/src/components/new-agent/ExternalAgentInviteContent.tsx",
"ui/src/pages/Agents.tsx",
"ui/storybook/support/external-agent-invite/ExternalAgentInvitePreview.tsx",
"ui/storybook/support/external-agent-invite/fixtures.ts",
"ui/storybook/stories/agents/external-agent-invite/journeys.stories.tsx"
],
"fingerprint": "fcca4eb4429c48361c9f39c01fe0aa3dab983452fbe8b1cf6be0266a9ff391ad",
"stableId": "onboarding-external-agent-invitation-journeys",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Onboarding/External agent invitation/Journeys"
},
{
"file": "ui/storybook/stories/tasks/external-objects.stories.tsx",
"capabilities": [
"tasks/properties"
],
"purpose": "Foundations/External Objects",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation visibility now defaults to hiding automated independent tasks, with a show agent-created tasks control and inbox participation exceptions. Source alignment reviewed; these fixture stories do not establish live server pagination or authorization. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/tasks.md",
"ui/src/components/ExternalObjectPill.tsx",
"ui/src/components/ExternalObjectStatusIcon.tsx",
"ui/src/components/ExternalObjectStatusSummary.tsx",
"ui/src/components/IssueFiltersPopover.tsx",
"ui/src/components/IssueProperties.tsx",
"ui/src/components/IssueRelatedWorkPanel.tsx",
"ui/src/components/IssueRow.tsx",
"ui/src/components/MarkdownBody.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/tasks/external-objects.stories.tsx"
],
"fingerprint": "1a7a6fc735b582b7f0968b97d0159528834a499f6d090c0ec678a1092dc6e3ac",
"stableId": "foundations-external-objects",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/External Objects"
},
{
"file": "ui/storybook/stories/companies/fast-responses/01-settings.stories.tsx",
"capabilities": [
"companies/identity",
"budgets-costs/cost-reporting",
"companies/fast-responses"
],
"purpose": "Fast responses/01 Settings",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Production settings view with simulated callbacks. Excluded exported fixture helpers and added the onConnectionChange spy required during rendering; full save/API state parity remains unreviewed. Related fast-response examples show configuration/test receipts or invocation history with shipped subjects and simulated data. A receipt is an acknowledgement, not task completion; no paid provider or authorization proof.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/budgets-costs.md",
"maps/feature-map/companies.md",
"ui/src/components/fast-responses/FastResponseSettings.tsx",
"ui/storybook/support/decision-models/fixtures.ts",
"ui/storybook/stories/companies/fast-responses/01-settings.stories.tsx"
],
"fingerprint": "569c9d9b91872d61d0b4fe44b114d7f9c81bb8c5a5ca5b3545235cd935d8129e",
"stableId": "fast-responses-01-settings",
"sidebarTitle": "Getting started and access/Companies and portability/Fast responses/01 Settings"
},
{
"file": "ui/storybook/stories/companies/fast-responses/02-history.stories.tsx",
"capabilities": [
"companies/identity",
"budgets-costs/cost-reporting",
"companies/fast-responses"
],
"purpose": "Fast responses/02 History",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shared production DecisionHistoryTable receives fastResponse=true, matching FastResponseHistory presentation; API loading/error and feature-gate wrapper are outside this story. Related fast-response examples show configuration/test receipts or invocation history with shipped subjects and simulated data. A receipt is an acknowledgement, not task completion; no paid provider or authorization proof.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/budgets-costs.md",
"maps/feature-map/companies.md",
"ui/src/components/decision-models/DecisionHistory.tsx",
"ui/storybook/support/decision-models/fixtures.ts",
"ui/storybook/stories/companies/fast-responses/02-history.stories.tsx"
],
"fingerprint": "0be6f0579e9daf13ba3bc6500c4a5980efc09407a408498385219391a5fdd3c1",
"stableId": "fast-responses-02-history",
"sidebarTitle": "Getting started and access/Companies and portability/Fast responses/02 History"
},
{
"file": "ui/storybook/stories/documents-artifacts/file-viewer.stories.tsx",
"capabilities": [
"documents-artifacts/attachments"
],
"purpose": "Components/File Viewer Sheet",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/FileViewerSheet.tsx",
"ui/storybook/stories/documents-artifacts/file-viewer.stories.tsx"
],
"fingerprint": "8626806337c9c664e11cee4587b80e068dfd3e6259e8c8fc2d3d1648b68abf84",
"stableId": "components-file-viewer-sheet",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Components/File Viewer Sheet"
},
{
"file": "ui/storybook/stories/connection-setup/fireflies-pr.stories.tsx",
"capabilities": [
"connection-setup/credentials",
"routines/triggers"
],
"purpose": "PR reviews/Fireflies and app webhooks",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"maps/feature-map/routines.md",
"ui/src/components/Layout.tsx",
"ui/src/components/RoutineTriggerCard.tsx",
"ui/src/components/routine-sections/context.tsx",
"ui/src/components/routine-sections/editable-sections.production.tsx",
"ui/src/components/routine-triggers/TriggerWizard.tsx",
"ui/src/features/connections/ConnectionSetupFlow.tsx",
"ui/src/pages/RoutineDetail.tsx",
"ui/src/pages/Routines.tsx",
"ui/src/pages/apps/AppLogo.tsx",
"ui/src/pages/apps/Browse.tsx",
"ui/src/pages/apps/app-detail/PermissionsPanel.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/fixtures/routineWebhooks.tsx",
"ui/storybook/stories/connection-setup/fireflies-pr.stories.tsx"
],
"fingerprint": "0a85fc855275fb6dfbd89dbc9d25bed994b940af1a01d95b04d4375d843fd1dc",
"stableId": "pr-reviews-fireflies-and-app-webhooks",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/PR reviews/Fireflies and app webhooks"
},
{
"file": "ui/storybook/stories/skills/fork-skill-flow.stories.tsx",
"capabilities": [
"skills/authoring"
],
"purpose": "Skill Studio/EditACopy",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/skills.md",
"ui/src/components/skill-studio/AgentsUsingSkillDialog.tsx",
"ui/src/components/skill-studio/ForkSkillDialog.tsx",
"ui/src/components/skill-studio/SkillProvenance.tsx",
"ui/storybook/stories/skills/fork-skill-flow.stories.tsx"
],
"fingerprint": "7cd95e52a451f78371dc2c5793679c14b28f1fb486dcb2ed5f8b1f4e041267a8",
"stableId": "skill-studio-editacopy",
"sidebarTitle": "Agents and reusable capabilities/Skills and Skill Studio/Skill Studio/EditACopy"
},
{
"file": "ui/storybook/stories/foundations/forms-editors.stories.tsx",
"capabilities": [
"developer-labs/design"
],
"purpose": "Components/Forms & Editors",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Related design reference: demonstrates shared production controls and visual states in an isolated contributor fixture; retains its Foundations home. No product-journey or baseline comparison claim.",
"reviewedAt": "2026-10-13",
"sources": [
"ui/src/components/ExecutionParticipantPicker.tsx",
"ui/src/components/FoldCurtain.tsx",
"ui/src/components/InlineEditor.tsx",
"ui/src/components/InlineEntitySelector.tsx",
"ui/src/components/JsonSchemaForm.tsx",
"ui/src/components/MarkdownBody.tsx",
"ui/src/components/MarkdownEditor.tsx",
"ui/src/components/ReportsToPicker.tsx",
"ui/src/components/RoutineRunVariablesDialog.tsx",
"ui/src/components/RoutineVariablesEditor.tsx",
"ui/src/components/ScheduleEditor.tsx",
"ui/src/components/environment-variables-editor/index.tsx",
"ui/src/components/ui/badge.tsx",
"ui/src/components/ui/button.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/foundations/forms-editors.stories.tsx",
"maps/feature-map/developer-labs.md"
],
"exception": "Shared foundations or contributor guide; no single business capability owns this suite.",
"fingerprint": "28920ad31b69171ba62c0fd1f5b7f1581d527ede597acd6b445c5f8e773c2f64",
"stableId": "components-forms-editors",
"sidebarTitle": "Foundations/Components/Forms & Editors",
"home": "foundations"
},
{
"file": "ui/storybook/stories/foundations/foundations.stories.tsx",
"capabilities": [
"developer-labs/design"
],
"purpose": "Foundations/Primitive Matrix",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Related design reference: demonstrates shared production controls and visual states in an isolated contributor fixture; retains its Foundations home. No product-journey or baseline comparison claim.",
"reviewedAt": "2026-10-13",
"sources": [
"ui/src/components/ui/badge.tsx",
"ui/src/components/ui/button.tsx",
"ui/src/components/ui/card.tsx",
"ui/src/components/ui/checkbox.tsx",
"ui/src/components/ui/dialog.tsx",
"ui/src/components/ui/input.tsx",
"ui/src/components/ui/label.tsx",
"ui/src/components/ui/popover.tsx",
"ui/src/components/ui/select.tsx",
"ui/src/components/ui/separator.tsx",
"ui/src/components/ui/tabs.tsx",
"ui/src/components/ui/textarea.tsx",
"ui/src/components/ui/toggle-switch.tsx",
"ui/src/components/ui/tooltip.tsx",
"ui/storybook/stories/foundations/foundations.stories.tsx",
"maps/feature-map/developer-labs.md"
],
"exception": "Shared foundations or contributor guide; no single business capability owns this suite.",
"fingerprint": "59d7a5410b79c4825e561dc3286e6138f97fe6fa89a30ccced2c980cf8fc4fe3",
"stableId": "foundations-primitive-matrix",
"sidebarTitle": "Foundations/Primitive Matrix",
"home": "foundations"
},
{
"file": "ui/storybook/stories/skills/frontmatter-panel.stories.tsx",
"capabilities": [
"skills/authoring"
],
"purpose": "Product/Skill Studio · FrontmatterPanel",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/skills.md",
"ui/src/components/FrontmatterPanel.tsx",
"ui/storybook/stories/skills/frontmatter-panel.stories.tsx"
],
"fingerprint": "e7b2ffabdadc43d7fa2f564465792539d25f15da54fb4f7fec31cc4a2f0aec76",
"stableId": "product-skill-studio-·-frontmatterpanel",
"sidebarTitle": "Agents and reusable capabilities/Skills and Skill Studio/Product/Skill Studio · FrontmatterPanel"
},
{
"file": "ui/storybook/stories/gateways-profiles/gateways-tab.stories.tsx",
"capabilities": [
"gateways-profiles/gateway"
],
"purpose": "Tools/Gateways (PAP-11182)",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/gateways-profiles.md",
"ui/src/pages/tools/GatewaysTab.tsx",
"ui/storybook/stories/gateways-profiles/gateways-tab.stories.tsx"
],
"fingerprint": "c4e0e6770f0ed5d6cad1805717b38b9ab6a96e1c885a2013af979556dd45e8ae",
"stableId": "tools-gateways-pap-11182",
"sidebarTitle": "Apps, channels, and extensions/Tool gateways and access profiles/Tools/Gateways (PAP-11182)"
},
{
"file": "ui/storybook/stories/chat-channels/github-bot-management/management.stories.tsx",
"capabilities": [
"chat-channels/providers",
"chat-channels/conversation"
],
"purpose": "Connectors/GitHub bot management",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation: mounted repository and endpoint editors use simulated defaults. Endpoint PATCH now persists omitted/null/concrete values across GET and resets on remount; repository PUT already preserves them. Choice caches intentionally contain no projects/workspaces. Browser editor interactions, access denials and new-task inheritance remain unverified. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Inspected channel task-default controls, optional API fields, avatar rendering and matching fixture updates; live defaults inheritance and permission checks remain outside these stories.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"ui/src/api/chatEndpoints.ts",
"ui/src/api/execution-workspaces.ts",
"ui/src/api/projects.ts",
"ui/src/components/Layout.tsx",
"ui/src/components/OnboardingWizard.tsx",
"ui/src/pages/apps/chat/ChatConversationList.tsx",
"ui/src/pages/apps/chat/ChatEndpointDetail.tsx",
"ui/src/pages/apps/chat/ChatExecutionDefaults.tsx",
"ui/src/pages/apps/chat/GitHubAppIdentity.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/GitHubConnectionComplete.tsx",
"ui/storybook/fixtures/onboardingDraft.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/chat-channels/github-bot-management/management.stories.tsx",
"ui/storybook/support/github-bot-management/fixture-api.tsx",
"ui/storybook/support/github-bot-management/fixtures.ts"
],
"fingerprint": "bc53bda552a9a7f4835d2c78ec0dc66492b5804db227b9adce191f4d6dc27c53",
"stableId": "connectors-github-bot-management",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connectors/GitHub bot management"
},
{
"file": "ui/storybook/stories/chat-channels/github-chat.stories.tsx",
"capabilities": [
"chat-channels/providers",
"chat-channels/conversation"
],
"purpose": "Historical/GitHub chat prototypes",
"status": "historical",
"implementation": "prototype",
"boundary": "fixtures",
"notes": "Historical wizard retained for original setup/access/review design; current GitHub setup is ui/src/pages/apps/chat/GitHubChatSetup.tsx. Task-workspace reconciliation reviewed the added connection/destination-default recipe; these unchanged setup, identity or conversation examples do not establish default selection or new-task inheritance.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"ui/src/components/GitHubAgentTrustWarning.tsx",
"ui/src/components/SetupWizard.tsx",
"ui/src/pages/apps/chat/GitHubSetupPrompt.tsx",
"ui/storybook/prototypes/github-chat/AccessEditor.tsx",
"ui/storybook/prototypes/github-chat/GitHubChatPreview.tsx",
"ui/storybook/prototypes/github-chat/fixtures.ts",
"ui/storybook/stories/chat-channels/github-chat.stories.tsx"
],
"replacement": "ui/storybook/stories/chat-channels/github-connections.stories.tsx",
"fingerprint": "efb2ea9851242dfd79874e3a3c9bc46b17b7728e2b10f6b2127a2437638f0499",
"stableId": "historical-github-chat-prototypes",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Historical/GitHub chat prototypes"
},
{
"file": "ui/storybook/stories/chat-channels/github-connections.stories.tsx",
"capabilities": [
"chat-channels/providers",
"connection-setup/channel-setup"
],
"purpose": "Connections/GitHub and Code Review Bot",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the added connection/destination-default recipe; these unchanged setup, identity or conversation examples do not establish default selection or new-task inheritance. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"maps/feature-map/connection-setup.md",
"ui/src/components/SetupWizard.tsx",
"ui/src/pages/apps/AppsConnect.tsx",
"ui/src/pages/apps/Browse.tsx",
"ui/src/pages/apps/chat/ChatEndpointSetup.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/chat-channels/github-connections.stories.tsx"
],
"fingerprint": "e59cc39bf1cf6db5359c94a30c7b64e3b8cb175b576295f16d541850929abce9",
"stableId": "connections-github-and-code-review-bot",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/GitHub and Code Review Bot"
},
{
"file": "ui/storybook/stories/skills/github-skills-journey.stories.tsx",
"capabilities": [
"skills/versions",
"skills/discovery",
"skills/policy"
],
"purpose": "Skills/GitHub sync journey",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. AssignToAgent and AssignedSkill demonstrate library/detail assignment with local policy fixtures. No runtime enforcement or backend persistence proof.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/skills.md",
"ui/src/components/Layout.tsx",
"ui/src/pages/CompanySkills.tsx",
"ui/src/pages/SkillSources.tsx",
"ui/src/pages/SkillStudio.tsx",
"ui/storybook/fixtures/githubSkillSources.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/skills/github-skills-journey.stories.tsx"
],
"fingerprint": "04b12de08d13813c1332d46f9bed8164f329aaf73ea0c57cbf83ecb6d3a4c6b1",
"stableId": "skills-github-sync-journey",
"sidebarTitle": "Agents and reusable capabilities/Skills and Skill Studio/Skills/GitHub sync journey"
},
{
"file": "ui/storybook/stories/skills/github-synced-skills.stories.tsx",
"capabilities": [
"skills/versions",
"skills/discovery"
],
"purpose": "Skills/GitHub synced skills",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Production Sources page with fixture APIs. Disconnect and legacy removal stories show a required keep-or-delete choice; the real copy, delete, and reimport flows were also tested locally. Other routes remain unreviewed.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/skills.md",
"ui/src/pages/SkillSources.tsx",
"ui/storybook/fixtures/githubSkillSources.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/skills/github-synced-skills.stories.tsx"
],
"fingerprint": "c14509e4b57e7587f560824f417c8439dbb6bc3d303d37dec169ab819c867d36",
"stableId": "skills-github-synced-skills",
"sidebarTitle": "Agents and reusable capabilities/Skills and Skill Studio/Skills/GitHub synced skills"
},
{
"file": "ui/storybook/stories/documents-artifacts/html-artifacts/01-preview.stories.tsx",
"capabilities": [
"documents-artifacts/attachments",
"workspaces/files-git"
],
"purpose": "HTML artifacts/01 Preview",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the expanded workspace recipe; these examples do not establish durable task-folder continuity, repository authorization or sandbox admission. The workspace recipe now requires child boundary, safe reopen and checkpoint ancestry controls; these backend checks are not established by this fixture. The provisioning recipe requires controller script denial for remote selections and copy-only local source choices, including retained denial through metadata changes and reopening; these fixtures do not verify execution placement. Canonical default provisioning follows configured policy, primary, creation time and ID; these fixtures do not run source hooks or establish this backend precedence.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/documents-artifacts.md",
"maps/feature-map/workspaces.md",
"ui/src/components/task-side-panel/TaskAttachmentPanel.tsx",
"ui/storybook/stories/documents-artifacts/html-artifacts/01-preview.stories.tsx",
"ui/storybook/support/html-artifacts/fixtures.ts"
],
"fingerprint": "9f96f1e4abf214d663906e05b0a8ce231f06217fc5f022415a84df33c1d0ac96",
"stableId": "html-artifacts-01-preview",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/HTML artifacts/01 Preview"
},
{
"file": "ui/storybook/stories/documents-artifacts/html-artifacts/02-workspace.stories.tsx",
"capabilities": [
"documents-artifacts/attachments",
"workspaces/files-git"
],
"purpose": "HTML artifacts/02 Workspace",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the expanded workspace recipe; these examples do not establish durable task-folder continuity, repository authorization or sandbox admission. The workspace recipe now requires child boundary, safe reopen and checkpoint ancestry controls; these backend checks are not established by this fixture. The provisioning recipe requires controller script denial for remote selections and copy-only local source choices, including retained denial through metadata changes and reopening; these fixtures do not verify execution placement. Canonical default provisioning follows configured policy, primary, creation time and ID; these fixtures do not run source hooks or establish this backend precedence.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/documents-artifacts.md",
"maps/feature-map/workspaces.md",
"ui/src/components/FileViewerSheet.tsx",
"ui/src/components/task-side-panel/TaskWorkspaceFilePanel.tsx",
"ui/storybook/stories/documents-artifacts/html-artifacts/02-workspace.stories.tsx",
"ui/storybook/support/html-artifacts/fixtures.ts"
],
"fingerprint": "47c33fce5f296031d43f31d7f099abcef40393cfe51e565db542b7e8230a00a3",
"stableId": "html-artifacts-02-workspace",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/HTML artifacts/02 Workspace"
},
{
"file": "ui/storybook/stories/documents-artifacts/html-artifacts/03-task-journey.stories.tsx",
"capabilities": [
"documents-artifacts/attachments",
"workspaces/files-git"
],
"purpose": "HTML artifacts/03 Task journey",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the expanded workspace recipe; these examples do not establish durable task-folder continuity, repository authorization or sandbox admission. The workspace recipe now requires child boundary, safe reopen and checkpoint ancestry controls; these backend checks are not established by this fixture. The provisioning recipe requires controller script denial for remote selections and copy-only local source choices, including retained denial through metadata changes and reopening; these fixtures do not verify execution placement. Canonical default provisioning follows configured policy, primary, creation time and ID; these fixtures do not run source hooks or establish this backend precedence.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/documents-artifacts.md",
"maps/feature-map/workspaces.md",
"ui/src/components/Layout.tsx",
"ui/src/components/artifacts/IssueArtifactCard.tsx",
"ui/src/components/task-chat/TaskChatBubble.tsx",
"ui/src/components/task-side-panel/TaskSidePanel.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/documents-artifacts/html-artifacts/03-task-journey.stories.tsx",
"ui/storybook/support/html-artifacts/fixtures.ts"
],
"fingerprint": "470396b938981d10ddc74d03cec0808aaa1fb305dcdeb8056b308c2752f7cea7",
"stableId": "html-artifacts-03-task-journey",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/HTML artifacts/03 Task journey"
},
{
"file": "ui/storybook/stories/chat-channels/imessage-photon.stories.tsx",
"capabilities": [
"chat-channels/conversation",
"chat-channels/providers",
"chat-channels/identity",
"chat-channels/lifecycle",
"connection-setup/channel-setup",
"connection-setup/failure"
],
"purpose": "Connections/iMessage Photon",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the endpoint editor addition; this suite selects setup/access and locally simulated conversation states. Endpoint PATCH retains fields, but settings workspace-choice requests and default selection are not covered by these scenarios. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Inspected channel task-default controls, optional API fields, avatar rendering and matching fixture updates; live defaults inheritance and permission checks remain outside these stories. Catalog, ChooseAgent, Credentials, Access, Reconnect and ProviderOutageRecovery render shipped setup/detail states with simulated provider data. No live iMessage connection, delivery or recovery claim. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"ui/src/api/chatEndpoints.ts",
"ui/src/api/execution-workspaces.ts",
"ui/src/api/projects.ts",
"ui/src/components/task-chat/TaskChatBubble.tsx",
"ui/src/components/task-chat/task-chat-model.ts",
"ui/src/pages/apps/Browse.tsx",
"ui/src/pages/apps/chat/ChatEndpointDetail.tsx",
"ui/src/pages/apps/chat/ChatEndpointSetup.tsx",
"ui/src/pages/apps/chat/ChatExecutionDefaults.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/chat-channels/imessage-photon.stories.tsx",
"maps/feature-map/connection-setup.md"
],
"fingerprint": "0bde3836db1263b123716adacf6873f4acda21680527cc5d172a262d5706db33",
"stableId": "connections-imessage-photon",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/iMessage Photon"
},
{
"file": "ui/storybook/stories/connection-setup/in-feed-connections.stories.tsx",
"capabilities": [
"connection-setup/task-request"
],
"purpose": "Connections/In-task connections",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/components/task-chat/TaskChatComposer.tsx",
"ui/src/components/task-chat/TaskChatInteractionCard.tsx",
"ui/src/features/connections/ConnectionIntentInteractionBody.tsx",
"ui/src/features/connections/ConnectionSetupFlow.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/connection-setup/in-feed-connections.stories.tsx"
],
"fingerprint": "0f7d921de69bc5e5164123985848a1a58bc2c860ebe085e70c300d36cc02a018",
"stableId": "connections-in-task-connections",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Connections/In-task connections"
},
{
"file": "ui/storybook/stories/steering/interrupt-handoff.stories.tsx",
"capabilities": [
"steering/interrupt"
],
"purpose": "Surfaces/Interrupt Handoff",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/steering.md",
"ui/src/components/interrupt-handoff/InterruptHandoffViews.tsx",
"ui/storybook/stories/steering/interrupt-handoff.stories.tsx"
],
"fingerprint": "dbfb5b79928aefbc232eb6abbb17325aa6e5e0002c32bda062b529d2f486faab",
"stableId": "surfaces-interrupt-handoff",
"sidebarTitle": "Tasks and conversations/Steering and queued messages/Surfaces/Interrupt Handoff"
},
{
"file": "ui/storybook/stories/recovery/issue-blocked-notice.stories.tsx",
"capabilities": [
"recovery/diagnosis",
"task-coordination/dependencies"
],
"purpose": "Product/Issue/Blocked notice",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"maps/feature-map/task-coordination.md",
"ui/src/components/IssueBlockedNotice.tsx",
"ui/src/components/task-chat/TaskChatBlockerLinks.tsx",
"ui/storybook/stories/recovery/issue-blocked-notice.stories.tsx"
],
"fingerprint": "90f1eae150c50bd1a428ce322a8d65ceec8b24b6addc8b3b4ea5e90231bc1a2c",
"stableId": "product-issue-blocked-notice",
"sidebarTitle": "Projects and execution/Recovery/Product/Issue/Blocked notice"
},
{
"file": "ui/storybook/stories/tasks/issue-management.stories.tsx",
"capabilities": [
"tasks/properties",
"tasks/organize"
],
"purpose": "Product/Issue Management",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation visibility now defaults to hiding automated independent tasks, with a show agent-created tasks control and inbox participation exceptions. Source alignment reviewed; these fixture stories do not establish live server pagination or authorization. Focused creation-visibility stories mount the production collection with simulated hierarchy reads and assert hidden roots, opt-in inclusion, and the unchecked filter control. Creation visibility examples and fixture setup now live in a support module so the surface matrix stays below 1000 lines; exported story IDs are unchanged. Creation visibility now shares the subscribed preference across modern and legacy controls; hierarchy child reads share a bounded rendering budget. Source alignment inspected; server behavior is tested separately. Hierarchy fetch and rendering budgets are separate; loaded context remains during paging. The large-tree UI regression exercises delayed reads in both list interfaces. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/tasks.md",
"ui/src/components/Identity.tsx",
"ui/src/components/IssueColumns.tsx",
"ui/src/components/IssueContinuationHandoff.tsx",
"ui/src/components/IssueDocumentsSection.tsx",
"ui/src/components/IssueFiltersPopover.tsx",
"ui/src/components/IssueGroupHeader.tsx",
"ui/src/components/IssueLinkQuicklook.tsx",
"ui/src/components/IssueProperties.tsx",
"ui/src/components/IssueRunLedger.tsx",
"ui/src/components/IssueWorkspaceCard.tsx",
"ui/src/components/IssuesList.tsx",
"ui/src/components/IssuesQuicklook.tsx",
"ui/src/components/PriorityIcon.tsx",
"ui/src/components/StatusBadge.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/tasks/issue-management.stories.tsx",
"ui/storybook/support/issue-creation-visibility.tsx"
],
"fingerprint": "554a97d096cb27b9418fa2dc5a3bc0cb853e8bafa128ef9abd7cf1c3df3a6bd5",
"stableId": "product-issue-management",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Product/Issue Management"
},
{
"file": "ui/storybook/stories/questions-and-approvals/issue-plan-decompositions.stories.tsx",
"capabilities": [
"questions-and-approvals/plan-review",
"task-coordination/delegation"
],
"purpose": "Issue Detail/Plan Decompositions",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/questions-and-approvals.md",
"maps/feature-map/task-coordination.md",
"ui/src/components/IssuePlanDecompositionsSection.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/questions-and-approvals/issue-plan-decompositions.stories.tsx"
],
"fingerprint": "b2a44ee40bf7e673563ad6e164e3476306782a9ea74e132fa5330eb78acb82e0",
"stableId": "issue-detail-plan-decompositions",
"sidebarTitle": "Tasks and conversations/Questions and approvals/Issue Detail/Plan Decompositions"
},
{
"file": "ui/storybook/stories/task-coordination/issue-review-panel.stories.tsx",
"capabilities": [
"task-coordination/signoff"
],
"purpose": "Product/Decisions/Stalled review actions",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/task-coordination.md",
"ui/src/components/AttentionQueueRow.tsx",
"ui/storybook/stories/task-coordination/issue-review-panel.stories.tsx"
],
"fingerprint": "3c5317b38030ea75a8d57284af6d3ca2f0258dce52c694adc7b36fd41f6f875f",
"stableId": "product-decisions-stalled-review-actions",
"sidebarTitle": "Tasks and conversations/Delegation, dependencies, and signoff/Product/Decisions/Stalled review actions"
},
{
"file": "ui/storybook/stories/questions-and-approvals/issue-thread-interactions.stories.tsx",
"capabilities": [
"questions-and-approvals/questions",
"questions-and-approvals/confirmations",
"questions-and-approvals/audience",
"questions-and-approvals/plan-review",
"questions-and-approvals/continuation"
],
"purpose": "Chat & Comments/Issue Thread Interactions",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Plan approval Pending, Confirmed, ExpiredByTargetChange and ResumeFailed states use shipped interaction cards. The continuation association covers accepted-but-resume-failed presentation only; no successful resumption, retry or duplicate-suppression proof.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/questions-and-approvals.md",
"ui/src/components/IssueChatThread.tsx",
"ui/src/components/IssueThreadInteractionCard.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/questions-and-approvals/issue-thread-interactions.stories.tsx"
],
"fingerprint": "c36c3843d115a3dda4aded27d0ed2098105b18568b66e054f77088beca9a6e3c",
"stableId": "chat-comments-issue-thread-interactions",
"sidebarTitle": "Tasks and conversations/Questions and approvals/Chat & Comments/Issue Thread Interactions"
},
{
"file": "ui/storybook/stories/runs-adapters/local-ai-subscription.stories.tsx",
"capabilities": [
"runs-adapters/validation"
],
"purpose": "AI Connections/Provider routing/07 Subscription sign-in",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/runs-adapters.md",
"ui/src/components/AdapterLoginChrome.tsx",
"ui/storybook/stories/runs-adapters/local-ai-subscription.stories.tsx"
],
"fingerprint": "7ec5fe9129699ed14dd55c4e3849c602100a1a934bad44b6fd6d31af4e8a0458",
"stableId": "ai-connections-provider-routing-07-subscription-sign-in",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Provider routing/07 Subscription sign-in"
},
{
"file": "ui/storybook/stories/connection-setup/managed-cloud-oauth-handoff.stories.tsx",
"capabilities": [
"connection-setup/handoff"
],
"purpose": "Apps/Managed Cloud OAuth handoff",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/pages/apps/PaperclipCloudOAuthHandoff.tsx",
"ui/storybook/stories/connection-setup/managed-cloud-oauth-handoff.stories.tsx"
],
"fingerprint": "3dfb21c9edeec6693db673e59fd0963597858d010c4eb1de35dc47535780d0c1",
"stableId": "apps-managed-cloud-oauth-handoff",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Managed Cloud OAuth handoff"
},
{
"file": "ui/storybook/stories/connection-setup/memory-connectors.stories.tsx",
"capabilities": [
"connection-setup/credentials",
"agents/instructions"
],
"purpose": "Apps/Connections/Memory",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agents.md",
"maps/feature-map/connection-setup.md",
"ui/src/features/connections/ConnectionSetupFlow.tsx",
"ui/src/pages/InstanceExperimentalSettings.tsx",
"ui/src/pages/apps/Browse.tsx",
"ui/storybook/stories/connection-setup/memory-connectors.stories.tsx"
],
"fingerprint": "cc6f6d6a84e516e87c3c7d4d2c4303e693b92ea5117958bf4f9db96ac0f5a993",
"stableId": "apps-connections-memory",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connections/Memory"
},
{
"file": "ui/storybook/stories/tasks/mobile-entity-pickers.stories.tsx",
"capabilities": [
"tasks/create"
],
"purpose": "Components/Entity pickers/Mobile",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/tasks.md",
"ui/src/components/InlineEntitySelector.tsx",
"ui/src/components/SearchableSelect.tsx",
"ui/storybook/stories/tasks/mobile-entity-pickers.stories.tsx"
],
"fingerprint": "249524a570189f2b01ef83136346a0d1ee099e233e357aa92ffaecd52a376b32",
"stableId": "components-entity-pickers-mobile",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Components/Entity pickers/Mobile"
},
{
"file": "ui/storybook/stories/navigation-preferences/mobile-task-tabs.stories.tsx",
"capabilities": [
"navigation-preferences/navigation"
],
"purpose": "Prototypes/Task detail/Mobile tabs",
"status": "proposed",
"implementation": "prototype",
"boundary": "fixtures",
"notes": "Local composition retained for its original design purpose; full production parity remains unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/navigation-preferences.md",
"ui/src/components/side-panel/index.ts",
"ui/storybook/stories/navigation-preferences/mobile-task-tabs.stories.tsx"
],
"fingerprint": "f4ca5d157e5d943470084559cd557a95f80e3d20348e972bb3fa8df93d339bf6",
"stableId": "prototypes-task-detail-mobile-tabs",
"sidebarTitle": "Oversight and operation/Navigation, profile, and announcements/Prototypes/Task detail/Mobile tabs"
},
{
"file": "ui/storybook/stories/recovery/model-capacity-retry.stories.tsx",
"capabilities": [
"recovery/bounded-continuation"
],
"purpose": "Tasks/Model capacity retry",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"ui/src/components/IssueScheduledRetryCard.tsx",
"ui/storybook/stories/recovery/model-capacity-retry.stories.tsx"
],
"fingerprint": "cc935eea1a2ffc27882364655db860c441c4dc059be3d4886a4bd7d3839752bf",
"stableId": "tasks-model-capacity-retry",
"sidebarTitle": "Projects and execution/Recovery/Tasks/Model capacity retry"
},
{
"file": "ui/storybook/stories/task-coordination/monitor-surfaces.stories.tsx",
"capabilities": [
"task-coordination/tree-control"
],
"purpose": "Product/Issue Monitor surfaces",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/task-coordination.md",
"ui/src/components/IssueMonitorBanner.tsx",
"ui/src/components/IssueProperties.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/task-coordination/monitor-surfaces.stories.tsx"
],
"fingerprint": "2a9a823ce7e27a2e49d80bafc21394af1d34a396d53299b89e0d0c7fe4ae60f6",
"stableId": "product-issue-monitor-surfaces",
"sidebarTitle": "Tasks and conversations/Delegation, dependencies, and signoff/Product/Issue Monitor surfaces"
},
{
"file": "ui/storybook/stories/navigation-preferences/navigation-layout.stories.tsx",
"capabilities": [
"navigation-preferences/navigation"
],
"purpose": "Product/Navigation & Layout",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/navigation-preferences.md",
"ui/src/components/BreadcrumbBar.tsx",
"ui/src/components/CommandPalette.tsx",
"ui/src/components/CompanySwitcher.tsx",
"ui/src/components/KeyboardShortcutsCheatsheet.tsx",
"ui/src/components/MobileBottomNav.tsx",
"ui/src/components/PageTabBar.tsx",
"ui/src/components/Sidebar.tsx",
"ui/src/components/SidebarAccountMenu.tsx",
"ui/src/components/SidebarCompanyMenu.tsx",
"ui/src/components/StatusBadge.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/navigation-preferences/navigation-layout.stories.tsx"
],
"fingerprint": "80b5d40676ba4a9e37936b8481dd282e1e468c6e7b256cc8687a0a712e4d3dfe",
"stableId": "product-navigation-layout",
"sidebarTitle": "Oversight and operation/Navigation, profile, and announcements/Product/Navigation & Layout"
},
{
"file": "ui/storybook/stories/agents/new-agent-onboarding.stories.tsx",
"capabilities": [
"agents/hire"
],
"purpose": "Onboarding/New agent",
"status": "historical",
"implementation": "prototype",
"boundary": "fixtures",
"notes": "Retained local wizard predates production ui/src/components/new-agent flow; shared fields do not make the wizard current.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/agents.md",
"ui/src/components/AdapterLoginChrome.tsx",
"ui/src/components/AgentConfigForm.tsx",
"ui/src/components/NewIssueDialog.tsx",
"ui/src/components/RuntimeTestCard.tsx",
"ui/src/components/agent-config-primitives.tsx",
"ui/src/components/new-agent/AgentBasicsDialog.tsx",
"ui/src/components/onboarding/CredentialModeLink.tsx",
"ui/src/components/onboarding/FooterNav.tsx",
"ui/src/components/onboarding/ModelSourceTiles.tsx",
"ui/src/components/onboarding/OnboardingPrimitives.tsx",
"ui/src/components/onboarding/PillGuy.tsx",
"ui/src/components/onboarding/onboarding-motion.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/prototypes/NewAgentWizard.tsx",
"ui/storybook/prototypes/ProviderConnectionPreview.tsx",
"ui/storybook/prototypes/RuntimeTestCard.tsx",
"ui/storybook/prototypes/new-agent-fixtures.ts",
"ui/storybook/stories/agents/new-agent-onboarding.stories.tsx"
],
"replacement": "ui/storybook/stories/agents/agent-persona-pages.stories.tsx",
"fingerprint": "b79b3193788385fef0e26daaf1cf30f48e77ca2f224a70141a64c0feced97aea",
"stableId": "onboarding-new-agent",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Onboarding/New agent"
},
{
"file": "ui/storybook/stories/projects/new-project-repos.stories.tsx",
"capabilities": [
"projects/repositories"
],
"purpose": "Proposals/Project repos/New project",
"status": "proposed",
"implementation": "mixed",
"boundary": "fixtures",
"notes": "RepositoryEditor is shipped, but NewProjectPrototype composes its own creation flow. Preserve proposal until route parity is checked.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/projects.md",
"ui/src/components/RepositoryEditor.tsx",
"ui/src/components/SearchableSelect.tsx",
"ui/src/components/icons/github-icon.tsx",
"ui/src/features/connections/ConnectionSetupFlow.tsx",
"ui/storybook/prototypes/project-repos/ProjectReposPrototype.tsx",
"ui/storybook/prototypes/project-repos/fixtures.ts",
"ui/storybook/stories/projects/new-project-repos.stories.tsx"
],
"fingerprint": "bf8bd88964cbf20a95449a10485d2aaf074cfe3f88456144332b193c2920be4b",
"stableId": "proposals-project-repos-new-project",
"sidebarTitle": "Projects and execution/Projects and repositories/Proposals/Project repos/New project"
},
{
"file": "ui/storybook/stories/tasks/new-task-composer.stories.tsx",
"capabilities": [
"tasks/create",
"workspaces/binding"
],
"purpose": "Composer/New task",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. WorktreePicker, ReuseWorktree, CreateWithReusedWorktree and NewWorktreeAfterReuse exercise workspace selection and submitted fixture request values. Actual admission/binding and execution remain outside this story. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/tasks.md",
"ui/src/components/MarkdownBody.tsx",
"ui/src/components/NewIssueDialog.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/tasks/new-task-composer.stories.tsx",
"maps/feature-map/workspaces.md"
],
"fingerprint": "db3b18dcf012cfd2174900456dd8f8189b2f0b4287d84fbb62562bb0325a0001",
"stableId": "composer-new-task",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Composer/New task"
},
{
"file": "ui/storybook/stories/connection-setup/notion-connect-flow.stories.tsx",
"capabilities": [
"connection-setup/credentials",
"connection-setup/failure"
],
"purpose": "Apps/Notion MCP connect flow (PAP-16650)",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/pages/apps/AppLogo.tsx",
"ui/src/pages/apps/AppsConnect.tsx",
"ui/src/pages/apps/Browse.tsx",
"ui/src/pages/apps/app-detail/AdvancedPanel.tsx",
"ui/src/pages/apps/app-detail/IdentitiesSection.tsx",
"ui/src/pages/apps/app-detail/SetupPanel.tsx",
"ui/storybook/stories/connection-setup/notion-connect-flow.stories.tsx"
],
"fingerprint": "7dc85c9cf9f5a37268aa1bca783d1c68d5cef474838ee79b4f1d2b293a7765d2",
"stableId": "apps-notion-mcp-connect-flow-pap-16650",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Notion MCP connect flow (PAP-16650)"
},
{
"file": "ui/storybook/stories/onboarding/onboarding-agent-arc.stories.tsx",
"capabilities": [
"onboarding/adapter",
"onboarding/first-task"
],
"purpose": "Onboarding/Agent arc",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/onboarding.md",
"ui/src/components/OnboardingWizard.tsx",
"ui/src/components/onboarding/PillGuy.tsx",
"ui/src/components/onboarding/Stepper.tsx",
"ui/storybook/fixtures/onboardingDraft.ts",
"ui/storybook/fixtures/onboardingEnvironment.ts",
"ui/storybook/stories/onboarding/onboarding-agent-arc.stories.tsx"
],
"fingerprint": "b963de5ca45df1b937323d98f79221755215038490df854191b8ece8e7c6e174",
"stableId": "onboarding-agent-arc",
"sidebarTitle": "Getting started and access/Onboarding and first work/Onboarding/Agent arc"
},
{
"file": "ui/storybook/stories/onboarding/onboarding-character.stories.tsx",
"capabilities": [
"onboarding/company"
],
"purpose": "Onboarding/Character",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/onboarding.md",
"ui/src/components/onboarding/OnboardingCharacter.tsx",
"ui/src/components/ui/button.tsx",
"ui/storybook/stories/onboarding/onboarding-character.stories.tsx"
],
"fingerprint": "a5dcbade2bfe0d1ac11473ae8ee14112a22fd2d51bc9bf3a86c9a979da396b91",
"stableId": "onboarding-character",
"sidebarTitle": "Getting started and access/Onboarding and first work/Onboarding/Character"
},
{
"file": "ui/storybook/stories/onboarding/onboarding-connect-model.stories.tsx",
"capabilities": [
"onboarding/adapter",
"onboarding/first-task"
],
"purpose": "Onboarding/Connect a model",
"status": "historical",
"implementation": "prototype",
"boundary": "fixtures",
"notes": "Older tile/mode preview; onboarding-agent-arc mounts the production wizard.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/onboarding.md",
"ui/src/components/onboarding/ConnectModelPreview.tsx",
"ui/storybook/stories/onboarding/onboarding-connect-model.stories.tsx"
],
"replacement": "ui/storybook/stories/onboarding/onboarding-agent-arc.stories.tsx",
"fingerprint": "d25e90d99be339dd918c5b0ca388683be54feae4750e4f358b675c359b75be77",
"stableId": "onboarding-connect-a-model",
"sidebarTitle": "Getting started and access/Onboarding and first work/Onboarding/Connect a model"
},
{
"file": "ui/storybook/stories/task-coordination/originating-tasks.stories.tsx",
"capabilities": [
"task-coordination/delegation",
"projects/task-context"
],
"purpose": "UX Labs/Tasks Created From a Task",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Creation visibility now defaults to hiding automated independent tasks, with a Show agent-created tasks control and inbox participation exceptions. Source alignment reviewed; these fixture stories do not establish live server pagination or authorization. Source review covers the retained-file recovery form, source-bound evidence and unchanged task status; fixture APIs do not prove live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/projects.md",
"maps/feature-map/task-coordination.md",
"ui/src/components/Layout.tsx",
"ui/src/components/task-detail/TaskDetailTasksPanel.tsx",
"ui/src/pages/IssueDetail.tsx",
"ui/src/pages/ProjectDetail.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/prototypes/originating-tasks/OriginatingTasks.tsx",
"ui/storybook/stories/task-coordination/originating-tasks.stories.tsx"
],
"fingerprint": "16042f0e39379552a00b618f7dda6eea0e5227e4a90e21fbea8fe35c1ecb820f",
"stableId": "ux-labs-tasks-created-from-a-task",
"sidebarTitle": "Tasks and conversations/Delegation, dependencies, and signoff/UX Labs/Tasks Created From a Task"
},
{
"file": "ui/storybook/stories/overview/overview.stories.tsx",
"capabilities": [],
"purpose": "Overview/Storybook Guide",
"status": "unreviewed",
"implementation": "guide",
"boundary": "static",
"notes": "Matches the upstream feature index and order, including features with no cataloged examples. Related suite links and classifications do not imply execution coverage. The generated upstream feature index was reconciled; example scope and classifications are retained. Reviewed the regenerated liveness capability description against the feature recipe; the guide remains a static index and does not prove live readiness.",
"reviewedAt": "2026-10-13",
"sources": [
"ui/src/components/ui/badge.tsx",
"ui/src/components/ui/input.tsx",
"ui/storybook/stories/overview/overview.stories.tsx",
"ui/storybook/support/feature-map/FeatureOverview.tsx",
"ui/storybook/generated/feature-index.json"
],
"exception": "Shared foundations or contributor guide; no single business capability owns this suite.",
"fingerprint": "71c2ea943674edd2e8692f33040e301fbd0a25391db4ea01b42ee165ad34eaba",
"stableId": "overview-storybook-guide",
"sidebarTitle": "Overview/Storybook Guide"
},
{
"file": "ui/storybook/stories/steering/paused-composer.stories.tsx",
"capabilities": [
"steering/stop-and-pause"
],
"purpose": "Composer/Paused task takeover",
"status": "historical",
"implementation": "prototype",
"boundary": "fixtures",
"notes": "Retained local paused takeover; task-execution-controls exercises the shipped pause/stop controls. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/steering.md",
"ui/src/components/task-chat/TaskChatComposer.tsx",
"ui/storybook/prototypes/PausedTaskComposer.tsx",
"ui/storybook/stories/steering/paused-composer.stories.tsx"
],
"replacement": "ui/storybook/stories/steering/task-execution-controls.stories.tsx",
"fingerprint": "7e7436ddeb1e004e1b11297e93f7e299600a2fa68d36993275ed2591f6b4a320",
"stableId": "composer-paused-task-takeover",
"sidebarTitle": "Tasks and conversations/Steering and queued messages/Composer/Paused task takeover"
},
{
"file": "ui/storybook/stories/app-permissions/permitted-vs-installed.stories.tsx",
"capabilities": [
"app-permissions/agent-access",
"app-permissions/action-policy"
],
"purpose": "Tools/Permitted vs Installed",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/app-permissions.md",
"ui/src/components/IssueThreadInteractionCard.tsx",
"ui/src/pages/AgentToolsTab.tsx",
"ui/src/pages/apps/AppsConnect.tsx",
"ui/src/pages/apps/app-detail/PermissionsPanel.tsx",
"ui/src/pages/apps/app-detail/types.ts",
"ui/storybook/stories/app-permissions/permitted-vs-installed.stories.tsx"
],
"fingerprint": "8142253f986d8f969b73602f8832ded6b86f459f8ad46257af48655bc737b234",
"stableId": "tools-permitted-vs-installed",
"sidebarTitle": "Apps, channels, and extensions/App access and action permissions/Tools/Permitted vs Installed"
},
{
"file": "ui/storybook/stories/connection-setup/personal-connection-identity.stories.tsx",
"capabilities": [
"connection-setup/identity-and-access"
],
"purpose": "Reviews/PAP-17835 Personal connection identity",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/connection-setup.md",
"ui/src/pages/apps/app-detail/IdentitiesSection.tsx",
"ui/storybook/stories/connection-setup/personal-connection-identity.stories.tsx"
],
"fingerprint": "7f0d4c64425d3657c8d2662cea6541f52cb6f13fa276c02fec5398cb7df5111a",
"stableId": "reviews-pap-17835-personal-connection-identity",
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Reviews/PAP-17835 Personal connection identity"
},
{
"file": "ui/storybook/stories/agents/primary-agent/00-review-guide.stories.tsx",
"capabilities": [
"agents/primary-agent",
"tasks/create",
"agent-chat/discovery"
],
"purpose": "Primary Agent/00 Review guide",
"status": "unreviewed",
"implementation": "guide",
"boundary": "static",
"notes": "Review guide retained; explanatory content does not establish runtime or production coverage. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Primary choice, replacement confirmation, unavailable states and task/chat fallback presentation use local presentation-provider callbacks. Production preference persistence and default-resolution precedence remain unverified by this suite. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agent-chat.md",
"maps/feature-map/agents.md",
"maps/feature-map/tasks.md",
"ui/storybook/stories/agents/primary-agent/00-review-guide.stories.tsx"
],
"fingerprint": "dc2d1c8a114ba4e6c065170fe2cd6b39c8b6b7dce3d7ae1afbfbddc15adf5beb",
"stableId": "primary-agent-00-review-guide",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Primary Agent/00 Review guide"
},
{
"file": "ui/storybook/stories/agents/primary-agent/01-components.stories.tsx",
"capabilities": [
"agents/primary-agent",
"tasks/create",
"agent-chat/discovery"
],
"purpose": "Primary Agent/01 Components",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Primary choice, replacement confirmation, unavailable states and task/chat fallback presentation use local presentation-provider callbacks. Production preference persistence and default-resolution precedence remain unverified by this suite. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agent-chat.md",
"maps/feature-map/agents.md",
"maps/feature-map/tasks.md",
"ui/src/components/AgentIdentity.tsx",
"ui/src/components/Layout.production.tsx",
"ui/src/components/Layout.tsx",
"ui/src/components/SidebarAgents.tsx",
"ui/src/components/primary-agent/PrimaryAgentPresentation.tsx",
"ui/src/pages/AgentChat.tsx",
"ui/src/pages/AgentChats.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/Agents.production.tsx",
"ui/src/pages/Agents.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/agents/primary-agent/01-components.stories.tsx",
"ui/storybook/support/primary-agent/PrimaryAgentStory.tsx"
],
"fingerprint": "1ba218400f92d323d120ad223d92a0ddeee6d104ee36f1873e110a3e0124a1bb",
"stableId": "primary-agent-01-components",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Primary Agent/01 Components"
},
{
"file": "ui/storybook/stories/agents/primary-agent/02-sidebar.stories.tsx",
"capabilities": [
"agents/primary-agent",
"tasks/create",
"agent-chat/discovery"
],
"purpose": "Primary Agent/02 Sidebar",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Primary choice, replacement confirmation, unavailable states and task/chat fallback presentation use local presentation-provider callbacks. Production preference persistence and default-resolution precedence remain unverified by this suite. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agent-chat.md",
"maps/feature-map/agents.md",
"maps/feature-map/tasks.md",
"ui/src/components/Layout.production.tsx",
"ui/src/components/Layout.tsx",
"ui/src/components/SidebarAgents.tsx",
"ui/src/components/primary-agent/PrimaryAgentPresentation.tsx",
"ui/src/pages/AgentChat.tsx",
"ui/src/pages/AgentChats.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/Agents.production.tsx",
"ui/src/pages/Agents.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/agents/primary-agent/02-sidebar.stories.tsx",
"ui/storybook/support/primary-agent/PrimaryAgentStory.tsx"
],
"fingerprint": "cf72eaff02b96c8f81a285c96246ef80e9d97e836b47f8bb88734175d5d01664",
"stableId": "primary-agent-02-sidebar",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Primary Agent/02 Sidebar"
},
{
"file": "ui/storybook/stories/agents/primary-agent/03-agents.stories.tsx",
"capabilities": [
"agents/primary-agent",
"tasks/create",
"agent-chat/discovery"
],
"purpose": "Primary Agent/03 Agents",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Primary choice, replacement confirmation, unavailable states and task/chat fallback presentation use local presentation-provider callbacks. Production preference persistence and default-resolution precedence remain unverified by this suite. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agent-chat.md",
"maps/feature-map/agents.md",
"maps/feature-map/tasks.md",
"ui/src/components/Layout.production.tsx",
"ui/src/components/Layout.tsx",
"ui/src/components/SidebarAgents.tsx",
"ui/src/components/primary-agent/PrimaryAgentPresentation.tsx",
"ui/src/pages/AgentChat.tsx",
"ui/src/pages/AgentChats.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/Agents.production.tsx",
"ui/src/pages/Agents.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/agents/primary-agent/03-agents.stories.tsx",
"ui/storybook/support/primary-agent/PrimaryAgentStory.tsx"
],
"fingerprint": "d8107859209157fdcd775b1e0161aa9b39fd79280b57d2bcd29e76afa1944c2a",
"stableId": "primary-agent-03-agents",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Primary Agent/03 Agents"
},
{
"file": "ui/storybook/stories/agents/primary-agent/04-new-task.stories.tsx",
"capabilities": [
"agents/primary-agent",
"tasks/create",
"agent-chat/discovery"
],
"purpose": "Primary Agent/04 New task",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Primary choice, replacement confirmation, unavailable states and task/chat fallback presentation use local presentation-provider callbacks. Production preference persistence and default-resolution precedence remain unverified by this suite. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agent-chat.md",
"maps/feature-map/agents.md",
"maps/feature-map/tasks.md",
"ui/src/components/Layout.production.tsx",
"ui/src/components/Layout.tsx",
"ui/src/components/SidebarAgents.tsx",
"ui/src/components/primary-agent/PrimaryAgentPresentation.tsx",
"ui/src/pages/AgentChat.tsx",
"ui/src/pages/AgentChats.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/Agents.production.tsx",
"ui/src/pages/Agents.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/agents/primary-agent/04-new-task.stories.tsx",
"ui/storybook/support/primary-agent/PrimaryAgentStory.tsx"
],
"fingerprint": "2e30847e4f8d957c11600f3663358e0eb555f2185cb85c4c1c1b4d57eba62f51",
"stableId": "primary-agent-04-new-task",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Primary Agent/04 New task"
},
{
"file": "ui/storybook/stories/agents/primary-agent/05-chat.stories.tsx",
"capabilities": [
"agents/primary-agent",
"tasks/create",
"agent-chat/discovery"
],
"purpose": "Primary Agent/05 Chat",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Primary choice, replacement confirmation, unavailable states and task/chat fallback presentation use local presentation-provider callbacks. Production preference persistence and default-resolution precedence remain unverified by this suite. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agent-chat.md",
"maps/feature-map/agents.md",
"maps/feature-map/tasks.md",
"ui/src/components/Layout.production.tsx",
"ui/src/components/Layout.tsx",
"ui/src/components/SidebarAgents.tsx",
"ui/src/components/primary-agent/PrimaryAgentPresentation.tsx",
"ui/src/pages/AgentChat.tsx",
"ui/src/pages/AgentChats.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/Agents.production.tsx",
"ui/src/pages/Agents.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/agents/primary-agent/05-chat.stories.tsx",
"ui/storybook/support/primary-agent/PrimaryAgentStory.tsx"
],
"fingerprint": "fa3248cdb686fb0827390fbabea3c2ed38950e5234141254a53756cd271b4903",
"stableId": "primary-agent-05-chat",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Primary Agent/05 Chat"
},
{
"file": "ui/storybook/stories/agents/primary-agent/06-journeys.stories.tsx",
"capabilities": [
"agents/primary-agent",
"tasks/create",
"agent-chat/discovery"
],
"purpose": "Primary Agent/06 Journeys",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Primary choice, replacement confirmation, unavailable states and task/chat fallback presentation use local presentation-provider callbacks. Production preference persistence and default-resolution precedence remain unverified by this suite. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agent-chat.md",
"maps/feature-map/agents.md",
"maps/feature-map/tasks.md",
"ui/src/components/Layout.production.tsx",
"ui/src/components/Layout.tsx",
"ui/src/components/SidebarAgents.tsx",
"ui/src/components/primary-agent/PrimaryAgentPresentation.tsx",
"ui/src/pages/AgentChat.tsx",
"ui/src/pages/AgentChats.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/Agents.production.tsx",
"ui/src/pages/Agents.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/agents/primary-agent/06-journeys.stories.tsx",
"ui/storybook/support/primary-agent/PrimaryAgentStory.tsx"
],
"fingerprint": "68a196913fd72374066dcccf55430d742881a983be2d914de2e02fd98a825fd0",
"stableId": "primary-agent-06-journeys",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Primary Agent/06 Journeys"
},
{
"file": "ui/storybook/stories/agents/primary-agent/07-confirmation.stories.tsx",
"capabilities": [
"agents/primary-agent",
"tasks/create",
"agent-chat/discovery"
],
"purpose": "Primary Agent/07 Confirmation",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Primary choice, replacement confirmation, unavailable states and task/chat fallback presentation use local presentation-provider callbacks. Production preference persistence and default-resolution precedence remain unverified by this suite. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agent-chat.md",
"maps/feature-map/agents.md",
"maps/feature-map/tasks.md",
"ui/src/components/Layout.production.tsx",
"ui/src/components/Layout.tsx",
"ui/src/components/SidebarAgents.tsx",
"ui/src/components/primary-agent/PrimaryAgentPresentation.tsx",
"ui/src/pages/AgentChat.tsx",
"ui/src/pages/AgentChats.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/Agents.production.tsx",
"ui/src/pages/Agents.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/agents/primary-agent/07-confirmation.stories.tsx",
"ui/storybook/support/primary-agent/PrimaryAgentStory.tsx"
],
"fingerprint": "0d65a5877c6ef741b40ddd938c8066608307879ed029baafe59e7248e482558b",
"stableId": "primary-agent-07-confirmation",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Primary Agent/07 Confirmation"
},
{
"file": "ui/storybook/stories/foundations/primitives-coverage.stories.tsx",
"capabilities": [
"developer-labs/design"
],
"purpose": "Foundations/Primitive Coverage",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Related design reference: demonstrates shared production controls and visual states in an isolated contributor fixture; retains its Foundations home. No product-journey or baseline comparison claim.",
"reviewedAt": "2026-10-13",
"sources": [
"ui/src/components/ui/alert-dialog.tsx",
"ui/src/components/ui/avatar.tsx",
"ui/src/components/ui/breadcrumb.tsx",
"ui/src/components/ui/button.tsx",
"ui/src/components/ui/collapsible.tsx",
"ui/src/components/ui/command.tsx",
"ui/src/components/ui/dropdown-menu.tsx",
"ui/src/components/ui/radio-card.tsx",
"ui/src/components/ui/scroll-area.tsx",
"ui/src/components/ui/sheet.tsx",
"ui/src/components/ui/skeleton.tsx",
"ui/storybook/stories/foundations/primitives-coverage.stories.tsx",
"maps/feature-map/developer-labs.md"
],
"exception": "Shared foundations or contributor guide; no single business capability owns this suite.",
"fingerprint": "bfacafe1d48789bac91fb595247ee767edf52cc705ba353031ccb155879b3d4c",
"stableId": "foundations-primitive-coverage",
"sidebarTitle": "Foundations/Primitive Coverage",
"home": "foundations"
},
{
"file": "ui/storybook/stories/access/private-tasks/00-review-guide.stories.tsx",
"capabilities": [
"access/resources",
"tasks/properties"
],
"purpose": "Private tasks/00 Review guide",
"status": "unreviewed",
"implementation": "guide",
"boundary": "static",
"notes": "Review guide retained; explanatory content does not establish runtime or production coverage. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/access.md",
"maps/feature-map/tasks.md",
"ui/storybook/stories/access/private-tasks/00-review-guide.stories.tsx"
],
"fingerprint": "dc46ad819f4c0d925acbd1170d8a9ee4018f2b49de0241a3b3d698f154ee9257",
"stableId": "private-tasks-00-review-guide",
"sidebarTitle": "Getting started and access/Login, invitations, and access/Private tasks/00 Review guide"
},
{
"file": "ui/storybook/stories/access/private-tasks/01-creation.stories.tsx",
"capabilities": [
"access/resources",
"tasks/properties"
],
"purpose": "Private tasks/01 Creation",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation visibility now defaults to hiding automated independent tasks, with a show agent-created tasks control and inbox participation exceptions. Source alignment reviewed; these fixture stories do not establish live server pagination or authorization. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work. Source review covers the retained-file recovery form, source-bound evidence and unchanged task status; fixture APIs do not prove live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/access.md",
"maps/feature-map/tasks.md",
"ui/src/components/Layout.tsx",
"ui/src/components/ToastViewport.tsx",
"ui/src/pages/DesignGuide.tsx",
"ui/src/pages/IssueDetail.tsx",
"ui/src/pages/Issues.tsx",
"ui/src/pages/ProjectDetail.tsx",
"ui/src/pages/Projects.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/fixtures/privateTasks.ts",
"ui/storybook/stories/access/private-tasks/01-creation.stories.tsx",
"ui/storybook/stories/access/private-tasks/06-full-product-pages.stories.tsx",
"ui/storybook/support/private-tasks/PrivacyStory.tsx"
],
"fingerprint": "ea2ddeb4a186e49cdfb7241751e0b25b6565ddee24202c0e48169966ae3e2d96",
"stableId": "private-tasks-01-creation",
"sidebarTitle": "Getting started and access/Login, invitations, and access/Private tasks/01 Creation"
},
{
"file": "ui/storybook/stories/access/private-tasks/02-sharing.stories.tsx",
"capabilities": [
"access/resources",
"tasks/properties"
],
"purpose": "Private tasks/02 Sharing",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/access.md",
"maps/feature-map/tasks.md",
"ui/src/components/IssueShareSheet.tsx",
"ui/src/components/ToastViewport.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/fixtures/privateTasks.ts",
"ui/storybook/stories/access/private-tasks/02-sharing.stories.tsx",
"ui/storybook/support/private-tasks/PrivacyStory.tsx"
],
"fingerprint": "6595d72c6af25ff292b389d88e8d2019020f4e4a6965cceb2a50b793ec03b882",
"stableId": "private-tasks-02-sharing",
"sidebarTitle": "Getting started and access/Login, invitations, and access/Private tasks/02 Sharing"
},
{
"file": "ui/storybook/stories/access/private-tasks/03-task-actions.stories.tsx",
"capabilities": [
"access/resources",
"tasks/properties"
],
"purpose": "Private tasks/03 Task actions",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/access.md",
"maps/feature-map/tasks.md",
"ui/src/components/IssuePrivacyActions.tsx",
"ui/src/components/ToastViewport.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/fixtures/privateTasks.ts",
"ui/storybook/stories/access/private-tasks/03-task-actions.stories.tsx",
"ui/storybook/support/private-tasks/PrivacyStory.tsx"
],
"fingerprint": "be8143e492deda70c9139b7e9f7022ae6b3c3b7603791074c22adb72a54adb79",
"stableId": "private-tasks-03-task-actions",
"sidebarTitle": "Getting started and access/Login, invitations, and access/Private tasks/03 Task actions"
},
{
"file": "ui/storybook/stories/access/private-tasks/04-references-and-blockers.stories.tsx",
"capabilities": [
"access/resources",
"tasks/properties"
],
"purpose": "Private tasks/04 References and blockers",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/access.md",
"maps/feature-map/tasks.md",
"ui/src/components/IssueBlockedNotice.tsx",
"ui/src/components/IssueReferencePill.tsx",
"ui/src/components/LockedIssueChip.tsx",
"ui/src/components/MarkdownBody.tsx",
"ui/src/components/ToastViewport.tsx",
"ui/src/components/issue-properties/relation-controls.tsx",
"ui/src/components/task-detail/TaskDetailRelationsPanel.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/fixtures/privateTasks.ts",
"ui/storybook/stories/access/private-tasks/04-references-and-blockers.stories.tsx",
"ui/storybook/support/private-tasks/PrivacyStory.tsx"
],
"fingerprint": "371547c4293f4f7e6e922113a9a6a2631bfe73979343fe70fc158b2e1fd3c5a4",
"stableId": "private-tasks-04-references-and-blockers",
"sidebarTitle": "Getting started and access/Login, invitations, and access/Private tasks/04 References and blockers"
},
{
"file": "ui/storybook/stories/access/private-tasks/05-projects.stories.tsx",
"capabilities": [
"access/resources",
"tasks/properties",
"projects/lifecycle"
],
"purpose": "Private tasks/05 Projects",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/access.md",
"maps/feature-map/projects.md",
"maps/feature-map/tasks.md",
"ui/src/components/IssueShareSheet.tsx",
"ui/src/components/ProjectAccessMembers.tsx",
"ui/src/components/ProjectProperties.tsx",
"ui/src/components/ToastViewport.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/fixtures/privateTasks.ts",
"ui/storybook/stories/access/private-tasks/05-projects.stories.tsx",
"ui/storybook/support/private-tasks/PrivacyStory.tsx"
],
"fingerprint": "8b773d099d8ae633ab72108c0a4dd8b2c032aac03787ab47cda05426f456fb15",
"stableId": "private-tasks-05-projects",
"sidebarTitle": "Getting started and access/Login, invitations, and access/Private tasks/05 Projects"
},
{
"file": "ui/storybook/stories/access/private-tasks/06-full-product-pages.stories.tsx",
"capabilities": [
"access/resources",
"tasks/properties",
"projects/lifecycle"
],
"purpose": "Private tasks/06 Full product pages",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation visibility now defaults to hiding automated independent tasks, with a show agent-created tasks control and inbox participation exceptions. Source alignment reviewed; these fixture stories do not establish live server pagination or authorization. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work. Source review covers the retained-file recovery form, source-bound evidence and unchanged task status; fixture APIs do not prove live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/access.md",
"maps/feature-map/projects.md",
"maps/feature-map/tasks.md",
"ui/src/components/Layout.tsx",
"ui/src/components/ToastViewport.tsx",
"ui/src/pages/DesignGuide.tsx",
"ui/src/pages/IssueDetail.tsx",
"ui/src/pages/Issues.tsx",
"ui/src/pages/ProjectDetail.tsx",
"ui/src/pages/Projects.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/fixtures/privateTasks.ts",
"ui/storybook/stories/access/private-tasks/06-full-product-pages.stories.tsx",
"ui/storybook/support/private-tasks/PrivacyStory.tsx"
],
"fingerprint": "a394e48a19ffce759f893bee7c28a1eceea2325ee9050cf41d42059afd5460d1",
"stableId": "private-tasks-06-full-product-pages",
"sidebarTitle": "Getting started and access/Login, invitations, and access/Private tasks/06 Full product pages"
},
{
"file": "ui/storybook/stories/access/private-tasks/07-user-stories.stories.tsx",
"capabilities": [
"access/resources",
"tasks/properties"
],
"purpose": "Private tasks/07 User stories",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation visibility now defaults to hiding automated independent tasks, with a show agent-created tasks control and inbox participation exceptions. Source alignment reviewed; these fixture stories do not establish live server pagination or authorization. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work. Source review covers the retained-file recovery form, source-bound evidence and unchanged task status; fixture APIs do not prove live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/access.md",
"maps/feature-map/tasks.md",
"ui/src/components/IssueBlockedNotice.tsx",
"ui/src/components/IssuePrivacyActions.tsx",
"ui/src/components/IssueReferencePill.tsx",
"ui/src/components/IssueShareSheet.tsx",
"ui/src/components/Layout.tsx",
"ui/src/components/LockedIssueChip.tsx",
"ui/src/components/MarkdownBody.tsx",
"ui/src/components/ProjectAccessMembers.tsx",
"ui/src/components/ProjectProperties.tsx",
"ui/src/components/ToastViewport.tsx",
"ui/src/components/issue-properties/relation-controls.tsx",
"ui/src/components/task-detail/TaskDetailRelationsPanel.tsx",
"ui/src/pages/DesignGuide.tsx",
"ui/src/pages/IssueDetail.tsx",
"ui/src/pages/Issues.tsx",
"ui/src/pages/ProjectDetail.tsx",
"ui/src/pages/Projects.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/fixtures/privateTasks.ts",
"ui/storybook/stories/access/private-tasks/01-creation.stories.tsx",
"ui/storybook/stories/access/private-tasks/02-sharing.stories.tsx",
"ui/storybook/stories/access/private-tasks/03-task-actions.stories.tsx",
"ui/storybook/stories/access/private-tasks/04-references-and-blockers.stories.tsx",
"ui/storybook/stories/access/private-tasks/05-projects.stories.tsx",
"ui/storybook/stories/access/private-tasks/06-full-product-pages.stories.tsx",
"ui/storybook/stories/access/private-tasks/07-user-stories.stories.tsx",
"ui/storybook/support/private-tasks/PrivacyStory.tsx"
],
"fingerprint": "ce4def84f6ceeb96cd91a285053edf1913baceb6628f70ac98612969bd46cf46",
"stableId": "private-tasks-07-user-stories",
"sidebarTitle": "Getting started and access/Login, invitations, and access/Private tasks/07 User stories"
},
{
"file": "ui/storybook/stories/projects/project-execution-workspace-strategy.stories.tsx",
"capabilities": [
"projects/defaults",
"workspaces/provisioning"
],
"purpose": "Workspaces/Project runtime provision command",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the expanded workspace recipe; these examples do not establish durable task-folder continuity, repository authorization or sandbox admission. The workspace recipe now requires child boundary, safe reopen and checkpoint ancestry controls; these backend checks are not established by this fixture. The provisioning recipe requires controller script denial for remote selections and copy-only local source choices, including retained denial through metadata changes and reopening; these fixtures do not verify execution placement. Canonical default provisioning follows configured policy, primary, creation time and ID; these fixtures do not run source hooks or establish this backend precedence.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/projects.md",
"maps/feature-map/workspaces.md",
"ui/src/components/ProjectProperties.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/projects/project-execution-workspace-strategy.stories.tsx"
],
"fingerprint": "618a389f8aa005657fc633c9a0ebdc34e0fc77df6d1cc8d0474330590d4c081c",
"stableId": "workspaces-project-runtime-provision-command",
"sidebarTitle": "Projects and execution/Projects and repositories/Workspaces/Project runtime provision command"
},
{
"file": "ui/storybook/stories/projects/project-repos-configuration.stories.tsx",
"capabilities": [
"projects/repositories"
],
"purpose": "Proposals/Project repos/Configuration",
"status": "proposed",
"implementation": "mixed",
"boundary": "fixtures",
"notes": "Production properties plus local configuration page composition; repository interaction is simulated.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/projects.md",
"ui/src/components/PageTabBar.tsx",
"ui/src/components/ProjectProperties.tsx",
"ui/src/components/RepositoryEditor.tsx",
"ui/src/components/SearchableSelect.tsx",
"ui/src/components/icons/github-icon.tsx",
"ui/src/features/connections/ConnectionSetupFlow.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/prototypes/project-repos/ProjectConfigurationPage.tsx",
"ui/storybook/prototypes/project-repos/ProjectReposPrototype.tsx",
"ui/storybook/prototypes/project-repos/fixtures.ts",
"ui/storybook/stories/projects/project-repos-configuration.stories.tsx"
],
"fingerprint": "8d96ac58686362abbaf468ba7cc400d43612fe0c8c21239cfa3fab2079ff5270",
"stableId": "proposals-project-repos-configuration",
"sidebarTitle": "Projects and execution/Projects and repositories/Proposals/Project repos/Configuration"
},
{
"file": "ui/storybook/stories/projects/projects-goals-workspaces.stories.tsx",
"capabilities": [
"projects/lifecycle",
"goals/hierarchy",
"workspaces/binding"
],
"purpose": "Product/Projects Goals Workspaces",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed nullable project references and guarded runtime invalidations. Existing summaries remain project-bound and retain their routes; null-project execution workspace rendering and controls remain a coverage gap. The workspace recipe now requires child boundary, safe reopen and checkpoint ancestry controls; these backend checks are not established by this fixture. The provisioning recipe requires controller script denial for remote selections and copy-only local source choices, including retained denial through metadata changes and reopening; these fixtures do not verify execution placement. Canonical default provisioning follows configured policy, primary, creation time and ID; these fixtures do not run source hooks or establish this backend precedence.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/goals.md",
"maps/feature-map/projects.md",
"maps/feature-map/workspaces.md",
"ui/src/components/GoalProperties.tsx",
"ui/src/components/GoalTree.tsx",
"ui/src/components/ProjectProperties.tsx",
"ui/src/components/ProjectWorkspaceSummaryCard.tsx",
"ui/src/components/ProjectWorkspacesContent.tsx",
"ui/src/components/WorkspaceRuntimeControls.tsx",
"ui/src/components/WorktreeBanner.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/projects/projects-goals-workspaces.stories.tsx"
],
"fingerprint": "83a6815f2ceea9c18eb9145f2abf7f90588dafe833c20abcd93050ee1c66114a",
"stableId": "product-projects-goals-workspaces",
"sidebarTitle": "Projects and execution/Projects and repositories/Product/Projects Goals Workspaces"
},
{
"file": "ui/storybook/stories/runs-adapters/provider-routing-00-overview.stories.tsx",
"capabilities": [
"runs-adapters/validation"
],
"purpose": "AI Connections/Provider routing/00 Overview",
"status": "unreviewed",
"implementation": "guide",
"boundary": "static",
"notes": "Review guide retained; explanatory content does not establish runtime or production coverage.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/runs-adapters.md",
"ui/storybook/prototypes/provider-routing/ReviewIndex.tsx",
"ui/storybook/prototypes/provider-routing/shared.tsx",
"ui/storybook/prototypes/provider-routing/story-support.ts",
"ui/storybook/stories/runs-adapters/provider-routing-00-overview.stories.tsx"
],
"fingerprint": "58ea208bbfd6bbc068ff89a49aa2c71d55f244710d84f8d8574511bcc3593257",
"stableId": "ai-connections-provider-routing-00-overview",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Provider routing/00 Overview"
},
{
"file": "ui/storybook/stories/runs-adapters/provider-routing-01-onboarding.stories.tsx",
"capabilities": [
"runs-adapters/validation"
],
"purpose": "AI Connections/Provider routing/01 Onboarding",
"status": "mixed",
"implementation": "mixed",
"boundary": "fixtures",
"notes": "Design-review route uses simulated account/provider state; audit the rendered subject before treating it as the live connection flow.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/runs-adapters.md",
"ui/src/components/AdapterLoginChrome.tsx",
"ui/src/components/AdapterMark.tsx",
"ui/src/components/AgentActionButtons.tsx",
"ui/src/components/AgentConfigForm.tsx",
"ui/src/components/AgentContextualSidebar.tsx",
"ui/src/components/NewIssueDialog.tsx",
"ui/src/components/RuntimeTestCard.tsx",
"ui/src/components/agent-config-primitives.tsx",
"ui/src/components/ai-connections/AiConnectionManagement.tsx",
"ui/src/components/onboarding/CredentialModeLink.tsx",
"ui/src/components/onboarding/ModelSourceTiles.tsx",
"ui/src/components/onboarding/PillGuy.tsx",
"ui/src/features/connections/ConnectionChoiceList.tsx",
"ui/src/features/connections/ConnectionSetupFlow.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/AgentToolsTab.tsx",
"ui/src/pages/agent-detail-navigation.ts",
"ui/src/pages/agent-skills/AgentSkillsTab.tsx",
"ui/src/pages/apps/AppLogo.tsx",
"ui/storybook/fixtures/onboardingEnvironment.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/prototypes/RuntimeTestCard.tsx",
"ui/storybook/prototypes/agent-settings/AgentSettingsPreview.tsx",
"ui/storybook/prototypes/agent-settings/fixtures.ts",
"ui/storybook/prototypes/new-agent-fixtures.ts",
"ui/storybook/prototypes/provider-routing/AgentSetup.tsx",
"ui/storybook/prototypes/provider-routing/ConnectionPicker.tsx",
"ui/storybook/prototypes/provider-routing/ConnectionSetup.tsx",
"ui/storybook/prototypes/provider-routing/model.ts",
"ui/storybook/prototypes/provider-routing/shared.tsx",
"ui/storybook/prototypes/provider-routing/story-support.ts",
"ui/storybook/stories/runs-adapters/provider-routing-01-onboarding.stories.tsx"
],
"fingerprint": "f39e0ecde64690f67d56519efc0b7b45f790f21b7836057f6735fffaff3d3ef5",
"stableId": "ai-connections-provider-routing-01-onboarding",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Provider routing/01 Onboarding"
},
{
"file": "ui/storybook/stories/runs-adapters/provider-routing-02-connect.stories.tsx",
"capabilities": [
"runs-adapters/validation"
],
"purpose": "AI Connections/Provider routing/02 Connect",
"status": "mixed",
"implementation": "mixed",
"boundary": "fixtures",
"notes": "Design-review route uses simulated account/provider state; audit the rendered subject before treating it as the live connection flow.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/runs-adapters.md",
"ui/src/components/AdapterLoginChrome.tsx",
"ui/src/components/ai-connections/AiProviderSetup.tsx",
"ui/src/features/connections/ConnectionChoiceList.tsx",
"ui/src/features/connections/ConnectionSetupFlow.tsx",
"ui/src/pages/apps/AppLogo.tsx",
"ui/src/pages/apps/Browse.tsx",
"ui/src/pages/apps/app-definition-display.ts",
"ui/storybook/prototypes/provider-routing/ConnectionCatalog.tsx",
"ui/storybook/prototypes/provider-routing/ConnectionSetup.tsx",
"ui/storybook/prototypes/provider-routing/model.ts",
"ui/storybook/prototypes/provider-routing/shared.tsx",
"ui/storybook/prototypes/provider-routing/story-support.ts",
"ui/storybook/stories/runs-adapters/provider-routing-02-connect.stories.tsx"
],
"fingerprint": "728d7d6f61446c644f7d1402b683ade30dbef0c893e409a5fa9526e247e1c179",
"stableId": "ai-connections-provider-routing-02-connect",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Provider routing/02 Connect"
},
{
"file": "ui/storybook/stories/runs-adapters/provider-routing-03-agent.stories.tsx",
"capabilities": [
"runs-adapters/validation"
],
"purpose": "AI Connections/Provider routing/03 Agent",
"status": "mixed",
"implementation": "mixed",
"boundary": "fixtures",
"notes": "Design-review route uses simulated account/provider state; audit the rendered subject before treating it as the live connection flow.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/runs-adapters.md",
"ui/src/components/AdapterLoginChrome.tsx",
"ui/src/components/AdapterMark.tsx",
"ui/src/components/AgentActionButtons.tsx",
"ui/src/components/AgentConfigForm.tsx",
"ui/src/components/AgentContextualSidebar.tsx",
"ui/src/components/NewIssueDialog.tsx",
"ui/src/components/RuntimeTestCard.tsx",
"ui/src/components/agent-config-primitives.tsx",
"ui/src/components/ai-connections/AiConnectionManagement.tsx",
"ui/src/components/onboarding/CredentialModeLink.tsx",
"ui/src/components/onboarding/ModelSourceTiles.tsx",
"ui/src/components/onboarding/PillGuy.tsx",
"ui/src/features/connections/ConnectionChoiceList.tsx",
"ui/src/features/connections/ConnectionSetupFlow.tsx",
"ui/src/pages/AgentDetail.tsx",
"ui/src/pages/AgentToolsTab.tsx",
"ui/src/pages/agent-detail-navigation.ts",
"ui/src/pages/agent-skills/AgentSkillsTab.tsx",
"ui/src/pages/apps/AppLogo.tsx",
"ui/storybook/fixtures/onboardingEnvironment.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/prototypes/RuntimeTestCard.tsx",
"ui/storybook/prototypes/agent-settings/AgentSettingsPreview.tsx",
"ui/storybook/prototypes/agent-settings/fixtures.ts",
"ui/storybook/prototypes/new-agent-fixtures.ts",
"ui/storybook/prototypes/provider-routing/AgentSetup.tsx",
"ui/storybook/prototypes/provider-routing/ConnectionPicker.tsx",
"ui/storybook/prototypes/provider-routing/ConnectionSetup.tsx",
"ui/storybook/prototypes/provider-routing/model.ts",
"ui/storybook/prototypes/provider-routing/shared.tsx",
"ui/storybook/prototypes/provider-routing/story-support.ts",
"ui/storybook/stories/runs-adapters/provider-routing-03-agent.stories.tsx"
],
"fingerprint": "5d0c5dcd46b3814727322016a2bb4b58695f1435a9bd015c67898b549aac40fb",
"stableId": "ai-connections-provider-routing-03-agent",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Provider routing/03 Agent"
},
{
"file": "ui/storybook/stories/runs-adapters/provider-routing-04-manage.stories.tsx",
"capabilities": [
"runs-adapters/validation"
],
"purpose": "AI Connections/Provider routing/04 Manage",
"status": "mixed",
"implementation": "mixed",
"boundary": "fixtures",
"notes": "Design-review route uses simulated account/provider state; audit the rendered subject before treating it as the live connection flow.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/runs-adapters.md",
"ui/src/components/AdapterLoginChrome.tsx",
"ui/src/components/ai-connections/AiProviderSetup.tsx",
"ui/src/features/connections/ConnectionChoiceList.tsx",
"ui/src/features/connections/ConnectionSetupFlow.tsx",
"ui/src/pages/apps/AppLogo.tsx",
"ui/src/pages/apps/Browse.tsx",
"ui/src/pages/apps/app-definition-display.ts",
"ui/storybook/prototypes/provider-routing/ConnectionCatalog.tsx",
"ui/storybook/prototypes/provider-routing/ConnectionSetup.tsx",
"ui/storybook/prototypes/provider-routing/Management.tsx",
"ui/storybook/prototypes/provider-routing/RoutingAccess.tsx",
"ui/storybook/prototypes/provider-routing/model.ts",
"ui/storybook/prototypes/provider-routing/shared.tsx",
"ui/storybook/prototypes/provider-routing/story-support.ts",
"ui/storybook/stories/runs-adapters/provider-routing-04-manage.stories.tsx"
],
"fingerprint": "34331e78cd92bccd47f5e2c7b83609e137846117e137615b4bd29bda065524e4",
"stableId": "ai-connections-provider-routing-04-manage",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Provider routing/04 Manage"
},
{
"file": "ui/storybook/stories/runs-adapters/provider-routing-05-recovery.stories.tsx",
"capabilities": [
"runs-adapters/validation"
],
"purpose": "AI Connections/Provider routing/05 Recovery",
"status": "mixed",
"implementation": "mixed",
"boundary": "fixtures",
"notes": "Design-review route uses simulated account/provider state; audit the rendered subject before treating it as the live connection flow.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/runs-adapters.md",
"ui/src/components/AdapterLoginChrome.tsx",
"ui/src/features/connections/ConnectionIntentInteractionBody.tsx",
"ui/src/features/connections/ConnectionSetupFlow.tsx",
"ui/storybook/prototypes/provider-routing/Recovery.tsx",
"ui/storybook/prototypes/provider-routing/shared.tsx",
"ui/storybook/prototypes/provider-routing/story-support.ts",
"ui/storybook/stories/runs-adapters/provider-routing-05-recovery.stories.tsx"
],
"fingerprint": "fe9596ebe4de1f2e315d6e024c636f56e0b253b3af5d3a9c4cd6a3015309e7e7",
"stableId": "ai-connections-provider-routing-05-recovery",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Provider routing/05 Recovery"
},
{
"file": "ui/storybook/stories/runs-adapters/provider-routing-06-production.stories.tsx",
"capabilities": [
"runs-adapters/validation"
],
"purpose": "AI Connections/Provider routing/06 Production components",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Design-review route uses simulated account/provider state; audit the rendered subject before treating it as the live connection flow.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/runs-adapters.md",
"ui/src/components/AgentConfigForm.tsx",
"ui/src/components/agent-config-primitives.tsx",
"ui/src/components/ai-connections/AiConnectionField.tsx",
"ui/src/components/ai-connections/AiConnectionSelect.tsx",
"ui/src/components/ai-connections/AiProviderSetup.tsx",
"ui/src/components/ai-connections/useConnectionModels.ts",
"ui/src/components/new-agent/AgentProviderConnection.tsx",
"ui/src/pages/apps/Browse.tsx",
"ui/src/pages/apps/app-definition-display.ts",
"ui/storybook/prototypes/provider-routing/ConnectionCatalog.tsx",
"ui/storybook/prototypes/provider-routing/model.ts",
"ui/storybook/prototypes/provider-routing/shared.tsx",
"ui/storybook/stories/runs-adapters/provider-routing-06-production.stories.tsx"
],
"fingerprint": "ab0fe3f233b6f8dafdb6a946447535366ba687b9ccf8fafd2b877aa4e7cac230",
"stableId": "ai-connections-provider-routing-06-production-components",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Provider routing/06 Production components"
},
{
"file": "ui/storybook/stories/gateways-profiles/public-mcp-connections.stories.tsx",
"capabilities": [
"gateways-profiles/client-connect"
],
"purpose": "Assistant connections/Manage connections",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/gateways-profiles.md",
"ui/src/pages/McpConnect.tsx",
"ui/storybook/fixtures/publicMcp.ts",
"ui/storybook/stories/gateways-profiles/public-mcp-connections.stories.tsx"
],
"fingerprint": "59a7260fb8b5b123828d9d0d0d2cd081d1456bbdf0ebedf7e65e5b880fe084b5",
"stableId": "assistant-connections-manage-connections",
"sidebarTitle": "Apps, channels, and extensions/Tool gateways and access profiles/Assistant connections/Manage connections"
},
{
"file": "ui/storybook/stories/gateways-profiles/public-mcp-consent.stories.tsx",
"capabilities": [
"gateways-profiles/client-connect"
],
"purpose": "Assistant connections/Consent",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/gateways-profiles.md",
"ui/src/pages/McpConnect.tsx",
"ui/storybook/fixtures/publicMcp.ts",
"ui/storybook/stories/gateways-profiles/public-mcp-consent.stories.tsx"
],
"fingerprint": "263a310d8c4fdf4c693f77dddc923880330d9be73c69cbb05b83d3ed4d59490a",
"stableId": "assistant-connections-consent",
"sidebarTitle": "Apps, channels, and extensions/Tool gateways and access profiles/Assistant connections/Consent"
},
{
"file": "ui/storybook/stories/gateways-profiles/public-mcp-device.stories.tsx",
"capabilities": [
"gateways-profiles/client-connect"
],
"purpose": "Assistant connections/Device authorization",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/gateways-profiles.md",
"ui/src/pages/McpConnect.tsx",
"ui/storybook/fixtures/publicMcp.ts",
"ui/storybook/stories/gateways-profiles/public-mcp-device.stories.tsx"
],
"fingerprint": "931a100cc1ad520bdb43712fad8b0284e47ad1a3ee531d55a5cbff0a430907c0",
"stableId": "assistant-connections-device-authorization",
"sidebarTitle": "Apps, channels, and extensions/Tool gateways and access profiles/Assistant connections/Device authorization"
},
{
"file": "ui/storybook/stories/gateways-profiles/public-mcp-journey.stories.tsx",
"capabilities": [
"gateways-profiles/client-connect"
],
"purpose": "Assistant connections/Start here",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/gateways-profiles.md",
"ui/src/components/Layout.tsx",
"ui/src/pages/InstanceExperimentalSettings.tsx",
"ui/src/pages/apps/AssistantConnection.tsx",
"ui/src/pages/apps/Browse.tsx",
"ui/storybook/fixtures/publicMcp.ts",
"ui/storybook/stories/gateways-profiles/public-mcp-journey.stories.tsx",
"ui/storybook/support/public-mcp-presenter.tsx"
],
"fingerprint": "683c517cdaa396555d0bafe049401ccd9768c4d4dec58c3fc4cbbb292e7c147d",
"stableId": "assistant-connections-start-here",
"sidebarTitle": "Apps, channels, and extensions/Tool gateways and access profiles/Assistant connections/Start here"
},
{
"file": "ui/storybook/stories/gateways-profiles/public-mcp-setting.stories.tsx",
"capabilities": [
"gateways-profiles/client-connect",
"instance-operations/configuration"
],
"purpose": "Assistant connections/Experimental setting",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. ToggleOnAndOff, ManagedByCloud and SaveFailedRollsBack mount production experimental settings with simulated saves. Only the assistant-connection flag is represented, not every instance setting. The recipe distinguishes process liveness from authenticated database readiness; these examples do not exercise that operator API boundary.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/gateways-profiles.md",
"ui/src/pages/InstanceExperimentalSettings.tsx",
"ui/storybook/fixtures/publicMcp.ts",
"ui/storybook/stories/gateways-profiles/public-mcp-setting.stories.tsx",
"maps/feature-map/instance-operations.md"
],
"fingerprint": "06f786e22151a5e1ec113966cbe72f28841a10f4e580c73bab18733091429711",
"stableId": "assistant-connections-experimental-setting",
"sidebarTitle": "Apps, channels, and extensions/Tool gateways and access profiles/Assistant connections/Experimental setting"
},
{
"file": "ui/storybook/stories/recovery/recovery-notice-preview.stories.tsx",
"capabilities": [
"recovery/diagnosis",
"recovery/source-action"
],
"purpose": "Design previews/Recovery notice",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"ui/src/components/DispositionRecoveryNotice.tsx",
"ui/src/components/task-chat/TaskChatSystemNotice.tsx",
"ui/src/components/task-chat/task-chat-model.ts",
"ui/storybook/prototypes/recovery-notice/RecoveryNoticePreview.tsx",
"ui/storybook/stories/recovery/recovery-notice-preview.stories.tsx"
],
"fingerprint": "44d25bc1cf087902bc991cc7fd1dc2bc19880c18189960dae47c68a9284bc0f6",
"stableId": "design-previews-recovery-notice",
"sidebarTitle": "Projects and execution/Recovery/Design previews/Recovery notice"
},
{
"file": "ui/storybook/stories/skills/repository-skill-packages/repository-skill-packages.stories.tsx",
"capabilities": [
"skills/versions",
"skills/discovery"
],
"purpose": "Skills/Repository packages",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/skills.md",
"ui/src/components/Layout.tsx",
"ui/src/pages/CompanySkills.tsx",
"ui/src/pages/SkillSources.tsx",
"ui/src/pages/SkillStudio.tsx",
"ui/storybook/fixtures/githubSkillSources.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/skills/github-skills-journey.stories.tsx",
"ui/storybook/stories/skills/repository-skill-packages/repository-skill-packages.stories.tsx"
],
"fingerprint": "d8af830b23aa96f0a92b898b16c090e76fe4e9b986517fbf72d9cdedf840e7e4",
"stableId": "skills-repository-packages",
"sidebarTitle": "Agents and reusable capabilities/Skills and Skill Studio/Skills/Repository packages"
},
{
"file": "ui/storybook/stories/questions-and-approvals/rich-acp-interactions.stories.tsx",
"capabilities": [
"questions-and-approvals/questions",
"questions-and-approvals/confirmations",
"questions-and-approvals/audience"
],
"purpose": "Chat & Comments/Rich ACP interactions",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/questions-and-approvals.md",
"ui/src/components/IssueThreadInteractionCard.tsx",
"ui/src/components/task-chat/TaskChatCompactInteractionCard.tsx",
"ui/src/components/task-chat/TaskChatProtocolActivityRow.tsx",
"ui/src/components/task-chat/TaskChatProtocolCard.tsx",
"ui/src/components/task-chat/task-chat-model.ts",
"ui/src/components/task-chat/transcript-adapter.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/questions-and-approvals/rich-acp-interactions.stories.tsx"
],
"fingerprint": "6a524bb57fd5e0c0e70ce6cb4b7d61076293f4380f93707a6786f1cccbdcc887",
"stableId": "chat-comments-rich-acp-interactions",
"sidebarTitle": "Tasks and conversations/Questions and approvals/Chat & Comments/Rich ACP interactions"
},
{
"file": "ui/storybook/stories/documents-artifacts/rich-work-product-cards.stories.tsx",
"capabilities": [
"documents-artifacts/work-products"
],
"purpose": "Task Chat/Rich Work Product Cards",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/task-chat/RichWorkProductCard.tsx",
"ui/src/components/task-chat/TaskChatBubble.tsx",
"ui/src/components/task-chat/task-chat-model.ts",
"ui/storybook/stories/documents-artifacts/rich-work-product-cards.stories.tsx"
],
"fingerprint": "e02eeeed61f5311ac298a8655906089e96ca867670a1deebcc36fb7432fb3153",
"stableId": "task-chat-rich-work-product-cards",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Task Chat/Rich Work Product Cards"
},
{
"file": "ui/storybook/stories/routines/routine-detail-c.stories.tsx",
"capabilities": [
"routines/definition",
"routines/management",
"activity/routine-audit"
],
"purpose": "Product/Routines · Detail (variation C)",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Activity mounts the shipped ActivitySection with fixture trigger/run/configuration events. This does not establish live routine execution or audit persistence.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/routines.md",
"ui/src/components/AgentActionButtons.tsx",
"ui/src/components/RoutineSaveBar.tsx",
"ui/src/components/RoutineSubSidebar.tsx",
"ui/src/components/routine-sections/context.tsx",
"ui/src/components/routine-sections/editable-sections.tsx",
"ui/src/components/routine-sections/operate-sections.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/routines/routine-detail-c.stories.tsx",
"maps/feature-map/activity.md"
],
"fingerprint": "853370d71e85c5e01b79d19831cba7f839f4b75af42fa51e7e94f84e31a6eb81",
"stableId": "product-routines-·-detail-variation-c",
"sidebarTitle": "Automation and structured work/Routines, schedules, and triggers/Product/Routines · Detail (variation C)"
},
{
"file": "ui/storybook/stories/routines/routine-secrets.stories.tsx",
"capabilities": [
"routines/definition",
"secrets/runtime-delivery"
],
"purpose": "Product/Routines · Secrets tab",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Agent-owned instance secrets remain in trusted server runtime and are excluded from ordinary agent delivery; these UI examples do not verify that lifecycle contract.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/routines.md",
"maps/feature-map/secrets.md",
"ui/src/components/RoutineHistoryTab.tsx",
"ui/src/components/environment-variables-editor/index.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/routines/routine-secrets.stories.tsx"
],
"fingerprint": "ac3e04699ed84d7a11567f17b185c2bbe5c30d049586e03def563f774457e276",
"stableId": "product-routines-·-secrets-tab",
"sidebarTitle": "Automation and structured work/Routines, schedules, and triggers/Product/Routines · Secrets tab"
},
{
"file": "ui/storybook/stories/routines/routine-webhooks-ux.stories.tsx",
"capabilities": [
"routines/triggers"
],
"purpose": "Product/Routines/Webhooks UX preview",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/routines.md",
"ui/src/components/Layout.tsx",
"ui/src/components/routine-triggers/TriggerCard.tsx",
"ui/src/components/routine-triggers/TriggerWizard.tsx",
"ui/src/components/routine-triggers/WebhookFields.tsx",
"ui/src/pages/RoutineDetail.tsx",
"ui/src/pages/Routines.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/fixtures/routineTriggerCard.tsx",
"ui/storybook/fixtures/routineTriggerWizard.tsx",
"ui/storybook/fixtures/routineWebhookFields.tsx",
"ui/storybook/fixtures/routineWebhooks.tsx",
"ui/storybook/stories/routines/routine-webhooks-ux.stories.tsx"
],
"fingerprint": "96129f07a13497700039df8275b2f8d3d74468793e042c01e61bda2bdc1ad8fe",
"stableId": "product-routines-webhooks-ux-preview",
"sidebarTitle": "Automation and structured work/Routines, schedules, and triggers/Product/Routines/Webhooks UX preview"
},
{
"file": "ui/storybook/stories/routines/routine-webhooks.stories.tsx",
"capabilities": [
"routines/triggers",
"routines/history",
"activity/routine-audit"
],
"purpose": "Product/Routines/Webhooks",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Runs and Activity mount RoutineDetail with fixture execution tasks/events and play assertions. Scheduler execution, delivery and audit persistence are not live.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/routines.md",
"ui/src/components/Layout.tsx",
"ui/src/pages/RoutineDetail.tsx",
"ui/src/pages/Routines.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/fixtures/routineWebhooks.tsx",
"ui/storybook/stories/routines/routine-webhooks.stories.tsx",
"maps/feature-map/activity.md"
],
"fingerprint": "93bdd95dd2c677ba7562f477b111486f93a081276a9e3c3a8af3c45874f20a5d",
"stableId": "product-routines-webhooks",
"sidebarTitle": "Automation and structured work/Routines, schedules, and triggers/Product/Routines/Webhooks"
},
{
"file": "ui/storybook/stories/routines/routines-list-groups.stories.tsx",
"capabilities": [
"routines/definition",
"routines/management"
],
"purpose": "Product/Routines · List (grouped cards)",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/routines.md",
"ui/src/components/RoutineList.tsx",
"ui/storybook/stories/routines/routines-list-groups.stories.tsx"
],
"fingerprint": "02a433aeee5be2ecc3284f0a27c45c4222e3abf05cbd478e55bfb7462a301d19",
"stableId": "product-routines-·-list-grouped-cards",
"sidebarTitle": "Automation and structured work/Routines, schedules, and triggers/Product/Routines · List (grouped cards)"
},
{
"file": "ui/storybook/stories/tasks/runner-activity.stories.tsx",
"capabilities": [
"tasks/discussion",
"runs-adapters/runs"
],
"purpose": "Tasks/Runner activity preview",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/runs-adapters.md",
"maps/feature-map/tasks.md",
"ui/src/components/task-chat/TaskChatLiveRunPill.tsx",
"ui/src/components/task-chat/TaskChatLiveTail.tsx",
"ui/src/components/task-chat/TaskChatRunnerTurn.tsx",
"ui/src/components/task-chat/TaskChatThreadView.tsx",
"ui/src/components/task-chat/expansion-state.tsx",
"ui/src/components/task-chat/task-chat-model.ts",
"ui/src/components/task-chat/transcript-adapter.ts",
"ui/storybook/prototypes/runner-activity/RunnerActivityPreview.tsx",
"ui/storybook/stories/tasks/runner-activity.stories.tsx"
],
"fingerprint": "99a90f98646e1e307ec6255c7f7bd6ce72958ba83f9968f6e0ae3863949b697a",
"stableId": "tasks-runner-activity-preview",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Tasks/Runner activity preview"
},
{
"file": "ui/storybook/stories/recovery/scheduled-retry.stories.tsx",
"capabilities": [
"recovery/bounded-continuation"
],
"purpose": "Product/Issue Scheduled retry surfaces",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"ui/src/components/IssueProperties.tsx",
"ui/src/components/IssueScheduledRetryCard.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/recovery/scheduled-retry.stories.tsx"
],
"fingerprint": "94225de83234003fe6c5bdc47767e50da8562f661dbf2c5678d9fb41490a86a5",
"stableId": "product-issue-scheduled-retry-surfaces",
"sidebarTitle": "Projects and execution/Recovery/Product/Issue Scheduled retry surfaces"
},
{
"file": "ui/storybook/stories/inbox-search/search.stories.tsx",
"capabilities": [
"inbox-search/search"
],
"purpose": "Product/Search & Command K",
"status": "unreviewed",
"implementation": "prototype",
"boundary": "fixtures",
"notes": "Local search-page composition mounts production result components; does not establish parity with the production Search route. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/inbox-search.md",
"ui/src/components/PageTabBar.tsx",
"ui/src/components/StatusBadge.tsx",
"ui/src/components/search/MatchSourceChip.tsx",
"ui/src/components/search/SearchFilterBar.tsx",
"ui/src/components/search/SearchFilterChips.tsx",
"ui/src/components/search/SearchResultRow.tsx",
"ui/src/components/search/ZeroResultsRecovery.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/inbox-search/search.stories.tsx"
],
"fingerprint": "a6661b568c8bc74f7667aeff4a5da84a05f507dd62679ee9039808e825eeef61",
"stableId": "product-search-command-k",
"sidebarTitle": "Tasks and conversations/Inbox, decisions, and search/Product/Search & Command K"
},
{
"file": "ui/storybook/stories/workspaces/searchable-select.stories.tsx",
"capabilities": [
"workspaces/binding"
],
"purpose": "Components/SearchableSelect/Workspace picker",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the expanded workspace recipe; these examples do not establish durable task-folder continuity, repository authorization or sandbox admission. The workspace recipe now requires child boundary, safe reopen and checkpoint ancestry controls; these backend checks are not established by this fixture. The provisioning recipe requires controller script denial for remote selections and copy-only local source choices, including retained denial through metadata changes and reopening; these fixtures do not verify execution placement. Canonical default provisioning follows configured policy, primary, creation time and ID; these fixtures do not run source hooks or establish this backend precedence.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/workspaces.md",
"ui/src/components/SearchableSelect.tsx",
"ui/storybook/stories/workspaces/searchable-select.stories.tsx"
],
"fingerprint": "524803af7c926b60e8c636031f703d4bb4abe45cd4832c7985f81c8f4d0cb035",
"stableId": "components-searchableselect-workspace-picker",
"sidebarTitle": "Projects and execution/Workspaces, services, and files/Components/SearchableSelect/Workspace picker"
},
{
"file": "ui/storybook/stories/secrets/secrets.stories.tsx",
"capabilities": [
"secrets/company-secrets",
"secrets/vault-import"
],
"purpose": "Product/Secrets",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Agent-owned instance secrets remain in trusted server runtime and are excluded from ordinary agent delivery; these UI examples do not verify that lifecycle contract.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/secrets.md",
"ui/src/components/SecretBindingPicker.tsx",
"ui/src/components/environment-variables-editor/index.tsx",
"ui/src/pages/Secrets.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/secrets/secrets.stories.tsx"
],
"fingerprint": "b52b6355351b1d49d2fb5921f357fa957288ad646015c5bd99d02b5aec04fee2",
"stableId": "product-secrets",
"sidebarTitle": "Apps, channels, and extensions/Secrets and proposals/Product/Secrets"
},
{
"file": "ui/storybook/stories/runs-adapters/session-goals.stories.tsx",
"capabilities": [
"runs-adapters/session"
],
"purpose": "Composer/Session goals",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/runs-adapters.md",
"ui/src/components/task-chat/RunnerGoalWidget.tsx",
"ui/storybook/stories/runs-adapters/session-goals.stories.tsx"
],
"fingerprint": "91775a33b452fed0055f7e607384f3f95801a8bafbdf369cf149f8ebcc3943a8",
"stableId": "composer-session-goals",
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/Composer/Session goals"
},
{
"file": "ui/storybook/stories/skills/skill-import-progress.stories.tsx",
"capabilities": [
"skills/versions",
"skills/discovery"
],
"purpose": "Skills/Import progress",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/skills.md",
"ui/src/pages/skills/SkillImportProgress.tsx",
"ui/storybook/fixtures/githubSkillSources.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/skills/skill-import-progress.stories.tsx"
],
"fingerprint": "4f517ad1f4e9a390e29d2f5f31bd78209179043f4253817b5a2788c8a4824a6c",
"stableId": "skills-import-progress",
"sidebarTitle": "Agents and reusable capabilities/Skills and Skill Studio/Skills/Import progress"
},
{
"file": "ui/storybook/stories/skills/skill-policy-surfaces.stories.tsx",
"capabilities": [
"skills/policy"
],
"purpose": "Product/Skills/Policy surfaces",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/skills.md",
"ui/src/components/skill-studio/SkillPolicySurfaces.tsx",
"ui/storybook/stories/skills/skill-policy-surfaces.stories.tsx"
],
"fingerprint": "1f39ed395b4e147167ad855f867d7cb61d4829f4077e74ffe7c53029d67b67de",
"stableId": "product-skills-policy-surfaces",
"sidebarTitle": "Agents and reusable capabilities/Skills and Skill Studio/Product/Skills/Policy surfaces"
},
{
"file": "ui/storybook/stories/skills/skills-store-detail.stories.tsx",
"capabilities": [
"skills/discovery",
"skills/versions",
"skills/policy"
],
"purpose": "Skills Store/Skill detail",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Related examples cover fixture revisions and agent attachment selection. Save and attachment submission callbacks are no-ops; durable authoring, grants and enforcement are not established.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/skills.md",
"ui/src/pages/CompanySkills.tsx",
"ui/storybook/stories/skills/skills-store-detail.stories.tsx"
],
"fingerprint": "18c72ba27b8f06c186e21552c62d03a477ceb0b4f0d66253ed556830d7cc9a75",
"stableId": "skills-store-skill-detail",
"sidebarTitle": "Agents and reusable capabilities/Skills and Skill Studio/Skills Store/Skill detail"
},
{
"file": "ui/storybook/stories/skills/skills-store-discovery.stories.tsx",
"capabilities": [
"skills/discovery"
],
"purpose": "Skills Store/Discovery grid",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/skills.md",
"ui/src/pages/CompanySkills.tsx",
"ui/storybook/stories/skills/skills-store-discovery.stories.tsx"
],
"fingerprint": "8f492ae3f71ac39d7a752929df767b9d37a0e782e2d3ee515cfa1b5c22d0c1a9",
"stableId": "skills-store-discovery-grid",
"sidebarTitle": "Agents and reusable capabilities/Skills and Skill Studio/Skills Store/Discovery grid"
},
{
"file": "ui/storybook/stories/chat-channels/slack-automatic-setup.stories.tsx",
"capabilities": [
"chat-channels/providers",
"connection-setup/channel-setup"
],
"purpose": "Connections/Slack/Automatic setup",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the added connection/destination-default recipe; these unchanged setup, identity or conversation examples do not establish default selection or new-task inheritance. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"maps/feature-map/connection-setup.md",
"ui/src/components/chat/ChatSetupNavigation.tsx",
"ui/src/pages/apps/chat/ChatEndpointSetup.tsx",
"ui/storybook/fixtures/SlackSetupFixture.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/chat-channels/slack-automatic-setup.stories.tsx"
],
"fingerprint": "31f3622faa8699ee34e8a70c340c13a302b1d1184f98da084da68ddf9213d2b8",
"stableId": "connections-slack-automatic-setup",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/Slack/Automatic setup"
},
{
"file": "ui/storybook/stories/chat-channels/slack-avatar-settings.stories.tsx",
"capabilities": [
"chat-channels/identity"
],
"purpose": "Connections/Slack/Avatar in Settings",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the added connection/destination-default recipe; these unchanged setup, identity or conversation examples do not establish default selection or new-task inheritance.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"ui/src/pages/apps/chat/ChatCommunicationInstructions.tsx",
"ui/src/pages/apps/chat/SlackAvatarStep.tsx",
"ui/storybook/prototypes/slack-avatar/SlackAvatarSettingsPreview.tsx",
"ui/storybook/stories/chat-channels/slack-avatar-settings.stories.tsx"
],
"fingerprint": "c6688ca3e157bbbd52554dff87cbe1842db9f993b78d07e810492372835d2f98",
"stableId": "connections-slack-avatar-in-settings",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/Slack/Avatar in Settings"
},
{
"file": "ui/storybook/stories/chat-channels/slack-communication-settings.stories.tsx",
"capabilities": [
"chat-channels/identity"
],
"purpose": "Connections/Slack/Communication in Settings",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the added connection/destination-default recipe; these unchanged setup, identity or conversation examples do not establish default selection or new-task inheritance.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"ui/src/pages/apps/chat/ChatCommunicationInstructions.tsx",
"ui/src/pages/apps/chat/SlackAvatarStep.tsx",
"ui/storybook/prototypes/slack-avatar/SlackAvatarSettingsPreview.tsx",
"ui/storybook/stories/chat-channels/slack-communication-settings.stories.tsx"
],
"fingerprint": "176a29291c7a696273dbbe50622c0dc845015adc119c9ae162dc1c957943a177",
"stableId": "connections-slack-communication-in-settings",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/Slack/Communication in Settings"
},
{
"file": "ui/storybook/stories/chat-channels/slack-managed-setup.stories.tsx",
"capabilities": [
"chat-channels/providers",
"connection-setup/channel-setup"
],
"purpose": "Connections/Slack/Managed setup",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the added connection/destination-default recipe; these unchanged setup, identity or conversation examples do not establish default selection or new-task inheritance. The recipe adds bounded Telegram subscription maintenance regressions; this story does not establish real provider startup recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"maps/feature-map/connection-setup.md",
"ui/src/components/chat/ChatSetupNavigation.tsx",
"ui/src/pages/apps/chat/ChatEndpointSetup.tsx",
"ui/storybook/fixtures/SlackSetupFixture.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/chat-channels/slack-managed-setup.stories.tsx"
],
"fingerprint": "2615f5c6c170741458801ec39bdf19f84334db7cac3e38d1115d5cc4bbdd18f2",
"stableId": "connections-slack-managed-setup",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/Slack/Managed setup"
},
{
"file": "ui/storybook/stories/chat-channels/slack-tools.stories.tsx",
"capabilities": [
"chat-channels/conversation"
],
"purpose": "Connections/Slack/Task tools",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the added connection/destination-default recipe; these unchanged setup, identity or conversation examples do not establish default selection or new-task inheritance.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"ui/src/pages/apps/chat/SlackToolSettings.tsx",
"ui/storybook/stories/chat-channels/slack-tools.stories.tsx"
],
"fingerprint": "20189b2032c2aecf3242e8d086fed9ca0b02d7adaa80aff9a69b60f1b23bce18",
"stableId": "connections-slack-task-tools",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/Slack/Task tools"
},
{
"file": "ui/storybook/stories/recovery/source-issue-recovery.stories.tsx",
"capabilities": [
"recovery/diagnosis",
"recovery/source-action"
],
"purpose": "Paperclip/Source Issue Recovery",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Source review confirms ordinary recovery fixtures remain applicable after the native-owner resolution gate; native-owner stop verification has its own suite. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"ui/src/components/IssueBlockedNotice.tsx",
"ui/src/components/IssueRecoveryActionCard.tsx",
"ui/src/components/IssueRow.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/recovery/source-issue-recovery.stories.tsx"
],
"fingerprint": "e83979b6d2737fef8666a36860817af9272d4d4df649a0784c04e4bc32b63028",
"stableId": "paperclip-source-issue-recovery",
"sidebarTitle": "Projects and execution/Recovery/Paperclip/Source Issue Recovery"
},
{
"file": "ui/storybook/stories/recovery/source-resolved-fold.stories.tsx",
"capabilities": [
"recovery/diagnosis",
"recovery/source-action"
],
"purpose": "Paperclip/Source-resolved Fold",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"ui/src/components/SourceResolvedFoldBadge.tsx",
"ui/src/components/SourceResolvedFoldCallout.tsx",
"ui/storybook/stories/recovery/source-resolved-fold.stories.tsx"
],
"fingerprint": "6b42874521d91e0aa6323fb4d6744a6abd7931fda54e6591bdac9131fa2abaa4",
"stableId": "paperclip-source-resolved-fold",
"sidebarTitle": "Projects and execution/Recovery/Paperclip/Source-resolved Fold"
},
{
"file": "ui/storybook/stories/foundations/status-language.stories.tsx",
"capabilities": [
"developer-labs/design"
],
"purpose": "Foundations/Status Language",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Related design reference: demonstrates shared production controls and visual states in an isolated contributor fixture; retains its Foundations home. No product-journey or baseline comparison claim.",
"reviewedAt": "2026-10-13",
"sources": [
"ui/src/components/CopyText.tsx",
"ui/src/components/EmptyState.tsx",
"ui/src/components/Identity.tsx",
"ui/src/components/IssueBlockedNotice.tsx",
"ui/src/components/IssueRow.tsx",
"ui/src/components/MetricCard.tsx",
"ui/src/components/PriorityIcon.tsx",
"ui/src/components/QuotaBar.tsx",
"ui/src/components/StatusBadge.tsx",
"ui/src/components/StatusIcon.tsx",
"ui/src/components/ui/card.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/foundations/status-language.stories.tsx",
"maps/feature-map/developer-labs.md"
],
"exception": "Shared foundations or contributor guide; no single business capability owns this suite.",
"fingerprint": "9cf8b929ba0d6ad4d8d2a6711aa7fb609ef57069d87a050f77dd389de608ee36",
"stableId": "foundations-status-language",
"sidebarTitle": "Foundations/Status Language",
"home": "foundations"
},
{
"file": "ui/storybook/stories/task-coordination/sub-issues-workflow.stories.tsx",
"capabilities": [
"task-coordination/dependencies",
"task-coordination/delegation"
],
"purpose": "UX Labs/Sub-issues Workflow Checklist",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Creation visibility now defaults to hiding automated independent tasks, with a Show agent-created tasks control and inbox participation exceptions. Source alignment reviewed; these fixture stories do not establish live server pagination or authorization. Creation visibility now shares the subscribed preference across modern and legacy controls; hierarchy child reads share a bounded rendering budget. Source alignment inspected; server behavior is tested separately. Hierarchy fetch and rendering budgets are separate; loaded context remains during paging. The large-tree UI regression exercises delayed reads in both list interfaces.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/task-coordination.md",
"ui/src/components/IssuesList.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/task-coordination/sub-issues-workflow.stories.tsx"
],
"fingerprint": "4461d14e90da3e93b82826efdddf131ae014c61a040f33cfae1df1368c6ddb2d",
"stableId": "ux-labs-sub-issues-workflow-checklist",
"sidebarTitle": "Tasks and conversations/Delegation, dependencies, and signoff/UX Labs/Sub-issues Workflow Checklist"
},
{
"file": "ui/storybook/stories/tasks/successful-run-handoff.stories.tsx",
"capabilities": [
"tasks/completion",
"recovery/diagnosis"
],
"purpose": "Paperclip/Successful Run Handoff",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"maps/feature-map/tasks.md",
"ui/src/components/Identity.tsx",
"ui/src/components/IssueBlockedNotice.tsx",
"ui/src/components/IssueChatThread.tsx",
"ui/src/components/KanbanBoard.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/tasks/successful-run-handoff.stories.tsx"
],
"fingerprint": "58d58a28f56037e392ab0f52d971f4c21f8745f84337552bc45bbeeffd0c6655",
"stableId": "paperclip-successful-run-handoff",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Paperclip/Successful Run Handoff"
},
{
"file": "ui/storybook/stories/agents/summary-slot-card.stories.tsx",
"capabilities": [
"agents/built-in"
],
"purpose": "Summaries/SummarySlotCard",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/agents.md",
"ui/src/components/SummarySlotCard.tsx",
"ui/storybook/stories/agents/summary-slot-card.stories.tsx"
],
"fingerprint": "88f4120cbc9da82fdcd44644259f8bacf39b482ef12950e0b26313b5c0a2c81d",
"stableId": "summaries-summaryslotcard",
"sidebarTitle": "Agents and reusable capabilities/Hiring, configuration, and organization/Summaries/SummarySlotCard"
},
{
"file": "ui/storybook/stories/documents-artifacts/task-artifact-gallery.stories.tsx",
"capabilities": [
"documents-artifacts/library",
"documents-artifacts/work-products"
],
"purpose": "Tasks/Artifact Gallery",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/ImageGalleryModal.tsx",
"ui/src/components/issue-properties/IssuePropertiesArtifactsTab.tsx",
"ui/src/components/task-chat/RichWorkProductCard.tsx",
"ui/src/components/task-chat/TaskChatBubble.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/documents-artifacts/task-artifact-gallery.stories.tsx"
],
"fingerprint": "4d8181361cd7fd9c38ad04cde9ce1ed245498d063650890ca356a6c1e304c448",
"stableId": "tasks-artifact-gallery",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Tasks/Artifact Gallery"
},
{
"file": "ui/storybook/stories/tasks/task-chat-chain-of-thought.stories.tsx",
"capabilities": [
"tasks/discussion",
"runs-adapters/runs"
],
"purpose": "Tasks/Task chat review fixes",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/runs-adapters.md",
"maps/feature-map/tasks.md",
"ui/src/components/task-chat/TaskChatBubble.tsx",
"ui/src/components/task-chat/TaskChatRunnerTurn.tsx",
"ui/src/components/task-chat/TaskChatStatusPill.tsx",
"ui/src/components/task-chat/task-chat-adapter.ts",
"ui/src/components/task-chat/task-chat-model.ts",
"ui/storybook/stories/tasks/task-chat-chain-of-thought.stories.tsx"
],
"fingerprint": "4747486949d9bca41e7bed36d511eb523651bc1e23ac0427892ff9b47e29cd28",
"stableId": "tasks-task-chat-review-fixes",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Tasks/Task chat review fixes"
},
{
"file": "ui/storybook/stories/questions-and-approvals/task-chat-interaction-above-composer.stories.tsx",
"capabilities": [
"questions-and-approvals/questions",
"questions-and-approvals/confirmations",
"questions-and-approvals/audience"
],
"purpose": "Composer/Interaction above composer",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Corrected local dismissal/send harness: questions leave no pending badge; confirmations retain reopen. Production cards/composer; persisted dismissal is covered separately by unanswered-question fixtures. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/questions-and-approvals.md",
"ui/src/components/MobileBottomNav.tsx",
"ui/src/components/task-chat/TaskChatComposer.tsx",
"ui/src/components/task-chat/TaskChatComposerDock.tsx",
"ui/src/components/task-chat/TaskChatInteractionCard.tsx",
"ui/src/components/task-chat/TaskChatProtocolCard.tsx",
"ui/src/components/task-chat/task-chat-model.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/prototypes/composer-model-picker/fixtures.ts",
"ui/storybook/stories/questions-and-approvals/task-chat-interaction-above-composer.stories.tsx"
],
"fingerprint": "a50e649ffce57fafe3ca37b31260463156238af8e58244b3cf33fdeac08353e2",
"stableId": "composer-interaction-above-composer",
"sidebarTitle": "Tasks and conversations/Questions and approvals/Composer/Interaction above composer"
},
{
"file": "ui/storybook/stories/tasks/task-chat-mobile-follow.stories.tsx",
"capabilities": [
"tasks/discussion"
],
"purpose": "Task chat/Mobile streaming follow",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/tasks.md",
"ui/src/components/MobileBottomNav.tsx",
"ui/src/components/task-chat/TaskChatComposer.tsx",
"ui/src/components/task-chat/TaskChatComposerDock.tsx",
"ui/src/components/task-chat/TaskChatThreadView.tsx",
"ui/src/components/task-chat/useWindowAutoFollow.ts",
"ui/storybook/stories/tasks/task-chat-mobile-follow.stories.tsx"
],
"fingerprint": "840c21389fca0bf13a1df0d247a9d63836d8f38f4ca95c04838ca0cf36b881d9",
"stableId": "task-chat-mobile-streaming-follow",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Task chat/Mobile streaming follow"
},
{
"file": "ui/storybook/stories/tasks/task-chat-system-notice.stories.tsx",
"capabilities": [
"tasks/discussion"
],
"purpose": "Product/Task chat/System notice",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/tasks.md",
"ui/src/components/task-chat/TaskChatSystemNotice.tsx",
"ui/src/components/task-chat/task-chat-model.ts",
"ui/storybook/stories/tasks/task-chat-system-notice.stories.tsx"
],
"fingerprint": "1dd5a86762602b618007a3ed83d0500074560bb9168e7f1873aab0aad555deef",
"stableId": "product-task-chat-system-notice",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Product/Task chat/System notice"
},
{
"file": "ui/storybook/stories/questions-and-approvals/task-chat-unanswered-questions.stories.tsx",
"capabilities": [
"questions-and-approvals/dismiss-and-reopen",
"tasks/discussion"
],
"purpose": "Chat & Comments/Task Chat Unanswered Questions",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/questions-and-approvals.md",
"maps/feature-map/tasks.md",
"ui/src/components/TaskChatThread.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/fixtures/unansweredQuestionChat.tsx",
"ui/storybook/stories/questions-and-approvals/task-chat-unanswered-questions.stories.tsx"
],
"fingerprint": "2eb8af0c7b2ecf6914c9bf5d1351427309a5a3ce31b90124c82c23dc2b50bf54",
"stableId": "chat-comments-task-chat-unanswered-questions",
"sidebarTitle": "Tasks and conversations/Questions and approvals/Chat & Comments/Task Chat Unanswered Questions"
},
{
"file": "ui/storybook/stories/tasks/task-context-notices.stories.tsx",
"capabilities": [
"tasks/discussion"
],
"purpose": "Tasks/Context notices",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work. Source review covers the retained-file recovery form, source-bound evidence and unchanged task status; fixture APIs do not prove live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/tasks.md",
"ui/src/components/EmailMessageCard.tsx",
"ui/src/components/ExecutionBlockerNotice.tsx",
"ui/src/components/chat/ExternallyConnectedTaskBanner.tsx",
"ui/storybook/stories/tasks/task-context-notices.stories.tsx"
],
"fingerprint": "794484576911fdab4a9b16db119890b75403316a8a4bbcce4041aee241c95193",
"stableId": "tasks-context-notices",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Tasks/Context notices"
},
{
"file": "ui/storybook/stories/steering/task-execution-controls.stories.tsx",
"capabilities": [
"steering/stop-and-pause"
],
"purpose": "Composer/Execution controls",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/steering.md",
"ui/src/components/TaskTreeControls.tsx",
"ui/src/components/ToastViewport.tsx",
"ui/src/components/task-chat/TaskChatComposer.tsx",
"ui/src/components/task-chat/TaskChatMarker.tsx",
"ui/storybook/stories/steering/task-execution-controls.stories.tsx"
],
"fingerprint": "8ac1afb1d07856297cf68417d309a9361a719eacceb9162ed54c86304e3c4634",
"stableId": "composer-execution-controls",
"sidebarTitle": "Tasks and conversations/Steering and queued messages/Composer/Execution controls"
},
{
"file": "ui/storybook/stories/documents-artifacts/task-text-files.stories.tsx",
"capabilities": [
"documents-artifacts/attachments"
],
"purpose": "Tasks/Text file tabs",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/task-side-panel/TaskSidePanel.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/documents-artifacts/task-text-files.stories.tsx"
],
"fingerprint": "1028fe178cec6a8d04100a1a89364cd64ffda5112e5235443ad47e4f4ef0358f",
"stableId": "tasks-text-file-tabs",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Tasks/Text file tabs"
},
{
"file": "ui/storybook/stories/task-coordination/task-watchdog-surfaces.stories.tsx",
"capabilities": [
"task-coordination/tree-control"
],
"purpose": "Product/Task Watchdog surfaces",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/task-coordination.md",
"ui/src/components/IssueProperties.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/task-coordination/task-watchdog-surfaces.stories.tsx"
],
"fingerprint": "ac40d01fdf92f09aeeb648ffe0a8304f5ea7aa8b47ab36bf7a62c89a1603a791",
"stableId": "product-task-watchdog-surfaces",
"sidebarTitle": "Tasks and conversations/Delegation, dependencies, and signoff/Product/Task Watchdog surfaces"
},
{
"file": "ui/storybook/stories/teams/team-catalog.stories.tsx",
"capabilities": [
"teams/preview",
"teams/discovery",
"teams/install",
"teams/configuration"
],
"purpose": "Surfaces/Team Catalog",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Renders shipped TeamCatalog source, but feature map documents current CLI/API access and no top-level catalog route. InstallApplyProgress, InstallSuccess and InstalledStates show simulated installation results; InstallPreview edits adapter choices in local state. No routed catalog, real package installation, account setup or working-agent proof.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/teams.md",
"ui/src/pages/TeamCatalog.fixtures.ts",
"ui/src/pages/TeamCatalog.tsx",
"ui/storybook/stories/teams/team-catalog.stories.tsx"
],
"fingerprint": "00b449499c3b79649dc1f29b5f105996c79e063b3d03c31226d861ad2954803b",
"stableId": "surfaces-team-catalog",
"sidebarTitle": "Agents and reusable capabilities/Team packages and installation/Surfaces/Team Catalog"
},
{
"file": "ui/storybook/stories/tasks/thread-human-identity/00-evidence.stories.tsx",
"capabilities": [
"tasks/discussion"
],
"purpose": "Chat & Comments/Human identity/00 Review guide",
"status": "unreviewed",
"implementation": "guide",
"boundary": "static",
"notes": "Review guide retained; explanatory content does not establish runtime or production coverage. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/tasks.md",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/tasks/thread-human-identity/00-evidence.stories.tsx",
"ui/storybook/support/thread-human-identity/fixtures.ts"
],
"fingerprint": "cb8b7d0dcdbd27bcaa16d2fcbc86e776b32db875bc6b4de3d752caa5aa9119da",
"stableId": "chat-comments-human-identity-00-review-guide",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Chat & Comments/Human identity/00 Review guide"
},
{
"file": "ui/storybook/stories/tasks/thread-human-identity/01-components.stories.tsx",
"capabilities": [
"tasks/discussion"
],
"purpose": "Chat & Comments/Human identity/01 Components",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/tasks.md",
"ui/src/components/task-chat/TaskChatBubble.tsx",
"ui/src/components/task-chat/task-chat-adapter.ts",
"ui/src/components/task-chat/task-chat-model.ts",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/tasks/thread-human-identity/01-components.stories.tsx",
"ui/storybook/support/thread-human-identity/fixtures.ts"
],
"fingerprint": "d87a48d3be494149116ab8fd366e90c17aa2e23805fb1f0d896464e10ba35b04",
"stableId": "chat-comments-human-identity-01-components",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Chat & Comments/Human identity/01 Components"
},
{
"file": "ui/storybook/stories/tasks/thread-human-identity/02-task-journey.stories.tsx",
"capabilities": [
"tasks/discussion"
],
"purpose": "Chat & Comments/Human identity/02 Mixed-author journey",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/tasks.md",
"ui/src/components/Layout.tsx",
"ui/src/components/TaskChatThread.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/tasks/thread-human-identity/02-task-journey.stories.tsx",
"ui/storybook/support/thread-human-identity/fixtures.ts"
],
"fingerprint": "68b3cca3a5ed9b116b34bd1dde6ca8012c350c2a7c2b60cc928d7e5b30da8694",
"stableId": "chat-comments-human-identity-02-mixed-author-journey",
"sidebarTitle": "Tasks and conversations/Task creation and lifecycle/Chat & Comments/Human identity/02 Mixed-author journey"
},
{
"file": "ui/storybook/stories/secrets/user-secrets.stories.tsx",
"capabilities": [
"secrets/user-secrets"
],
"purpose": "Product/User secrets",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Agent-owned instance secrets remain in trusted server runtime and are excluded from ordinary agent delivery; these UI examples do not verify that lifecycle contract.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/secrets.md",
"ui/src/components/environment-variables-editor/index.tsx",
"ui/src/pages/secrets/MissingUserSecretsBanner.tsx",
"ui/src/pages/secrets/MyUserSecretsTab.tsx",
"ui/src/pages/secrets/UserSecretDefinitionsTab.tsx",
"ui/storybook/stories/secrets/user-secrets.stories.tsx"
],
"fingerprint": "7946ebdc6c576de9cdd30205131073f5029aec8e094397bab66c300c1f3a79ea",
"stableId": "product-user-secrets",
"sidebarTitle": "Apps, channels, and extensions/Secrets and proposals/Product/User secrets"
},
{
"file": "ui/storybook/stories/developer-labs/ux-labs.stories.tsx",
"capabilities": [
"developer-labs/interaction-labs"
],
"purpose": "UX Labs/Converted Test Pages",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/developer-labs.md",
"ui/src/pages/InviteUxLab.tsx",
"ui/src/pages/IssueChatUxLab.tsx",
"ui/src/pages/RunTranscriptUxLab.tsx",
"ui/src/pages/SystemNoticeUxLab.tsx",
"ui/storybook/stories/developer-labs/ux-labs.stories.tsx"
],
"fingerprint": "b8df6cf57fcda25d2b175bc3156d539fb71055b5dae069bca61af8903a01aaf8",
"stableId": "ux-labs-converted-test-pages",
"sidebarTitle": "Contributor surfaces/Developer previews and diagnostic labs/UX Labs/Converted Test Pages"
},
{
"file": "ui/storybook/stories/inbox-search/what-needs-me.stories.tsx",
"capabilities": [
"inbox-search/decisions"
],
"purpose": "Pages/Decisions",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Creation-visibility verification recipes were updated; this story scenario is unchanged and does not prove that journey. The filter uses one lowercase label without helper text. All chat-channel tasks count as bot-created; the focused visibility stories cover human-initiated channel work.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/inbox-search.md",
"ui/src/components/AttentionQueueRow.tsx",
"ui/src/components/IssueGroupHeader.tsx",
"ui/src/components/ToastViewport.tsx",
"ui/storybook/stories/inbox-search/what-needs-me.stories.tsx"
],
"fingerprint": "0920cb3c4e75ba896955144a41f714a18dc778ec63f7b3abfa7e08b1032c0e94",
"stableId": "pages-decisions",
"sidebarTitle": "Tasks and conversations/Inbox, decisions, and search/Pages/Decisions"
},
{
"file": "ui/storybook/stories/activity/work-timeline.stories.tsx",
"capabilities": [
"activity/timeline"
],
"purpose": "Pages/Work Timeline",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
"reviewedAt": "2026-10-12",
"sources": [
"maps/feature-map/activity.md",
"ui/src/components/timeline/WorkTimelineChart.tsx",
"ui/src/pages/Timeline.tsx",
"ui/storybook/fixtures/workTimeline.human.sample.json",
"ui/storybook/fixtures/workTimeline.sample.json",
"ui/storybook/stories/activity/work-timeline.stories.tsx"
],
"fingerprint": "4f6e9f556073d4bc6a812f633bcff32cb84c4c02488746b37797501684ef3899",
"stableId": "pages-work-timeline",
"sidebarTitle": "Oversight and operation/Dashboards and audit trails/Pages/Work Timeline"
},
{
"file": "ui/storybook/stories/recovery/workspace-branch-recovery/01-component.stories.tsx",
"capabilities": [
"recovery/workspace"
],
"purpose": "Workspace branch recovery/01 Repair card",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"ui/src/components/WorkspaceBaseRefRecoveryNotice.tsx",
"ui/storybook/stories/recovery/workspace-branch-recovery/01-component.stories.tsx",
"ui/storybook/support/workspace-branch-recovery/fixtures.ts"
],
"fingerprint": "449d4ae2d427627089327567690e88219a14dfaeac3265bb3014cf1555e0da5d",
"stableId": "workspace-branch-recovery-01-repair-card",
"sidebarTitle": "Projects and execution/Recovery/Workspace branch recovery/01 Repair card"
},
{
"file": "ui/storybook/stories/recovery/workspace-branch-recovery/02-task-journey.stories.tsx",
"capabilities": [
"recovery/workspace"
],
"purpose": "Workspace branch recovery/02 Task journey",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Master reconciliation inspected assignment-history recipient suggestions and manual-selection retention; existing stories do not establish the new assignment-history behavior. Expanded upstream verification recipes were inspected; the existing fixture scenarios do not prove the added backend handoff, workspace, recovery or authorization contracts. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"ui/src/components/Layout.tsx",
"ui/src/components/StatusBadge.tsx",
"ui/src/components/WorkspaceBaseRefRecoveryNotice.tsx",
"ui/src/components/task-chat/TaskChatBubble.tsx",
"ui/src/components/task-chat/TaskChatComposer.tsx",
"ui/storybook/stories/recovery/workspace-branch-recovery/02-task-journey.stories.tsx",
"ui/storybook/support/workspace-branch-recovery/fixtures.ts"
],
"fingerprint": "c30653d1cd266832f7bdd401bc302a579d4170b7ea9b2523feccbdc66a58e997",
"stableId": "workspace-branch-recovery-02-task-journey",
"sidebarTitle": "Projects and execution/Recovery/Workspace branch recovery/02 Task journey"
},
{
"file": "ui/storybook/stories/workspaces/workspace-file-browser.stories.tsx",
"capabilities": [
"workspaces/files-git"
],
"purpose": "Issue/Workspace File Browser",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the expanded workspace recipe; these examples do not establish durable task-folder continuity, repository authorization or sandbox admission. The workspace recipe now requires child boundary, safe reopen and checkpoint ancestry controls; these backend checks are not established by this fixture. The provisioning recipe requires controller script denial for remote selections and copy-only local source choices, including retained denial through metadata changes and reopening; these fixtures do not verify execution placement. Canonical default provisioning follows configured policy, primary, creation time and ID; these fixtures do not run source hooks or establish this backend precedence.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/workspaces.md",
"ui/src/components/FileViewerSheet.tsx",
"ui/src/components/IssueWorkspaceCard.tsx",
"ui/storybook/stories/workspaces/workspace-file-browser.stories.tsx"
],
"fingerprint": "980fcd9a6905ac1eae10efeb7979dd8b3769c2cc7d625d4e0ba4b091f4b4d614",
"stableId": "issue-workspace-file-browser",
"sidebarTitle": "Projects and execution/Workspaces, services, and files/Issue/Workspace File Browser"
},
{
"file": "ui/storybook/stories/workspaces/workspace-runtime-provisioning.stories.tsx",
"capabilities": [
"workspaces/provisioning"
],
"purpose": "Workspaces/Runtime provisioning status",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed ExecutionWorkspaceDetail null-project handling. This suite mounts only the unchanged RuntimeProvisionStatusValue inside a local context row; it does not exercise the full detail page or projectless queries. The workspace recipe now requires child boundary, safe reopen and checkpoint ancestry controls; these backend checks are not established by this fixture. The provisioning recipe requires controller script denial for remote selections and copy-only local source choices, including retained denial through metadata changes and reopening; these fixtures do not verify execution placement. Canonical default provisioning follows configured policy, primary, creation time and ID; these fixtures do not run source hooks or establish this backend precedence.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/workspaces.md",
"ui/src/pages/ExecutionWorkspaceDetail.tsx",
"ui/storybook/stories/workspaces/workspace-runtime-provisioning.stories.tsx"
],
"fingerprint": "f8a7316fb6637151d8da32b637136408cd6fd9d505fe2a2a47f3c0d670b0eeec",
"stableId": "workspaces-runtime-provisioning-status",
"sidebarTitle": "Projects and execution/Workspaces, services, and files/Workspaces/Runtime provisioning status"
},
{
"file": "ui/storybook/stories/workspaces/workspace-service-control-bar.stories.tsx",
"capabilities": [
"workspaces/services"
],
"purpose": "Workspaces/Service control bar",
"status": "unreviewed",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. Task-workspace reconciliation reviewed the expanded workspace recipe; these examples do not establish durable task-folder continuity, repository authorization or sandbox admission. The workspace recipe now requires child boundary, safe reopen and checkpoint ancestry controls; these backend checks are not established by this fixture. The provisioning recipe requires controller script denial for remote selections and copy-only local source choices, including retained denial through metadata changes and reopening; these fixtures do not verify execution placement. Canonical default provisioning follows configured policy, primary, creation time and ID; these fixtures do not run source hooks or establish this backend precedence.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/workspaces.md",
"ui/src/components/WorkspaceServiceControlBar.tsx",
"ui/storybook/stories/workspaces/workspace-service-control-bar.stories.tsx"
],
"fingerprint": "b9cd51c58b31ab445e2997b9f2a23c7a7b3f4ecd7b6dd39fc0f35ae0779311df",
"stableId": "workspaces-service-control-bar",
"sidebarTitle": "Projects and execution/Workspaces, services, and files/Workspaces/Service control bar"
},
{
"file": "ui/storybook/stories/recovery/workspace-finalization-recovery/01-notice.stories.tsx",
"capabilities": [
"recovery/workspace",
"recovery/source-action"
],
"purpose": "Workspace finalization recovery/01 Notice",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Production quiet status; automatic restoration, legacy operator fallback, queued and resolved states. No task repair form, process details or API simulation. Provider proof is verified by separate server and harness tests. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"ui/src/components/WorkspaceExportRecovery.tsx",
"ui/storybook/stories/recovery/workspace-finalization-recovery/01-notice.stories.tsx",
"ui/storybook/support/workspace-finalization-recovery/fixtures.tsx"
],
"fingerprint": "5026bd7133f40a9c61371e22ed6976efc67013fd3047bf85056026de86bf6cec",
"stableId": "workspace-finalization-recovery-01-notice",
"sidebarTitle": "Projects and execution/Recovery/Workspace finalization recovery/01 Notice"
},
{
"file": "ui/storybook/stories/recovery/workspace-finalization-recovery/02-task-journey.stories.tsx",
"capabilities": [
"recovery/workspace",
"recovery/source-action"
],
"purpose": "Workspace finalization recovery/02 Task journey",
"status": "unreviewed",
"implementation": "mixed",
"boundary": "fixtures",
"notes": "Production shell, status, bubbles and composer in a local conversation composition; shows restoration and saved work waiting for confirmation. Fixture messages; not the shipped task page or live provider acceptance. The added verification recipe documents source-only retained-file repair; existing fixtures do not establish live provider recovery.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"ui/src/components/Layout.tsx",
"ui/src/components/WorkspaceExportRecovery.tsx",
"ui/src/components/task-chat/TaskChatBubble.tsx",
"ui/src/components/task-chat/TaskChatComposer.tsx",
"ui/storybook/stories/recovery/workspace-finalization-recovery/02-task-journey.stories.tsx",
"ui/storybook/support/workspace-finalization-recovery/fixtures.tsx"
],
"fingerprint": "934a8f1882d8b5f5381aba9d0f27026849870a1fa417178fb6bc4170c54b15ba",
"stableId": "workspace-finalization-recovery-02-task-journey",
"sidebarTitle": "Projects and execution/Recovery/Workspace finalization recovery/02 Task journey"
},
{
"file": "ui/storybook/stories/instance-operations/backup-retention.stories.tsx",
"capabilities": [
"instance-operations/backup",
"instance-operations/configuration"
],
"purpose": "Oversight and operation/Instance operations/Backup retention",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Retention presets, initial read, loading, error, denial and pending/saved selection in InstanceGeneralSettings. Backup creation/restore and real settings authority remain production obligations. The recipe distinguishes process liveness from authenticated database readiness; these examples do not exercise that operator API boundary.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/instance-operations.md",
"ui/src/pages/InstanceGeneralSettings.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/instance-operations/backup-retention.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-backup-retention",
"sidebarTitle": "Oversight and operation/Instance operations/Backup retention",
"fingerprint": "7dff68beb89f54e70e7afeb7abac2970c4e9101fae2320dc403a66ff7ae68f7a"
},
{
"file": "ui/storybook/stories/recovery/recovery-gap-states.stories.tsx",
"capabilities": [
"recovery/exhaustion",
"recovery/unknown-outcome"
],
"purpose": "Projects and execution/Recovery/Exhaustion and user decisions",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Exhaustion notice, blocked authority, retry pending/failure/accepted and inactive notice; unknown-outcome action card is rendered separately. Retry callbacks and disposition context are simulated; no real continuation proof. The expanded native copyback recovery recipe requires harness stop proof; these generic exhaustion/queued-response fixtures do not establish that path. Retained legacy files use a separate recovery form with verified stop evidence; these exhaustion and response-queue examples do not establish file repair.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"ui/src/components/DispositionRecoveryNotice.tsx",
"ui/src/components/IssueRecoveryActionCard.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/recovery/recovery-gap-states.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-recovery-gap-states",
"sidebarTitle": "Projects and execution/Recovery/Exhaustion and user decisions",
"fingerprint": "8eb7fd4ef6387f3b39c3c83ac6fe945761999a0c2c6a9eb124e2c4550f8718a1"
},
{
"file": "ui/storybook/stories/steering/durable-response-queue.stories.tsx",
"capabilities": [
"steering/approval-queue",
"recovery/user-continuation"
],
"purpose": "Tasks and conversations/Steering and queued messages/Accepted response delivery",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Accepted immutable response, cleanup wait, unavailable admission, empty queue and interrupt delivery states. Local callbacks remove delivered entries; durable queue/coalescing and fresh-session authority need production tests. The expanded native copyback recovery recipe requires harness stop proof; these generic exhaustion/queued-response fixtures do not establish that path. The shipped pending-delivery path removes rows optimistically and shows no separate progress indicator; the Delivering story asserts that actual presentation. Retained legacy files use a separate recovery form with verified stop evidence; these exhaustion and response-queue examples do not establish file repair.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/recovery.md",
"maps/feature-map/steering.md",
"ui/src/components/task-chat/TaskChatQueuedMessages.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/steering/durable-response-queue.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-durable-response-queue",
"sidebarTitle": "Tasks and conversations/Steering and queued messages/Accepted response delivery",
"fingerprint": "9dce4d11180c4e178e8e2c23d85175f97256d8137727076c6fbc979ea3fd1734"
},
{
"file": "ui/storybook/stories/workspaces/workspace-close.stories.tsx",
"capabilities": [
"workspaces/closure"
],
"purpose": "Projects and execution/Workspaces, services, and files/Close readiness",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Readiness dialog with loading, inspection failure/403, running-task block and pending/accepted archive response. No real workspace cleanup, Git removal or service shutdown is performed.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/workspaces.md",
"ui/src/components/ExecutionWorkspaceCloseDialog.tsx",
"ui/src/components/ToastViewport.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/workspaces/workspace-close.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-workspace-close",
"sidebarTitle": "Projects and execution/Workspaces, services, and files/Close readiness",
"fingerprint": "b3d1d32d7f1f51f837ecd04f64ca1b6b7e8b36c921d54b638898ef06512617cc"
},
{
"file": "ui/storybook/stories/budgets-costs/budget-resolution.stories.tsx",
"capabilities": [
"budgets-costs/resolution"
],
"purpose": "Oversight and operation/Costs and budgets/Resolve a budget incident",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped Costs budget tab with empty/read failures, invalid amount, raise-and-resume, keep-paused and write failure/pending. Fixture incident transitions only; real overlapping holds and hard stops remain separate. The upstream budget UI distinguishes soft warnings from hard stops; hard incidents retain raise-and-resume and keep-paused controls.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/budgets-costs.md",
"ui/src/pages/Costs.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/budgets-costs/budget-resolution.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-budget-resolution",
"sidebarTitle": "Oversight and operation/Costs and budgets/Resolve a budget incident",
"fingerprint": "8cf347aa01c0b4cb1364735794581b9123a23aba2151278a1a83354d582053ef"
},
{
"file": "ui/storybook/stories/activity/run-audit.stories.tsx",
"capabilities": [
"activity/runs"
],
"purpose": "Oversight and operation/Dashboards and audit trails/Execution history",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "AuditRuns list, completed receipt, empty/loading/failed/denied and no-match filter. Run records are fixture snapshots; no real execution or scoped audit proof.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/activity.md",
"ui/src/pages/audit/AuditRuns.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/activity/run-audit.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-run-audit",
"sidebarTitle": "Oversight and operation/Dashboards and audit trails/Execution history",
"fingerprint": "0a43211053a4c36b6ae4061a624b7e223660931b565a234a829b38d53eab4861"
},
{
"file": "ui/storybook/stories/secrets/proposal-review.stories.tsx",
"capabilities": [
"secrets/proposals"
],
"purpose": "Apps, channels, and extensions/Secrets and proposals/Proposal review",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Pending proposal, authority preflight block, list states and rejected proposal/rejection error. ProposalsTab and its dialogs are shipped; secret creation, values and grant authority are not exercised. Agent-owned instance secrets remain in trusted server runtime and are excluded from ordinary agent delivery; these UI examples do not verify that lifecycle contract.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/secrets.md",
"ui/src/components/ToastViewport.tsx",
"ui/src/pages/secrets/ProposalsTab.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/secrets/proposal-review.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-secret-proposal-review",
"sidebarTitle": "Apps, channels, and extensions/Secrets and proposals/Proposal review",
"fingerprint": "eb3a67d3543f732a6be88f3a2ee9b070f171ff18a037f1869f64b3edd66dfb14"
},
{
"file": "ui/storybook/stories/gateways-profiles/gateway-tokens.stories.tsx",
"capabilities": [
"gateways-profiles/tokens"
],
"purpose": "Apps, channels, and extensions/Tool gateways and access profiles/Named gateway tokens",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Named, empty and expired token history; issuance pending/error/403/success and name-confirmed revocation. Tokens are fictional; real bearer expiry, scope and revocation need API verification.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/gateways-profiles.md",
"ui/src/api/tools.ts",
"ui/src/components/ToastViewport.tsx",
"ui/src/pages/apps/gateways/NewGatewayDialog.tsx",
"ui/src/pages/apps/gateways/panels/TokensPanel.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/gateways-profiles/gateway-tokens.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-gateway-tokens",
"sidebarTitle": "Apps, channels, and extensions/Tool gateways and access profiles/Named gateway tokens",
"fingerprint": "0c565737015544b791cf7b4fda2f80fd9456368aeb8f0df0f9a4f60ad221b028"
},
{
"file": "ui/storybook/stories/access/cli-authorization.stories.tsx",
"capabilities": [
"access/cli-auth"
],
"purpose": "Getting started and access/Login, invitations, and access/CLI authorization",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Real CliAuth route with pending/expired/unavailable/preflight denial, approval/cancel and write pending/error. Fictional challenge; no CLI identity or real token is authorized.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/access.md",
"ui/src/lib/router.tsx",
"ui/src/pages/CliAuth.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/access/cli-authorization.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-cli-authorization",
"sidebarTitle": "Getting started and access/Login, invitations, and access/CLI authorization",
"fingerprint": "c87b678d05b7818fd201f97c7e41cd92ce25520123ef4d20b56dd0c9785455ee"
},
{
"file": "ui/storybook/stories/access/sign-in.stories.tsx",
"capabilities": [
"access/login"
],
"purpose": "Getting started and access/Login, invitations, and access/Sign in",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "AuthPage email form, session read loading/error, submission pending/failure and navigation to Companies after a fixture session. Real authentication, bootstrap claim and sign-out remain separate.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/access.md",
"ui/src/lib/router.tsx",
"ui/src/pages/Auth.tsx",
"ui/src/pages/Companies.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/access/sign-in.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-sign-in",
"sidebarTitle": "Getting started and access/Login, invitations, and access/Sign in",
"fingerprint": "b9524d5f5a97e14c7e3bc5989b94ebe0fea56ab8767df5c5efb24430b003d491"
},
{
"file": "ui/storybook/stories/access/membership.stories.tsx",
"capabilities": [
"access/membership"
],
"purpose": "Getting started and access/Login, invitations, and access/Organization membership",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "CompanyAccess member list and role change with loading/empty/failure/403 and failed mutation toast. Backend actor authority, invite lifecycle and durable membership are not verified.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/access.md",
"ui/src/components/ToastViewport.tsx",
"ui/src/pages/CompanyAccess.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/access/membership.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-membership",
"sidebarTitle": "Getting started and access/Login, invitations, and access/Organization membership",
"fingerprint": "8bd65a1aa65dc4e4767390eefb1b731a410ff852ac6eced05f5e3e5249d1a356"
},
{
"file": "ui/storybook/stories/companies/company-selection.stories.tsx",
"capabilities": [
"companies/selection",
"companies/archive"
],
"purpose": "Getting started and access/Companies and portability/Selection and archived organizations",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Companies list, selection storage and archived-company restoration with loading/empty/error/403. This covers the archive list/restoration side; CompanySettings archive confirmation remains an additional UI scenario.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/companies.md",
"ui/src/pages/Companies.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/companies/company-selection.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-company-selection",
"sidebarTitle": "Getting started and access/Companies and portability/Selection and archived organizations",
"fingerprint": "0275b0bd6538672ef381ffb6fbdf68b7611e93df97334246cb4b3b1c6856bc17"
},
{
"file": "ui/storybook/stories/plugins/plugin-management.stories.tsx",
"capabilities": [
"plugins/installation",
"plugins/lifecycle"
],
"purpose": "Apps, channels, and extensions/Plugins/Installation and lifecycle",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "PluginManager list states, install pending/error/success, disable and uninstall receipts. Local record transitions only; package loading and worker lifecycle require production verification.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/plugins.md",
"ui/src/components/ToastViewport.tsx",
"ui/src/pages/PluginManager.tsx",
"ui/src/pages/PluginSettings.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/plugins/plugin-management.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts",
"ui/storybook/support/capability-gaps/plugins.ts"
],
"stableId": "feature-plugin-management",
"sidebarTitle": "Apps, channels, and extensions/Plugins/Installation and lifecycle",
"fingerprint": "fd52b6f6966ae05ad7ffb755eebcfa0aeb6d9cb7c246a9def116de663eb5feeb"
},
{
"file": "ui/storybook/stories/plugins/plugin-configuration.stories.tsx",
"capabilities": [
"plugins/configuration"
],
"purpose": "Apps, channels, and extensions/Plugins/Configuration",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "PluginSettings configuration route with hydrated values, read pending/unavailable and saved/error/403 responses. Real config storage and plugin worker validation are not proved.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/plugins.md",
"ui/src/lib/router.tsx",
"ui/src/pages/PluginManager.tsx",
"ui/src/pages/PluginSettings.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/plugins/plugin-configuration.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts",
"ui/storybook/support/capability-gaps/plugins.ts"
],
"stableId": "feature-plugin-configuration",
"sidebarTitle": "Apps, channels, and extensions/Plugins/Configuration",
"fingerprint": "b80dc4cfa9311c9df6fb795a4b481405144342a9003062b2e0d8397d6f8b68e1"
},
{
"file": "ui/storybook/stories/plugins/plugin-contributions.stories.tsx",
"capabilities": [
"plugins/contributions"
],
"purpose": "Apps, channels, and extensions/Plugins/Contributed routes",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Production PluginPage host with a registered fixture plugin component; pending/missing contribution and discovery failure. Discovery failure currently remains Loading; contribution contents are a fixture, not shipped plugin code.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/plugins.md",
"ui/src/lib/router.tsx",
"ui/src/pages/PluginManager.tsx",
"ui/src/pages/PluginPage.tsx",
"ui/src/pages/PluginSettings.tsx",
"ui/src/plugins/slots.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/plugins/plugin-contributions.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts",
"ui/storybook/support/capability-gaps/plugins.ts"
],
"stableId": "feature-plugin-contributions",
"sidebarTitle": "Apps, channels, and extensions/Plugins/Contributed routes",
"fingerprint": "09b20d50e157c332613c3c03ccded5ae21804011005891cacd4342ce653b8d67"
},
{
"file": "ui/storybook/stories/cases/case-browse.stories.tsx",
"capabilities": [
"cases/browse"
],
"purpose": "Automation and structured work/Cases/Browse and hierarchy",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Cases page with fixture parent/child records and loading/empty/error/403. Failed list queries currently use the shipped empty-case presentation. Responsive duplicate labels are accounted for; server filters and case mutations remain separate.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/cases.md",
"ui/src/pages/Cases.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/cases/case-browse.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts",
"ui/storybook/support/capability-gaps/cases.ts"
],
"stableId": "feature-case-browse",
"sidebarTitle": "Automation and structured work/Cases/Browse and hierarchy",
"fingerprint": "41f3255e05cc2ca30fc22ff25748cff9b7017189f6ebb71d6f42827602237691"
},
{
"file": "ui/storybook/stories/cases/case-detail.stories.tsx",
"capabilities": [
"cases/structure",
"cases/history",
"cases/task-links"
],
"purpose": "Automation and structured work/Cases/Structure, history and task links",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "CaseDetail hierarchy and activity, CaseFieldsPanel arbitrary/empty data and IssueCasesPanel reverse links. Fixture relations/events; document revision history and persisted links remain production obligations.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/cases.md",
"ui/src/components/CaseFieldsPanel.tsx",
"ui/src/components/IssueCasesPanel.tsx",
"ui/src/lib/router.tsx",
"ui/src/pages/CaseDetail.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/cases/case-detail.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts",
"ui/storybook/support/capability-gaps/cases.ts"
],
"stableId": "feature-case-detail",
"sidebarTitle": "Automation and structured work/Cases/Structure, history and task links",
"fingerprint": "13a24fcf6de97812864194104d14343ec50130ba6aa5405078a1b127778ab0cf"
},
{
"file": "ui/storybook/stories/status-cards/status-card-states.stories.tsx",
"capabilities": [
"status-cards/authoring",
"status-cards/generation",
"status-cards/inspection",
"status-cards/archive"
],
"purpose": "Automation and structured work/Status cards/Authoring, updates and archive",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "StatusCards board/drawer with current/stale/error/live setup, list states, create, refresh, inspection and archive/restoration. Mutable receipts and setup task ID are fixtures; no summarizer execution or revision-history parity is claimed.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/status-cards.md",
"ui/src/lib/router.tsx",
"ui/src/pages/StatusCards/ArchivedStatusCardRow.tsx",
"ui/src/pages/StatusCards/CreateStatusCardDialog.tsx",
"ui/src/pages/StatusCards/StatusCardDetailDrawer.tsx",
"ui/src/pages/StatusCards/StatusCardTile.tsx",
"ui/src/pages/StatusCards/index.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/status-cards/status-card-states.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts",
"ui/storybook/support/capability-gaps/status-cards.ts"
],
"stableId": "feature-status-card-states",
"sidebarTitle": "Automation and structured work/Status cards/Authoring, updates and archive",
"fingerprint": "c6f52ca5e82fa4a14bc10b30177a0a9e689cd37d83fc5afbee77370f707bb13f"
},
{
"file": "ui/storybook/stories/goals/goal-alignment.stories.tsx",
"capabilities": [
"goals/alignment",
"goals/navigation"
],
"purpose": "Projects and execution/Goals and work alignment/Aligned work and navigation",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "GoalDetail child navigation and aligned-project tab with empty/loading/failure/403. Current UI displays relationships but has no project goal-assignment control; no invented assignment UI.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/goals.md",
"ui/src/lib/router.tsx",
"ui/src/pages/GoalDetail.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/goals/goal-alignment.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-goal-alignment",
"sidebarTitle": "Projects and execution/Goals and work alignment/Aligned work and navigation",
"fingerprint": "a9a4bc0845dbed28f5cc458713f4ceecb3641a9ba1b60fe1867f3b573a471622"
},
{
"file": "ui/storybook/stories/companies/company-import.stories.tsx",
"capabilities": [
"companies/portability"
],
"purpose": "Getting started and access/Companies and portability/Import preview",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped CompanyImport GitHub-source preview, warnings, pending, error and 403. Plan/package replies are fictional; export, final import and real package fidelity remain separate scenarios/contracts.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/companies.md",
"ui/src/pages/CompanyImport.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/companies/company-import.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-company-import",
"sidebarTitle": "Getting started and access/Companies and portability/Import preview",
"fingerprint": "578c7550b2a601c0c71aa7a847f9c9505a642629a92da73af0ef7e750fb3f370"
},
{
"file": "ui/storybook/stories/inbox-search/inbox-views.stories.tsx",
"capabilities": [
"inbox-search/views"
],
"purpose": "Tasks and conversations/Inbox, decisions, and search/Personal task views",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped Inbox host with Mine/Recent/Unread/Blocked under combined-inbox flags and list states. Approvals/join requests/run lists are isolated alongside tasks. Failed/denied list queries currently fall back to Inbox zero; personal participation/read metadata and server counts remain production verification. Mine/recent fixture tasks are human-created; the upstream agent-created-task filter changes are separate visibility scenarios.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/inbox-search.md",
"ui/src/pages/Inbox.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/inbox-search/inbox-views.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-inbox-views",
"sidebarTitle": "Tasks and conversations/Inbox, decisions, and search/Personal task views",
"fingerprint": "6b0a316d05b6e02af3c50075086063ae9c748ea4edc0e67156235bcc1eb8e21b"
},
{
"file": "ui/storybook/stories/skills/skill-test-runs.stories.tsx",
"capabilities": [
"skills/testing"
],
"purpose": "Agents and reusable capabilities/Skills and Skill Studio/Test runs",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "SkillStudio test history statuses and result detail with immutable fixture output/version. No agent/provider runs; authoring, harness execution, persisted costs and snapshots require production tests.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/skills.md",
"ui/src/lib/router.tsx",
"ui/src/pages/SkillStudio.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/skills/skill-test-runs.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts",
"ui/storybook/support/capability-gaps/skills.ts"
],
"stableId": "feature-skill-test-runs",
"sidebarTitle": "Agents and reusable capabilities/Skills and Skill Studio/Test runs",
"fingerprint": "4685add5676a5e6dd96885d326be891b8b48520787177d8540d5f3e2758cb8c5"
},
{
"file": "ui/storybook/stories/onboarding/resume-draft.stories.tsx",
"capabilities": [
"onboarding/resume"
],
"purpose": "Getting started and access/Onboarding and first work/Resume a saved draft",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "OnboardingWizard restores a seeded draft, malformed/unavailable-company handling and draft retention across a fixture remount. The reopen button belongs to the fixture host; real reload, account switch and storage failure remain separate checks.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/onboarding.md",
"ui/src/api/companies-query.ts",
"ui/src/components/OnboardingWizard.tsx",
"ui/src/components/ui/button.tsx",
"ui/src/context/DialogContext.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/fixtures/onboardingDraft.ts",
"ui/storybook/stories/onboarding/resume-draft.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-onboarding-resume",
"sidebarTitle": "Getting started and access/Onboarding and first work/Resume a saved draft",
"fingerprint": "90abcea935be1524a081ff34041f608fa2c0dd354dbc3bacbf16679cf580957f"
},
{
"file": "ui/storybook/stories/routines/run-now.stories.tsx",
"capabilities": [
"routines/run-now"
],
"purpose": "Automation and structured work/Routines, schedules, and triggers/Run now",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "RoutineDetail manual-run dialog with required input, captured variables, pending/error/success and read states. Fictional dispatch receipt; real scheduling, coalescing, workspace authority and execution remain separate.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/routines.md",
"ui/src/components/ToastViewport.tsx",
"ui/src/lib/router.tsx",
"ui/src/pages/RoutineDetail.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/fixtures/routineWebhooks.tsx",
"ui/storybook/stories/routines/run-now.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-routine-run-now",
"sidebarTitle": "Automation and structured work/Routines, schedules, and triggers/Run now",
"fingerprint": "6d6f650f4990ad61045c6e3c47ae446cf5ac7a5240ca123a91c2c3216bf0d3c9"
},
{
"file": "ui/storybook/stories/app-permissions/catalog-review.stories.tsx",
"capabilities": [
"app-permissions/catalog-change"
],
"purpose": "Apps, channels, and extensions/App access and action permissions/Review newly discovered actions",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Shipped ActionsSection quarantine reviewer with allowed/blocked decisions, empty/refreshing/saving/read-only props. Callbacks simulate catalog persistence; discovery failures belong to AppDetail and backend authority remains separate.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/app-permissions.md",
"ui/src/pages/apps/app-detail/PermissionsPanel.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/app-permissions/catalog-review.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-catalog-review",
"sidebarTitle": "Apps, channels, and extensions/App access and action permissions/Review newly discovered actions",
"fingerprint": "0b4c214f3c5e138fa57da3ed59a64c368d8ac7615476164743b810c117e7cab6"
},
{
"file": "ui/storybook/stories/chat-channels/channel-attachments.stories.tsx",
"capabilities": [
"chat-channels/attachments"
],
"purpose": "Apps, channels, and extensions/External chat and email/Task-linked files",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "TaskChatBubble with received/outbound saved attachment receipts, no/multiple files and missing filename. File links are fictional; no download, provider transfer or authorization is proved.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/chat-channels.md",
"ui/src/components/task-chat/TaskChatBubble.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/chat-channels/channel-attachments.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-channel-attachments",
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Task-linked files",
"fingerprint": "aa6718bf5754d2f5603682ed76d5075e277ce19f35b38356f92f8e3f14bc4f43"
},
{
"file": "ui/storybook/stories/steering/composer-draft-recovery.stories.tsx",
"capabilities": [
"steering/drafts"
],
"purpose": "Tasks and conversations/Steering and queued messages/Draft recovery",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "TaskChatComposer uses owned task-keyed browser drafts, uncertain submission fence, switch/restore and failed/accepted send callbacks. API receipt authority and real submission durability remain separate. Storybook-owned draft keys are reset using the matching retained submission ID on setup and cleanup; same-browser uncertain-to-empty/send switching is covered separately.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/steering.md",
"ui/src/components/task-chat/TaskChatComposer.tsx",
"ui/src/components/ui/button.tsx",
"ui/src/lib/composer-draft.ts",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/steering/composer-draft-recovery.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-composer-draft-recovery",
"sidebarTitle": "Tasks and conversations/Steering and queued messages/Draft recovery",
"fingerprint": "1c242e44746a80add5d9d54ea46611fe58ec43aac42e9d8c61027495c7fa4279"
},
{
"file": "ui/storybook/stories/inbox-search/personal-task-toasts.stories.tsx",
"capabilities": [
"inbox-search/toasts"
],
"purpose": "Tasks and conversations/Inbox, decisions, and search/Personal task notifications",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "LiveUpdatesProvider and ToastViewport consume fixture socket eligibility, suppress unrelated/visible-task events and deduplicate replay. Server eligibility metadata is simulated; no persisted multiplayer participation proof. The upstream Inbox recipe adds agent-created-task discovery checks; this LiveUpdatesProvider suite still tests toast eligibility only.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/inbox-search.md",
"ui/src/components/ToastViewport.tsx",
"ui/src/components/ui/button.tsx",
"ui/src/context/LiveUpdatesProvider.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/inbox-search/personal-task-toasts.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts",
"ui/storybook/support/capability-gaps/live-events.ts"
],
"stableId": "feature-personal-task-toasts",
"sidebarTitle": "Tasks and conversations/Inbox, decisions, and search/Personal task notifications",
"fingerprint": "956b02e1631234b0eaba5622e416edec931a8151a2f6c4f069cdefee3c51a428"
},
{
"file": "ui/storybook/stories/agent-chat/conference-room.stories.tsx",
"capabilities": [
"agent-chat/conference-room"
],
"purpose": "Tasks and conversations/Agent conversations and project handoff/Conference Room",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "BoardChat empty, reply, send pending/error/403 through fixture SSE and persisted comment reads. 403 uses the shipped generic unavailable message; route gates and real Claude execution remain separate.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/agent-chat.md",
"ui/src/pages/BoardChat.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/agent-chat/conference-room.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-conference-room",
"sidebarTitle": "Tasks and conversations/Agent conversations and project handoff/Conference Room",
"fingerprint": "2c2431d14a8e6106a6ede10021ea387b7b5e8a9770710f423cbe95ba316dc4da"
},
{
"file": "ui/storybook/stories/documents-artifacts/document-revisions.stories.tsx",
"capabilities": [
"documents-artifacts/documents"
],
"purpose": "Tasks and conversations/Documents, attachments, and work products/Document revisions",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "IssueDocumentsSection renders current/edit/historical preview and append-only restore with mutation error. Read/loading failures retain shipped fallback rendering; no persisted concurrency or authorization proof.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/documents-artifacts.md",
"ui/src/components/DocumentFrameHeader.tsx",
"ui/src/components/IssueDocumentsSection.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/fixtures/paperclipData.ts",
"ui/storybook/stories/documents-artifacts/document-revisions.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-document-revisions",
"sidebarTitle": "Tasks and conversations/Documents, attachments, and work products/Document revisions",
"fingerprint": "a1d9e6b7f17a5d75ac2ff91a0ad96b9de9dadab4b2e0340ac7ae94d32809409b"
},
{
"file": "ui/storybook/stories/navigation-preferences/sidebar-preferences.stories.tsx",
"capabilities": [
"navigation-preferences/preferences"
],
"purpose": "Oversight and operation/Navigation, profile, and announcements/Sidebar preferences",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Production Sidebar inside PluginLauncherProvider with saved-order reads, pending/error/403 fallback and session-only section collapse. Favorites, recents and actual order persistence still need the recipe checks.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/navigation-preferences.md",
"ui/src/components/Sidebar.tsx",
"ui/src/components/SidebarSection.tsx",
"ui/src/plugins/launchers.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/navigation-preferences/sidebar-preferences.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts"
],
"stableId": "feature-sidebar-preferences",
"sidebarTitle": "Oversight and operation/Navigation, profile, and announcements/Sidebar preferences",
"fingerprint": "5426596737a1f27105954d0e7fde6729f0b3a2e83ba7dec9e288286a359ab216"
},
{
"file": "ui/storybook/stories/pipelines/pipeline-board.stories.tsx",
"capabilities": [
"pipelines/items"
],
"purpose": "Automation and structured work/Pipelines, review queues, and learnings/Items",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Production Pipelines board with stages/items and loading/empty/error/403. Snapshot rows only; transitions, liveness, guards and automation execution remain separate.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/pipelines.md",
"ui/src/lib/router.tsx",
"ui/src/pages/Pipelines.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/pipelines/pipeline-board.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts",
"ui/storybook/support/capability-gaps/pipelines.ts"
],
"stableId": "feature-pipeline-board",
"sidebarTitle": "Automation and structured work/Pipelines, review queues, and learnings/Items",
"fingerprint": "6259bfc636e56d936fa77164bd5acbc5967066721a37f75bc803f5a4db6b3be3"
},
{
"file": "ui/storybook/stories/pipelines/stage-settings.stories.tsx",
"capabilities": [
"pipelines/stages"
],
"purpose": "Automation and structured work/Pipelines, review queues, and learnings/Stage settings",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Production PipelineSettings stage editor with filled configuration, no stages, pending/error/403. This pass renders the shipped controls; saved stage/automation changes remain production obligations.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/pipelines.md",
"ui/src/lib/router.tsx",
"ui/src/pages/PipelineSettings.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/pipelines/stage-settings.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts",
"ui/storybook/support/capability-gaps/pipelines.ts"
],
"stableId": "feature-pipeline-stages",
"sidebarTitle": "Automation and structured work/Pipelines, review queues, and learnings/Stage settings",
"fingerprint": "747e8cf58dd88118466de6b4ba8967f2f76ed31f7a8ee300f05265630367f0aa"
},
{
"file": "ui/storybook/stories/pipelines/review-queue.stories.tsx",
"capabilities": [
"pipelines/review"
],
"purpose": "Automation and structured work/Pipelines, review queues, and learnings/Review queue",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Production ReviewQueue with empty/loading/error/403, approval removal and failure recovery marked Needs attention. Fixture decisions do not prove real review leases, version checks or transitions.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/pipelines.md",
"ui/src/lib/router.tsx",
"ui/src/pages/Pipelines.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/pipelines/review-queue.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts",
"ui/storybook/support/capability-gaps/pipelines.ts"
],
"stableId": "feature-pipeline-review",
"sidebarTitle": "Automation and structured work/Pipelines, review queues, and learnings/Review queue",
"fingerprint": "360dedf71d3540f1b67880ba49687a3b6a8962a11fdc8c3a2acd375c695a883c"
},
{
"file": "ui/storybook/stories/pipelines/learnings.stories.tsx",
"capabilities": [
"pipelines/learnings"
],
"purpose": "Automation and structured work/Pipelines, review queues, and learnings/Learnings",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "Production Learnings feed renders a review_decided event plus loading/empty/error/403. Event provenance and durable audit records remain separate; this is not a new learning-record subsystem.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/pipelines.md",
"ui/src/lib/router.tsx",
"ui/src/pages/Pipelines.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/pipelines/learnings.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts",
"ui/storybook/support/capability-gaps/pipelines.ts"
],
"stableId": "feature-pipeline-learnings",
"sidebarTitle": "Automation and structured work/Pipelines, review queues, and learnings/Learnings",
"fingerprint": "acc796cc3ca32601e40809ffb0b5e1406c1360785c988d74baca3172cad71b49"
},
{
"file": "ui/storybook/stories/execution-environments/environment-states.stories.tsx",
"capabilities": [
"execution-environments/configuration",
"execution-environments/capabilities",
"execution-environments/probe"
],
"purpose": "Projects and execution/Execution environments/Configuration, capabilities, and probes",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "CompanyEnvironments configuration/edit, unsupported capabilities and probe pending/failure/success. No provider contacted. List read/loading failures expose shipped fallback behavior, not dedicated error UI.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/execution-environments.md",
"ui/src/components/ToastViewport.tsx",
"ui/src/lib/router.tsx",
"ui/src/pages/CompanyEnvironments.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/execution-environments/environment-states.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts",
"ui/storybook/support/capability-gaps/environments.ts"
],
"stableId": "feature-execution-environments",
"sidebarTitle": "Projects and execution/Execution environments/Configuration, capabilities, and probes",
"fingerprint": "9a14e48be15b72210745d53541505a92e331437b67369d42d6364e78938b5120"
},
{
"file": "ui/storybook/stories/execution-environments/custom-images.stories.tsx",
"capabilities": [
"execution-environments/images"
],
"purpose": "Projects and execution/Execution environments/Custom images",
"status": "current",
"implementation": "production",
"boundary": "fixtures",
"notes": "CompanyEnvironments image metadata: unconfigured, captured, unsupported, failed, loading and 403. No live setup terminal, provider capture, rollback or relink is executed.",
"reviewedAt": "2026-10-13",
"sources": [
"maps/feature-map/execution-environments.md",
"ui/src/components/ToastViewport.tsx",
"ui/src/lib/router.tsx",
"ui/src/pages/CompanyEnvironments.tsx",
"ui/storybook/.storybook/preview.tsx",
"ui/storybook/stories/execution-environments/custom-images.stories.tsx",
"ui/storybook/support/capability-gaps/api.ts",
"ui/storybook/support/capability-gaps/environments.ts"
],
"stableId": "feature-environment-images",
"sidebarTitle": "Projects and execution/Execution environments/Custom images",
"fingerprint": "0877c994c37d7272b9a1330897cf56d366162dc17e7503c753415dd1077c9446"
}
]
}