mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-23 00:53:38 +02:00
docs(storybook): record verification routes for missing examples (#16167)
## Thinking Path > - Paperclip is the open source app people use to manage AI agents for work. > - The feature map describes product capabilities and verification journeys. > - The Storybook catalog links existing examples to those capabilities. > - A capability without a story can need UI examples, CLI checks, or browser checks. > - This pull request records the required verification surface for all 60 current gaps. > - The next Storybook pass can add useful examples without claiming backend proof from mocks. ## Linked Issues or Issue Description Refs #16154. Reconciles the new task-notification capability from #16153. The related PR search found no duplicate of this classification pass. This change follows the merged association corrections. It does not add product behavior or duplicate a roadmap feature. ## What Changed - Add `maps/storybook-map/VERIFICATION.md` with all 60 unassociated capabilities: 49 UI example gaps, eight CLI/operator operations, and three browser verification boundaries. - Record required UI states, separate production checks, source links, and existing test starting points. Keep execution marked not run. - Link the record from the catalog contract. Tell the maintenance skill to keep its rows, counts, and source revision current. - Regenerate the feature index for personal task notifications. Refresh only the inspected recipe/index-dependent review fingerprints. Retain all 223 suites, 2,212 authored IDs, associations, and classifications. - Record the targeted association revisit. It found no additional justified links. ## Verification - `node scripts/storybook-catalog.mjs` and `node scripts/check-maps.mjs` passed. - All 27 catalog, feature-index, and map structural tests passed. - The maintenance skill validator passed. - A source check confirmed that the 60 unique rows match all non-guide association gaps. All report, contract, and skill file links exist. - `git diff --check` passed. - Inspect the eight CLI/operator rows and three browser rows. UI/API capabilities retain both obligations. - Full repository typecheck, tests, build, Storybook build, and live product journeys were not run locally for this documentation and generated-data change. No live proof is claimed. - Final head `a9ef9e8ebc1f41bb7047142704655d08b3e47be7`: all 57 checks/statuses are green (55 successful, two Storybook jobs skipped). Greptile approved this head at 5/5. The review finding is resolved and the PR is mergeable. ## Risks - This source inventory can become stale as capabilities or associations change. The maintenance skill requires refreshing its rows and source revision. - Existing test links identify starting points. They do not certify complete or passing production coverage. - There is no migration, permission change, product behavior change, story removal, or new visual baseline. ## Model Used OpenAI Codex with GPT-6 assisted with source review, documentation, and checks. It used shell tools and read-only area agents. The runtime did not expose an exact backend model revision or context-window size. ## 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>
This commit is contained in:
1 parent
ccdc6754b2
commit
252d9b5077
7 files changed
+303
-139
No files matched your search
@@ -83,7 +83,15 @@ are the demonstrated subject. Do not cap the number of source references.
|
||||
Update review fingerprints only after inspecting the changed source; do not refresh hashes merely
|
||||
to silence drift checks.
|
||||
|
||||
Update the catalog and run `node scripts/storybook-catalog.mjs --write` to refresh
|
||||
Update the catalog. Keep [verification routes](../../../maps/storybook-map/VERIFICATION.md)
|
||||
aligned with the unassociated capability IDs: distinguish missing shipped UI
|
||||
examples from CLI/operator operations and real browser checks. Record source
|
||||
revision, concrete reasons, production contracts and existing test starting points;
|
||||
test presence is not passing evidence. Do not exempt a mixed UI/API capability
|
||||
wholesale. When associating a new example, update this gap inventory without
|
||||
discarding its separate production verification obligations.
|
||||
|
||||
Run `node scripts/storybook-catalog.mjs --write` to refresh
|
||||
its generated indexes and feature pages, then run the checker without flags and
|
||||
`node --test scripts/storybook-catalog.test.mjs scripts/storybook-feature-index.test.mjs`.
|
||||
The script validates
|
||||
|
||||
+38
-38
@@ -49,7 +49,7 @@ Company switching/settings, archival, package import/export.
|
||||
| --- | --- | --- | --- | --- |
|
||||
| [Getting started and access/Companies and portability/Decision models/01 Settings](../../ui/storybook/stories/companies/decision-models/01-settings.stories.tsx) | `companies/identity`, `budgets-costs/cost-reporting`, `companies/decision-models` | unreviewed / production / fixtures | 11 / 0 | 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. |
|
||||
| [Getting started and access/Companies and portability/Decision models/02 History](../../ui/storybook/stories/companies/decision-models/02-history.stories.tsx) | `companies/identity`, `budgets-costs/cost-reporting`, `companies/decision-models` | unreviewed / production / fixtures | 4 / 0 | 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. |
|
||||
| [Getting started and access/Companies and portability/Decision models/03 Journey](../../ui/storybook/stories/companies/decision-models/03-journey.stories.tsx) | `companies/identity`, `budgets-costs/cost-reporting`, `companies/decision-models` | unreviewed / production / fixtures | 3 / 1 | 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. |
|
||||
| [Getting started and access/Companies and portability/Decision models/03 Journey](../../ui/storybook/stories/companies/decision-models/03-journey.stories.tsx) | `companies/identity`, `budgets-costs/cost-reporting`, `companies/decision-models` | unreviewed / production / fixtures | 3 / 1 | 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. |
|
||||
| [Getting started and access/Companies and portability/Fast responses/01 Settings](../../ui/storybook/stories/companies/fast-responses/01-settings.stories.tsx) | `companies/identity`, `budgets-costs/cost-reporting`, `companies/fast-responses` | unreviewed / production / fixtures | 9 / 0 | 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. |
|
||||
| [Getting started and access/Companies and portability/Fast responses/02 History](../../ui/storybook/stories/companies/fast-responses/02-history.stories.tsx) | `companies/identity`, `budgets-costs/cost-reporting`, `companies/fast-responses` | current / production / fixtures | 4 / 0 | 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. |
|
||||
|
||||
@@ -136,7 +136,7 @@ Question/plan responses, formal approvals, and app-tool review.
|
||||
| --- | --- | --- | --- | --- |
|
||||
| [Tasks and conversations/Questions and approvals/Chat & Comments/Agent Chat Unanswered Questions](../../ui/storybook/stories/questions-and-approvals/agent-chat-unanswered-questions.stories.tsx) | `questions-and-approvals/dismiss-and-reopen`, `agent-chat/history` | unreviewed / production / fixtures | 9 / 6 | 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. |
|
||||
| [Tasks and conversations/Questions and approvals/Composer/Question flow](../../ui/storybook/stories/questions-and-approvals/composer-question-flow.stories.tsx) | `questions-and-approvals/questions` | unreviewed / production / fixtures | 3 / 1 | 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. |
|
||||
| [Tasks and conversations/Questions and approvals/Chat & Comments/Connection Reviews](../../ui/storybook/stories/questions-and-approvals/connection-reviews.stories.tsx) | `questions-and-approvals/tool-review`, `connection-setup/task-request` | unreviewed / production / fixtures | 25 / 8 | 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. |
|
||||
| [Tasks and conversations/Questions and approvals/Chat & Comments/Connection Reviews](../../ui/storybook/stories/questions-and-approvals/connection-reviews.stories.tsx) | `questions-and-approvals/tool-review`, `connection-setup/task-request` | unreviewed / production / fixtures | 25 / 8 | 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. |
|
||||
| [Tasks and conversations/Questions and approvals/Issue Detail/Plan Decompositions](../../ui/storybook/stories/questions-and-approvals/issue-plan-decompositions.stories.tsx) | `questions-and-approvals/plan-review`, `task-coordination/delegation` | unreviewed / production / fixtures | 2 / 0 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Tasks and conversations/Questions and approvals/Chat & Comments/Issue Thread Interactions](../../ui/storybook/stories/questions-and-approvals/issue-thread-interactions.stories.tsx) | `questions-and-approvals/questions`, `questions-and-approvals/confirmations`, `questions-and-approvals/audience`, `questions-and-approvals/plan-review`, `questions-and-approvals/continuation` | unreviewed / production / fixtures | 53 / 0 | 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. |
|
||||
| [Tasks and conversations/Questions and approvals/Chat & Comments/Rich ACP interactions](../../ui/storybook/stories/questions-and-approvals/rich-acp-interactions.stories.tsx) | `questions-and-approvals/questions`, `questions-and-approvals/confirmations`, `questions-and-approvals/audience` | unreviewed / production / fixtures | 12 / 8 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
@@ -227,7 +227,7 @@ Adapter/model setup, account validation, transcripts, and run history.
|
||||
| [Agents and reusable capabilities/Runs, harnesses, and model accounts/Onboarding/Saved connections](../../ui/storybook/stories/runs-adapters/agent-connection-reuse.stories.tsx) | `runs-adapters/validation`, `agents/hire` | current / production / fixtures | 7 / 6 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Usage limits](../../ui/storybook/stories/runs-adapters/ai-connection-usage.stories.tsx) | `runs-adapters/validation` | unreviewed / production / fixtures | 8 / 8 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Review](../../ui/storybook/stories/runs-adapters/ai-connections.stories.tsx) | `runs-adapters/validation` | unreviewed / production / fixtures | 46 / 15 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Agents and reusable capabilities/Runs, harnesses, and model accounts/Connectors/Pool host](../../ui/storybook/stories/runs-adapters/connection-pool-connector.stories.tsx) | `runs-adapters/validation`, `connection-setup/catalog` | unreviewed / production / fixtures | 5 / 3 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Agents and reusable capabilities/Runs, harnesses, and model accounts/Connectors/Pool host](../../ui/storybook/stories/runs-adapters/connection-pool-connector.stories.tsx) | `runs-adapters/validation`, `connection-setup/catalog` | unreviewed / production / fixtures | 5 / 3 | 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. |
|
||||
| [Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Connection pools](../../ui/storybook/stories/runs-adapters/connection-pools.stories.tsx) | `runs-adapters/validation` | unreviewed / production / fixtures | 16 / 2 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Agents and reusable capabilities/Runs, harnesses, and model accounts/Assistant connections/Dot Runner](../../ui/storybook/stories/runs-adapters/dot-runner-connection.stories.tsx) | `runs-adapters/validation`, `gateways-profiles/client-connect` | unreviewed / production / fixtures | 4 / 2 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Agents and reusable capabilities/Runs, harnesses, and model accounts/AI Connections/Provider routing/07 Subscription sign-in](../../ui/storybook/stories/runs-adapters/local-ai-subscription.stories.tsx) | `runs-adapters/validation` | unreviewed / production / fixtures | 4 / 3 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
@@ -352,25 +352,25 @@ Catalog, MCP links, task requests, authentication, and setup resumption.
|
||||
|
||||
| Story suite | Capabilities | Product / implementation / data | Stories / play functions | Review note |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| [Apps, channels, and extensions/Connection setup/Components/Agent setup prompt](../../ui/storybook/stories/connection-setup/agent-setup-prompt.stories.tsx) | `connection-setup/channel-setup`, `gateways-profiles/client-connect` | unreviewed / production / fixtures | 11 / 3 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Canonical icon registry](../../ui/storybook/stories/connection-setup/AppLogoRegistry.stories.tsx) | `connection-setup/catalog` | unreviewed / production / fixtures | 2 / 0 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Catalog source selection](../../ui/storybook/stories/connection-setup/apps-catalog-source-selection.stories.tsx) | `connection-setup/catalog` | proposed / prototype / fixtures | 12 / 1 | Local catalog composition uses shipped cards and filters; retains design exploration purpose, not acceptance of the Apps route. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connect discoverability (PAP-11091)](../../ui/storybook/stories/connection-setup/apps-connect-discoverability.stories.tsx) | `connection-setup/catalog` | unreviewed / production / fixtures | 5 / 0 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connect name at create time (PAP-11283)](../../ui/storybook/stories/connection-setup/apps-connect-name.stories.tsx) | `connection-setup/identity-and-access` | unreviewed / production / fixtures | 2 / 0 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connections/Arcade](../../ui/storybook/stories/connection-setup/ArcadeConnection.stories.tsx) | `connection-setup/credentials`, `connection-setup/failure`, `connection-setup/draft-recovery`, `connection-setup/identity-and-access`, `app-permissions/action-policy`, `app-permissions/test-action` | unreviewed / production / fixtures | 26 / 1 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Connections/Browser Use Cloud/Settings](../../ui/storybook/stories/connection-setup/browser-use-settings.stories.tsx) | `connection-setup/credentials` | current / production / fixtures | 9 / 2 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connections/Composio](../../ui/storybook/stories/connection-setup/ComposioConnection.stories.tsx) | `connection-setup/credentials`, `connection-setup/failure`, `connection-setup/draft-recovery`, `connection-setup/identity-and-access`, `app-permissions/action-policy`, `app-permissions/test-action` | unreviewed / production / fixtures | 27 / 1 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Design explorations/Connections/Agent instructions](../../ui/storybook/stories/connection-setup/connection-instructions.stories.tsx) | `connection-setup/credentials`, `agents/instructions` | unreviewed / production / fixtures | 20 / 5 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connections/Provider choice](../../ui/storybook/stories/connection-setup/ConnectionProviderChoice.stories.tsx) | `connection-setup/identity-and-access` | unreviewed / production / fixtures | 7 / 4 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Enterpret connector](../../ui/storybook/stories/connection-setup/enterpret-connect-flow.stories.tsx) | `connection-setup/credentials`, `connection-setup/failure` | unreviewed / production / fixtures | 9 / 1 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connections/Executor](../../ui/storybook/stories/connection-setup/ExecutorConnection.stories.tsx) | `connection-setup/credentials`, `connection-setup/failure`, `connection-setup/draft-recovery`, `connection-setup/identity-and-access`, `app-permissions/action-policy`, `app-permissions/test-action` | unreviewed / production / fixtures | 26 / 1 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/PR reviews/Fireflies and app webhooks](../../ui/storybook/stories/connection-setup/fireflies-pr.stories.tsx) | `connection-setup/credentials`, `routines/triggers` | unreviewed / production / fixtures | 27 / 5 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Connection setup/Connections/In-task connections](../../ui/storybook/stories/connection-setup/in-feed-connections.stories.tsx) | `connection-setup/task-request` | unreviewed / production / fixtures | 78 / 23 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Managed Cloud OAuth handoff](../../ui/storybook/stories/connection-setup/managed-cloud-oauth-handoff.stories.tsx) | `connection-setup/handoff` | unreviewed / production / fixtures | 4 / 0 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connections/Memory](../../ui/storybook/stories/connection-setup/memory-connectors.stories.tsx) | `connection-setup/credentials`, `agents/instructions` | unreviewed / production / fixtures | 21 / 7 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Notion MCP connect flow (PAP-16650)](../../ui/storybook/stories/connection-setup/notion-connect-flow.stories.tsx) | `connection-setup/credentials`, `connection-setup/failure` | unreviewed / production / fixtures | 7 / 0 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Connection setup/Reviews/PAP-17835 Personal connection identity](../../ui/storybook/stories/connection-setup/personal-connection-identity.stories.tsx) | `connection-setup/identity-and-access` | unreviewed / production / fixtures | 10 / 0 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connections/Zapier](../../ui/storybook/stories/connection-setup/ZapierConnection.stories.tsx) | `connection-setup/credentials`, `connection-setup/failure`, `connection-setup/draft-recovery`, `connection-setup/identity-and-access`, `app-permissions/action-policy`, `app-permissions/test-action` | unreviewed / production / fixtures | 21 / 0 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Components/Agent setup prompt](../../ui/storybook/stories/connection-setup/agent-setup-prompt.stories.tsx) | `connection-setup/channel-setup`, `gateways-profiles/client-connect` | unreviewed / production / fixtures | 11 / 3 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Canonical icon registry](../../ui/storybook/stories/connection-setup/AppLogoRegistry.stories.tsx) | `connection-setup/catalog` | unreviewed / production / fixtures | 2 / 0 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Catalog source selection](../../ui/storybook/stories/connection-setup/apps-catalog-source-selection.stories.tsx) | `connection-setup/catalog` | proposed / prototype / fixtures | 12 / 1 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connect discoverability (PAP-11091)](../../ui/storybook/stories/connection-setup/apps-connect-discoverability.stories.tsx) | `connection-setup/catalog` | unreviewed / production / fixtures | 5 / 0 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connect name at create time (PAP-11283)](../../ui/storybook/stories/connection-setup/apps-connect-name.stories.tsx) | `connection-setup/identity-and-access` | unreviewed / production / fixtures | 2 / 0 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connections/Arcade](../../ui/storybook/stories/connection-setup/ArcadeConnection.stories.tsx) | `connection-setup/credentials`, `connection-setup/failure`, `connection-setup/draft-recovery`, `connection-setup/identity-and-access`, `app-permissions/action-policy`, `app-permissions/test-action` | unreviewed / production / fixtures | 26 / 1 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Connections/Browser Use Cloud/Settings](../../ui/storybook/stories/connection-setup/browser-use-settings.stories.tsx) | `connection-setup/credentials` | current / production / fixtures | 9 / 2 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connections/Composio](../../ui/storybook/stories/connection-setup/ComposioConnection.stories.tsx) | `connection-setup/credentials`, `connection-setup/failure`, `connection-setup/draft-recovery`, `connection-setup/identity-and-access`, `app-permissions/action-policy`, `app-permissions/test-action` | unreviewed / production / fixtures | 27 / 1 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Design explorations/Connections/Agent instructions](../../ui/storybook/stories/connection-setup/connection-instructions.stories.tsx) | `connection-setup/credentials`, `agents/instructions` | unreviewed / production / fixtures | 20 / 5 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connections/Provider choice](../../ui/storybook/stories/connection-setup/ConnectionProviderChoice.stories.tsx) | `connection-setup/identity-and-access` | unreviewed / production / fixtures | 7 / 4 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Enterpret connector](../../ui/storybook/stories/connection-setup/enterpret-connect-flow.stories.tsx) | `connection-setup/credentials`, `connection-setup/failure` | unreviewed / production / fixtures | 9 / 1 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connections/Executor](../../ui/storybook/stories/connection-setup/ExecutorConnection.stories.tsx) | `connection-setup/credentials`, `connection-setup/failure`, `connection-setup/draft-recovery`, `connection-setup/identity-and-access`, `app-permissions/action-policy`, `app-permissions/test-action` | unreviewed / production / fixtures | 26 / 1 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/PR reviews/Fireflies and app webhooks](../../ui/storybook/stories/connection-setup/fireflies-pr.stories.tsx) | `connection-setup/credentials`, `routines/triggers` | unreviewed / production / fixtures | 27 / 5 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Connections/In-task connections](../../ui/storybook/stories/connection-setup/in-feed-connections.stories.tsx) | `connection-setup/task-request` | unreviewed / production / fixtures | 78 / 23 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Managed Cloud OAuth handoff](../../ui/storybook/stories/connection-setup/managed-cloud-oauth-handoff.stories.tsx) | `connection-setup/handoff` | unreviewed / production / fixtures | 4 / 0 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connections/Memory](../../ui/storybook/stories/connection-setup/memory-connectors.stories.tsx) | `connection-setup/credentials`, `agents/instructions` | unreviewed / production / fixtures | 21 / 7 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Notion MCP connect flow (PAP-16650)](../../ui/storybook/stories/connection-setup/notion-connect-flow.stories.tsx) | `connection-setup/credentials`, `connection-setup/failure` | unreviewed / production / fixtures | 7 / 0 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Reviews/PAP-17835 Personal connection identity](../../ui/storybook/stories/connection-setup/personal-connection-identity.stories.tsx) | `connection-setup/identity-and-access` | unreviewed / production / fixtures | 10 / 0 | 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. |
|
||||
| [Apps, channels, and extensions/Connection setup/Apps/Connections/Zapier](../../ui/storybook/stories/connection-setup/ZapierConnection.stories.tsx) | `connection-setup/credentials`, `connection-setup/failure`, `connection-setup/draft-recovery`, `connection-setup/identity-and-access`, `app-permissions/action-policy`, `app-permissions/test-action` | unreviewed / production / fixtures | 21 / 0 | 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. |
|
||||
|
||||
### App access and action permissions
|
||||
|
||||
@@ -393,19 +393,19 @@ Provider-specific identity, threads, files, delivery, and endpoint upkeep.
|
||||
|
||||
| Story suite | Capabilities | Product / implementation / data | Stories / play functions | Review note |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/AgentMail setup](../../ui/storybook/stories/chat-channels/agentmail-onboarding.stories.tsx) | `chat-channels/providers`, `connection-setup/channel-setup` | unreviewed / production / fixtures | 19 / 16 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/AgentMail setup](../../ui/storybook/stories/chat-channels/agentmail-onboarding.stories.tsx) | `chat-channels/providers`, `connection-setup/channel-setup` | unreviewed / production / fixtures | 19 / 16 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/AgentMail settings](../../ui/storybook/stories/chat-channels/agentmail-settings.stories.tsx) | `chat-channels/lifecycle` | unreviewed / production / fixtures | 8 / 5 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/AgentMail tasks](../../ui/storybook/stories/chat-channels/agentmail.stories.tsx) | `chat-channels/conversation` | unreviewed / prototype / fixtures | 9 / 2 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/Chat connection actions](../../ui/storybook/stories/chat-channels/chat-connection-actions.stories.tsx) | `chat-channels/providers` | unreviewed / production / fixtures | 1 / 1 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/Chat management](../../ui/storybook/stories/chat-channels/chat-management/chat-management.stories.tsx) | `chat-channels/lifecycle`, `chat-channels/identity`, `chat-channels/conversation` | unreviewed / production / fixtures | 15 / 7 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connectors/GitHub bot management](../../ui/storybook/stories/chat-channels/github-bot-management/management.stories.tsx) | `chat-channels/providers`, `chat-channels/conversation` | unreviewed / production / fixtures | 33 / 0 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Historical/GitHub chat prototypes](../../ui/storybook/stories/chat-channels/github-chat.stories.tsx) | `chat-channels/providers`, `chat-channels/conversation` | historical / prototype / fixtures | 48 / 9 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/GitHub and Code Review Bot](../../ui/storybook/stories/chat-channels/github-connections.stories.tsx) | `chat-channels/providers`, `connection-setup/channel-setup` | unreviewed / production / fixtures | 7 / 7 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/iMessage Photon](../../ui/storybook/stories/chat-channels/imessage-photon.stories.tsx) | `chat-channels/conversation`, `chat-channels/providers`, `chat-channels/identity`, `chat-channels/lifecycle`, `connection-setup/channel-setup`, `connection-setup/failure` | unreviewed / production / fixtures | 13 / 7 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/Slack/Automatic setup](../../ui/storybook/stories/chat-channels/slack-automatic-setup.stories.tsx) | `chat-channels/providers`, `connection-setup/channel-setup` | unreviewed / production / fixtures | 18 / 3 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/GitHub and Code Review Bot](../../ui/storybook/stories/chat-channels/github-connections.stories.tsx) | `chat-channels/providers`, `connection-setup/channel-setup` | unreviewed / production / fixtures | 7 / 7 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/iMessage Photon](../../ui/storybook/stories/chat-channels/imessage-photon.stories.tsx) | `chat-channels/conversation`, `chat-channels/providers`, `chat-channels/identity`, `chat-channels/lifecycle`, `connection-setup/channel-setup`, `connection-setup/failure` | unreviewed / production / fixtures | 13 / 7 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/Slack/Automatic setup](../../ui/storybook/stories/chat-channels/slack-automatic-setup.stories.tsx) | `chat-channels/providers`, `connection-setup/channel-setup` | unreviewed / production / fixtures | 18 / 3 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/Slack/Avatar in Settings](../../ui/storybook/stories/chat-channels/slack-avatar-settings.stories.tsx) | `chat-channels/identity` | current / production / fixtures | 1 / 0 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/Slack/Communication in Settings](../../ui/storybook/stories/chat-channels/slack-communication-settings.stories.tsx) | `chat-channels/identity` | current / production / fixtures | 4 / 1 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/Slack/Managed setup](../../ui/storybook/stories/chat-channels/slack-managed-setup.stories.tsx) | `chat-channels/providers`, `connection-setup/channel-setup` | unreviewed / production / fixtures | 21 / 7 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/Slack/Managed setup](../../ui/storybook/stories/chat-channels/slack-managed-setup.stories.tsx) | `chat-channels/providers`, `connection-setup/channel-setup` | unreviewed / production / fixtures | 21 / 7 | 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. |
|
||||
| [Apps, channels, and extensions/External chat and email/Connections/Slack/Task tools](../../ui/storybook/stories/chat-channels/slack-tools.stories.tsx) | `chat-channels/conversation` | unreviewed / production / fixtures | 5 / 0 | 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. |
|
||||
|
||||
### Tool gateways and access profiles
|
||||
@@ -422,7 +422,7 @@ Tool exposure, client configuration, tokens, profiles, and activity.
|
||||
| [Apps, channels, and extensions/Tool gateways and access profiles/Assistant connections/Consent](../../ui/storybook/stories/gateways-profiles/public-mcp-consent.stories.tsx) | `gateways-profiles/client-connect` | current / production / fixtures | 25 / 14 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Tool gateways and access profiles/Assistant connections/Device authorization](../../ui/storybook/stories/gateways-profiles/public-mcp-device.stories.tsx) | `gateways-profiles/client-connect` | current / production / fixtures | 7 / 3 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Tool gateways and access profiles/Assistant connections/Start here](../../ui/storybook/stories/gateways-profiles/public-mcp-journey.stories.tsx) | `gateways-profiles/client-connect` | unreviewed / production / fixtures | 14 / 4 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Tool gateways and access profiles/Assistant connections/Experimental setting](../../ui/storybook/stories/gateways-profiles/public-mcp-setting.stories.tsx) | `gateways-profiles/client-connect`, `instance-operations/configuration` | unreviewed / production / fixtures | 8 / 5 | 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. |
|
||||
| [Apps, channels, and extensions/Tool gateways and access profiles/Assistant connections/Experimental setting](../../ui/storybook/stories/gateways-profiles/public-mcp-setting.stories.tsx) | `gateways-profiles/client-connect`, `instance-operations/configuration` | unreviewed / production / fixtures | 8 / 5 | 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. |
|
||||
|
||||
### Secrets and proposals
|
||||
|
||||
@@ -432,11 +432,11 @@ Company/user credentials, grants, proposals, and vault import.
|
||||
|
||||
| Story suite | Capabilities | Product / implementation / data | Stories / play functions | Review note |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| [Apps, channels, and extensions/Secrets and proposals/Task credential access/01 Notice](../../ui/storybook/stories/secrets/credential-access/01-notice.stories.tsx) | `secrets/runtime-delivery`, `recovery/diagnosis` | unreviewed / production / fixtures | 5 / 0 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Secrets and proposals/Task credential access/02 Task page](../../ui/storybook/stories/secrets/credential-access/02-task-page.stories.tsx) | `secrets/runtime-delivery`, `recovery/diagnosis` | unreviewed / production / fixtures | 6 / 0 | 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. |
|
||||
| [Apps, channels, and extensions/Secrets and proposals/Product/Environment Variables Editor](../../ui/storybook/stories/secrets/environment-variables-editor.stories.tsx) | `secrets/runtime-delivery` | unreviewed / production / fixtures | 11 / 0 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Secrets and proposals/Product/Secrets](../../ui/storybook/stories/secrets/secrets.stories.tsx) | `secrets/company-secrets`, `secrets/vault-import` | unreviewed / production / fixtures | 4 / 0 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Secrets and proposals/Product/User secrets](../../ui/storybook/stories/secrets/user-secrets.stories.tsx) | `secrets/user-secrets` | unreviewed / production / fixtures | 4 / 0 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Apps, channels, and extensions/Secrets and proposals/Task credential access/01 Notice](../../ui/storybook/stories/secrets/credential-access/01-notice.stories.tsx) | `secrets/runtime-delivery`, `recovery/diagnosis` | unreviewed / production / fixtures | 5 / 0 | 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. |
|
||||
| [Apps, channels, and extensions/Secrets and proposals/Task credential access/02 Task page](../../ui/storybook/stories/secrets/credential-access/02-task-page.stories.tsx) | `secrets/runtime-delivery`, `recovery/diagnosis` | unreviewed / production / fixtures | 6 / 0 | 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. |
|
||||
| [Apps, channels, and extensions/Secrets and proposals/Product/Environment Variables Editor](../../ui/storybook/stories/secrets/environment-variables-editor.stories.tsx) | `secrets/runtime-delivery` | unreviewed / production / fixtures | 11 / 0 | 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. |
|
||||
| [Apps, channels, and extensions/Secrets and proposals/Product/Secrets](../../ui/storybook/stories/secrets/secrets.stories.tsx) | `secrets/company-secrets`, `secrets/vault-import` | unreviewed / production / fixtures | 4 / 0 | 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. |
|
||||
| [Apps, channels, and extensions/Secrets and proposals/Product/User secrets](../../ui/storybook/stories/secrets/user-secrets.stories.tsx) | `secrets/user-secrets` | unreviewed / production / fixtures | 4 / 0 | 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. |
|
||||
|
||||
### Plugins
|
||||
|
||||
@@ -458,7 +458,7 @@ Definitions, variables, scheduled/webhook/manual runs, and history.
|
||||
| Story suite | Capabilities | Product / implementation / data | Stories / play functions | Review note |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| [Automation and structured work/Routines, schedules, and triggers/Product/Routines · Detail (variation C)](../../ui/storybook/stories/routines/routine-detail-c.stories.tsx) | `routines/definition`, `routines/management`, `activity/routine-audit` | unreviewed / production / fixtures | 8 / 0 | 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. |
|
||||
| [Automation and structured work/Routines, schedules, and triggers/Product/Routines · Secrets tab](../../ui/storybook/stories/routines/routine-secrets.stories.tsx) | `routines/definition`, `secrets/runtime-delivery` | unreviewed / production / fixtures | 4 / 0 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Automation and structured work/Routines, schedules, and triggers/Product/Routines · Secrets tab](../../ui/storybook/stories/routines/routine-secrets.stories.tsx) | `routines/definition`, `secrets/runtime-delivery` | unreviewed / production / fixtures | 4 / 0 | 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. |
|
||||
| [Automation and structured work/Routines, schedules, and triggers/Product/Routines/Webhooks UX preview](../../ui/storybook/stories/routines/routine-webhooks-ux.stories.tsx) | `routines/triggers` | unreviewed / production / fixtures | 21 / 5 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Automation and structured work/Routines, schedules, and triggers/Product/Routines/Webhooks](../../ui/storybook/stories/routines/routine-webhooks.stories.tsx) | `routines/triggers`, `routines/history`, `activity/routine-audit` | unreviewed / production / fixtures | 16 / 14 | 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. |
|
||||
| [Automation and structured work/Routines, schedules, and triggers/Product/Routines · List (grouped cards)](../../ui/storybook/stories/routines/routines-list-groups.stories.tsx) | `routines/definition`, `routines/management` | unreviewed / production / fixtures | 1 / 0 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
@@ -500,8 +500,8 @@ Spend reports, scoped limits, incidents, hard stops, and resumption.
|
||||
|
||||
| Story suite | Capabilities | Product / implementation / data | Stories / play functions | Review note |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| [Oversight and operation/Costs and budgets/Product/Budget & Finance](../../ui/storybook/stories/budgets-costs/budget-finance.stories.tsx) | `budgets-costs/cost-reporting`, `budgets-costs/budgets`, `budgets-costs/incidents` | unreviewed / production / fixtures | 1 / 0 | 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. |
|
||||
| [Oversight and operation/Costs and budgets/Costs/Subscriptions](../../ui/storybook/stories/budgets-costs/costs/subscriptions.stories.tsx) | `budgets-costs/cost-reporting`, `budgets-costs/budgets` | unreviewed / production / fixtures | 7 / 4 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Oversight and operation/Costs and budgets/Product/Budget & Finance](../../ui/storybook/stories/budgets-costs/budget-finance.stories.tsx) | `budgets-costs/cost-reporting`, `budgets-costs/budgets`, `budgets-costs/incidents` | unreviewed / production / fixtures | 1 / 0 | 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. |
|
||||
| [Oversight and operation/Costs and budgets/Costs/Subscriptions](../../ui/storybook/stories/budgets-costs/costs/subscriptions.stories.tsx) | `budgets-costs/cost-reporting`, `budgets-costs/budgets` | unreviewed / production / fixtures | 7 / 4 | 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. |
|
||||
|
||||
### Dashboards and audit trails
|
||||
|
||||
@@ -536,7 +536,7 @@ Installation, updates, service health, configuration, and backups.
|
||||
|
||||
| Story suite | Capabilities | Product / implementation / data | Stories / play functions | Review note |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| [Oversight and operation/Instance operations/Product/Dev Ops Surfaces](../../ui/storybook/stories/instance-operations/dev-ops-surfaces.stories.tsx) | `instance-operations/server-service` | unreviewed / production / fixtures | 1 / 0 | Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed. |
|
||||
| [Oversight and operation/Instance operations/Product/Dev Ops Surfaces](../../ui/storybook/stories/instance-operations/dev-ops-surfaces.stories.tsx) | `instance-operations/server-service` | unreviewed / production / fixtures | 1 / 0 | 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. |
|
||||
|
||||
### CLI/API and local worktrees
|
||||
|
||||
@@ -571,7 +571,7 @@ Shared components and contributor guidance outside the product feature index.
|
||||
| [Foundations/Primitive Matrix](../../ui/storybook/stories/foundations/foundations.stories.tsx) | `developer-labs/design` | unreviewed / production / fixtures | 1 / 0 | 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. |
|
||||
| [Foundations/Primitive Coverage](../../ui/storybook/stories/foundations/primitives-coverage.stories.tsx) | `developer-labs/design` | unreviewed / production / fixtures | 11 / 0 | 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. |
|
||||
| [Foundations/Status Language](../../ui/storybook/stories/foundations/status-language.stories.tsx) | `developer-labs/design` | unreviewed / production / fixtures | 1 / 0 | 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. |
|
||||
| [Overview/Storybook Guide](../../ui/storybook/stories/overview/overview.stories.tsx) | Shared foundations or contributor guide; no single business capability owns this suite. | unreviewed / guide / static | 1 / 0 | Matches the upstream feature index and order, including features with no cataloged examples. Related suite links and classifications do not imply execution coverage. |
|
||||
| [Overview/Storybook Guide](../../ui/storybook/stories/overview/overview.stories.tsx) | Shared foundations or contributor guide; no single business capability owns this suite. | unreviewed / guide / static | 1 / 0 | 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. |
|
||||
|
||||
## Capability lookup
|
||||
|
||||
|
||||
@@ -28,6 +28,13 @@ reason; it is not available for arbitrary feature homes.
|
||||
Foundations/guides and proposals without a mapped capability need an exception
|
||||
reason. An absent story is not automatically a feature gap.
|
||||
|
||||
[Verification routes](VERIFICATION.md) classifies the currently unassociated
|
||||
capabilities: UI examples to add, CLI/operator operations, and real browser checks.
|
||||
It records source review and existing test starting points, not executed proof.
|
||||
Update its rows/counts and source revision when associations or upstream
|
||||
capabilities change. A capability with a story still needs production verification
|
||||
for permissions, persistence, execution and provider behavior.
|
||||
|
||||
## Folders and sidebar
|
||||
|
||||
Story files live in `ui/storybook/stories/<primary-feature-area>/`, using the first
|
||||
|
||||
@@ -513,3 +513,41 @@ unreviewed classifications. Seven overlapping entries differ from master only
|
||||
in the already reviewed recovery recipe or task-detail recovery notice wiring.
|
||||
Refreshed those combined-source fingerprints and regenerated the index. No new
|
||||
creation-visibility acceptance or visual baseline is claimed.
|
||||
|
||||
## Verification routes for unassociated capabilities — 2026-10-13
|
||||
|
||||
Source classification against merged master `5e8e992df2`: [VERIFICATION.md](VERIFICATION.md)
|
||||
accounts for all 60 capabilities without non-guide example associations. It
|
||||
records 49 UI example gaps with separate production contracts, eight CLI/operator
|
||||
operations and three browser verification boundaries. Existing tests are starting
|
||||
points; no new live journey, rendering, interaction or visual evidence is claimed.
|
||||
The targeted association revisit found no further justified links. This does not
|
||||
complete parity review of the 184 example suites still classified `unreviewed`.
|
||||
|
||||
Master includes #16153's personal task-toast capability. Its upstream README and
|
||||
recipe were inspected; reconstructing the five inbox-suite and shared fingerprints
|
||||
with the pre-toast recipe bytes matches the stored baseline. No other declared
|
||||
source changed for those suites. Regeneration adds the capability/description to
|
||||
the feature index, which also changes the guide fingerprint. Refreshing those
|
||||
review fingerprints preserves statuses, associations and all 2,212 authored IDs.
|
||||
|
||||
Catalog/map checks, 27 catalog/generator/map tests and maintenance-skill validation
|
||||
passed. The 60-row inventory and all local links were checked against current
|
||||
source. Repository-wide typecheck/tests/build and Storybook build are not run for
|
||||
this documentation and generated-data pass; runtime behavior is unchanged.
|
||||
|
||||
Review correction: backup retention already has shipped controls in
|
||||
`InstanceGeneralSettings`, embedded in `CompanySettings`. The backup row therefore
|
||||
keeps missing retention UI examples alongside separate CLI backup/restore proof;
|
||||
it is not a wholesale Storybook exemption. No existing story mounts those controls.
|
||||
|
||||
## Verification-parent merge reconciliation — 2026-10-13
|
||||
|
||||
Reconciled master `da9af67415` while preserving its catalog records and both
|
||||
review histories. Inspected the intervening recipe changes for Telegram
|
||||
maintenance, liveness/readiness and trusted instance-secret lifecycle, and the
|
||||
soft-warning versus hard-stop budget UI. Refreshed only dependent review
|
||||
fingerprints with notes naming those boundaries; classifications remain unchanged.
|
||||
The generated feature index reflects the current recipes. No new rendering,
|
||||
provider journey or whole-suite parity review is claimed. Catalog/map validation
|
||||
and all 27 catalog/generator/map tests pass with the pinned Storybook parser.
|
||||
@@ -0,0 +1,111 @@
|
||||
# Verification routes for Storybook gaps
|
||||
|
||||
Reviewed 2026-10-13 against source commit `5e8e992df2b3d71f82091b7bbf29fd482854d9f5` (merged #16154, including #16153 task notifications).
|
||||
|
||||
The catalog has 223 authored suites, 2,212 authored story IDs and 175 feature-map capabilities. Of those capabilities, 60 have no associated example suite: **49 need authored UI examples**, **8 need CLI/operator verification**, and **3 primarily need real browser verification**. Generated Overview pages and guides do not count as examples.
|
||||
|
||||
This is step 2 of the Storybook reconciliation: choose and record the verification surface. It is a source classification of the 60 unassociated capabilities, not a full parity review of all suites or a live verification pass. All execution in this inventory is **not run**; test links identify existing starting points, not new passing evidence or exhaustive coverage. The 115 capabilities with example links still need production tests for their non-visual contracts.
|
||||
|
||||
A story can establish component rendering, mock contract and asserted interaction. It cannot establish real authentication, permissions, persisted changes, run continuation, provider delivery or installation. Never classify a mixed capability as CLI/API-only merely because its backend needs those checks.
|
||||
|
||||
## UI examples to add in step 3
|
||||
|
||||
These 49 capabilities need shipped-component examples with realistic mocked boundaries. Cover loading, empty, failure, permission and successful states where meaningful; do not invent unsupported controls. Display-first rows still retain the listed production checks. Story creation and full existing-suite review are subsequent work.
|
||||
|
||||
| Capability | Missing isolated UI evidence | Separate production evidence | Source and existing test starting points |
|
||||
| --- | --- | --- | --- |
|
||||
| [`onboarding/resume`](../feature-map/onboarding.md) | Restored incomplete wizard; invalid or unauthorized saved company; temporarily withheld draft; account switch; storage failure. | Reload company-prefixed onboarding without duplicating company; restore only authorized account/company draft and retain input after recoverable loading failure. | Source: [OnboardingWizard.tsx](../../ui/src/components/OnboardingWizard.tsx), [onboarding-state.ts](../../ui/src/lib/onboarding-state.ts). Tests: [OnboardingWizard.test.tsx](../../ui/src/components/OnboardingWizard.test.tsx), [onboarding-state.test.ts](../../ui/src/lib/onboarding-state.test.ts), [onboarding.spec.ts](../../tests/e2e/onboarding.spec.ts) |
|
||||
| [`access/login`](../feature-map/access.md) | Sign-in form, pending and invalid credentials, deployment-mode claim gate, expired claim. | Authenticate and reload company deep link; sign out and confirm session enforcement; reject invalid bootstrap claim. | Source: [Auth.tsx](../../ui/src/pages/Auth.tsx), [BoardClaim.tsx](../../ui/src/pages/BoardClaim.tsx), [board-claim.ts](../../server/src/board-claim.ts). Tests: [Auth.test.tsx](../../ui/src/pages/Auth.test.tsx), [auth-session-route.test.ts](../../server/src/__tests__/auth-session-route.test.ts), [board-claim.test.ts](../../server/src/__tests__/board-claim.test.ts) |
|
||||
| [`access/membership`](../feature-map/access.md) | Member and join-request lists; editable versus read-only roles; pending change, rejected request, revoked invite. | Persist role/membership changes; enforce actual actor authority, invite replay/expiry and cross-company denial. | Source: [CompanyAccess.tsx](../../ui/src/pages/CompanyAccess.tsx), [authz.ts](../../server/src/routes/authz.ts). Tests: [CompanyAccess.test.tsx](../../ui/src/pages/CompanyAccess.test.tsx), [invite-accept-replay.test.ts](../../server/src/__tests__/invite-accept-replay.test.ts), [multi-user-authenticated.spec.ts](../../tests/e2e/multi-user-authenticated.spec.ts) |
|
||||
| [`access/cli-auth`](../feature-map/access.md) | CLI authorization approval, pending, expired/denied and already-authorized states. | Authorize intended CLI identity/context, make scoped request, revoke current server token and retry same bearer; logout alone is insufficient. | Source: [CliAuth.tsx](../../ui/src/pages/CliAuth.tsx). Tests: [cli-auth-routes.test.ts](../../server/src/__tests__/cli-auth-routes.test.ts), [board-auth.test.ts](../../cli/src/__tests__/board-auth.test.ts), [token.test.ts](../../cli/src/__tests__/token.test.ts) |
|
||||
| [`companies/selection`](../feature-map/companies.md) | Company list/create/switcher; empty, loading, error, unavailable company and switched navigation. | Switch and reload between companies; verify tasks/agents/cache/routes remain scoped and unauthorized company requests fail. | Source: [Companies.tsx](../../ui/src/pages/Companies.tsx), [CompanySwitcher.tsx](../../ui/src/components/CompanySwitcher.tsx), [CompanyContext.tsx](../../ui/src/context/CompanyContext.tsx). Tests: [Companies.test.tsx](../../ui/src/pages/Companies.test.tsx), [CompanyContext.test.tsx](../../ui/src/context/CompanyContext.test.tsx), [companies-route-cross-company-authz.test.ts](../../server/src/__tests__/companies-route-cross-company-authz.test.ts) |
|
||||
| [`companies/archive`](../feature-map/companies.md) | Archive confirmation, pending/error and departure navigation; archived list entry and Unarchive action. | Archive eligible agents/runs without deleting history; restoration handles archival-specific pause and navigates to correct company. | Source: [CompanySettings.tsx](../../ui/src/pages/CompanySettings.tsx), [Companies.tsx](../../ui/src/pages/Companies.tsx), [companies.ts](../../ui/src/api/companies.ts). Tests: [CompanySettingsArchive.test.tsx](../../ui/src/pages/CompanySettingsArchive.test.tsx), [Companies.test.tsx](../../ui/src/pages/Companies.test.tsx), [companies-service.test.ts](../../server/src/__tests__/companies-service.test.ts) |
|
||||
| [`companies/portability`](../feature-map/companies.md) | Import/export preview, conflict choice, warnings, async progress/failure/success and restricted managed deployment. | Apply real small package to disposable target; inspect counts/references/conflicts, source immutability and credential exclusions; imported task requires separate runnable-account proof. | Source: [CompanyImport.tsx](../../ui/src/pages/CompanyImport.tsx), [CompanyExport.tsx](../../ui/src/pages/CompanyExport.tsx), [companies.ts](../../ui/src/api/companies.ts). Tests: [CompanyImport.test.tsx](../../ui/src/pages/CompanyImport.test.tsx), [CompanyExport.test.tsx](../../ui/src/pages/CompanyExport.test.tsx), [company-portability-routes.test.ts](../../server/src/__tests__/company-portability-routes.test.ts), [company-import-export-e2e.test.ts](../../cli/src/__tests__/company-import-export-e2e.test.ts) |
|
||||
| [`inbox-search/views`](../feature-map/inbox-search.md) | Mine/Recent/Unread/Blocked and broader task views; combined versus standalone host; loading/empty/error/filter states. | Use persisted personal participation/read data; verify scoped counts and list navigation/reload; automatic read cleanup must not create Mine membership. | Source: [Inbox.tsx](../../ui/src/pages/Inbox.tsx), [Issues.tsx](../../ui/src/pages/Issues.tsx). Tests: [Inbox.test.tsx](../../ui/src/pages/Inbox.test.tsx), [Issues.test.tsx](../../ui/src/pages/Issues.test.tsx), [issues-service.test.ts](../../server/src/__tests__/issues-service.test.ts) |
|
||||
| [`inbox-search/toasts`](../feature-map/inbox-search.md) | Eligible live task toast, explicit mention, quiet unrelated event, own-action/visible-task suppression, dedupe and company/account switch. | Persisted participation and mentions determine per-viewer socket eligibility; quiet events still refresh caches; reload retains eligibility, unauthorized resources remain denied. | Source: [ToastViewport.tsx](../../ui/src/components/ToastViewport.tsx), [ToastContext.tsx](../../ui/src/context/ToastContext.tsx), [LiveUpdatesProvider.tsx](../../ui/src/context/LiveUpdatesProvider.tsx), [task-toast-eligibility.ts](../../server/src/realtime/task-toast-eligibility.ts). Tests: [ToastContext.test.tsx](../../ui/src/context/ToastContext.test.tsx), [ToastViewport.test.tsx](../../ui/src/components/ToastViewport.test.tsx), [LiveUpdatesProvider.hook.test.tsx](../../ui/src/context/LiveUpdatesProvider.hook.test.tsx), [task-toast-eligibility.test.ts](../../server/src/__tests__/task-toast-eligibility.test.ts), [live-events-toast.test.ts](../../server/src/__tests__/live-events-toast.test.ts), [multi-user-authenticated.spec.ts](../../tests/e2e/multi-user-authenticated.spec.ts) |
|
||||
| [`agent-chat/conference-room`](../feature-map/agent-chat.md) | Conference-room flag disabled, empty/history/reply, busy and explicit failure states. | Exercise separate BoardChat route gate, local-trusted deployment and authenticated Claude CLI; send/reload real conversation with responding agent attribution. | Source: [BoardChat.tsx](../../ui/src/pages/BoardChat.tsx), [board-chat.ts](../../server/src/routes/board-chat.ts). Tests: [BoardChat.test.tsx](../../ui/src/pages/BoardChat.test.tsx), [board-chat-route-feature-flag.test.ts](../../server/src/__tests__/board-chat-route-feature-flag.test.ts) |
|
||||
| [`steering/drafts`](../feature-map/steering.md) | Task-keyed restored draft and attachment receipts; task switch/reload, failed send and uncertain-save recovery. | Retain correct task draft across navigation and reload; inspect authoritative saved receipt before claiming delivery; do not clear storage on every harness mount. | Source: [TaskChatComposer.tsx](../../ui/src/components/task-chat/TaskChatComposer.tsx), [composer-draft.ts](../../ui/src/lib/composer-draft.ts). Tests: [TaskChatComposer.test.tsx](../../ui/src/components/task-chat/TaskChatComposer.test.tsx), [issue-queued-comments-routes.test.ts](../../server/src/__tests__/issue-queued-comments-routes.test.ts) |
|
||||
| [`steering/approval-queue`](../feature-map/steering.md) | Answered question/accepted approval delivery waiting, eligible steer/interrupt, failed delivery and fresh-session-only approval. | Keep response delivery durable and distinct from editable comments; coalesce once, enforce fresh-session restrictions and deduplicate concurrent/retried continuation. | Source: [TaskChatQueuedMessages.tsx](../../ui/src/components/task-chat/TaskChatQueuedMessages.tsx), [question-response-delivery.ts](../../server/src/services/question-response-delivery.ts). Tests: [TaskChatQueuedMessages.test.tsx](../../ui/src/components/task-chat/TaskChatQueuedMessages.test.tsx), [question-response-delivery.test.ts](../../server/src/__tests__/question-response-delivery.test.ts), [issue-queued-comments-routes.test.ts](../../server/src/__tests__/issue-queued-comments-routes.test.ts) |
|
||||
| [`documents-artifacts/documents`](../feature-map/documents-artifacts.md) | Writable/read-only document, save pending/failure/conflict, revision history/historical preview and restore confirmation. | Persist edited body and reload; append-only restore creates new revision; reject stale writes and inaccessible company/task. | Source: [IssueDocumentsSection.tsx](../../ui/src/components/IssueDocumentsSection.tsx), [TaskDocumentPanel.tsx](../../ui/src/components/task-side-panel/TaskDocumentPanel.tsx), [documents.ts](../../server/src/services/documents.ts). Tests: [IssueDocumentsSection.test.tsx](../../ui/src/components/IssueDocumentsSection.test.tsx), [document-revisions.test.ts](../../ui/src/lib/document-revisions.test.ts), [documents-service.test.ts](../../server/src/__tests__/documents-service.test.ts), [issue-document-restore-routes.test.ts](../../server/src/__tests__/issue-document-restore-routes.test.ts) |
|
||||
| [`skills/testing`](../feature-map/skills.md) | Studio test inputs/configuration, running, question/approval, result and failed test states. | Run bounded test of actual saved version with correct selected account/environment; inspect persisted test detail and eligible interaction response. | Source: [SkillStudio.tsx](../../ui/src/pages/SkillStudio.tsx), [companySkills.ts](../../ui/src/api/companySkills.ts). Tests: [SkillStudio.test.tsx](../../ui/src/pages/SkillStudio.test.tsx), [company-skill-test-runs-service.test.ts](../../server/src/__tests__/company-skill-test-runs-service.test.ts) |
|
||||
| [`goals/alignment`](../feature-map/goals.md) | Project/task goal selection, explicit/inherited context and invalid association error. | Persist same-company valid association, reject invalid/cross-company reference, verify explicit versus inherited server context after reload. | Source: [ProjectProperties.tsx](../../ui/src/components/ProjectProperties.tsx), [GoalDetail.tsx](../../ui/src/pages/GoalDetail.tsx). Tests: [project-goal-validation.test.ts](../../server/src/__tests__/project-goal-validation.test.ts), [issues-goal-context-routes.test.ts](../../server/src/__tests__/issues-goal-context-routes.test.ts), [issue-goal-fallback.test.ts](../../server/src/__tests__/issue-goal-fallback.test.ts), [project-goal.test.ts](../../cli/src/__tests__/project-goal.test.ts) |
|
||||
| [`goals/navigation`](../feature-map/goals.md) | Parent/child goal and project/task context links, empty/unavailable context and permitted destination. | Follow actual goal/project/task records and compare explicit versus inherited context; ensure reload and inaccessible destination behavior. | Source: [GoalDetail.tsx](../../ui/src/pages/GoalDetail.tsx), [GoalProperties.tsx](../../ui/src/components/GoalProperties.tsx). Tests: [GoalDetail.test.tsx](../../ui/src/pages/GoalDetail.test.tsx), [issues-goal-context-routes.test.ts](../../server/src/__tests__/issues-goal-context-routes.test.ts), [issue-goal-fallback.test.ts](../../server/src/__tests__/issue-goal-fallback.test.ts) |
|
||||
| [`workspaces/closure`](../feature-map/workspaces.md) | Close-readiness checks, pending changes/active runs, blocked/pending/error close, retry close and eligible reopening. | Confirm owned workspace shutdown, preserved files/Git state and permitted lifecycle transition/reopening; Browser Use session closure is unrelated. | Source: [ExecutionWorkspaceDetail.tsx](../../ui/src/pages/ExecutionWorkspaceDetail.tsx), [ExecutionWorkspaceCloseDialog.tsx](../../ui/src/components/ExecutionWorkspaceCloseDialog.tsx), [execution-workspaces.ts](../../server/src/routes/execution-workspaces.ts). Tests: [execution-workspaces-routes.test.ts](../../server/src/__tests__/execution-workspaces-routes.test.ts), [execution-workspaces-service.test.ts](../../server/src/__tests__/execution-workspaces-service.test.ts), [execution-workspace-reopen.test.ts](../../server/src/__tests__/execution-workspace-reopen.test.ts) |
|
||||
| [`execution-environments/configuration`](../feature-map/execution-environments.md) | Local/SSH/sandbox editors; unavailable providers, missing credentials, save pending/error and restricted operator. | Persist target configuration and enforce instance-admin/local-operator mutation boundary; target catalog is instance-scoped. | Source: [CompanyEnvironments.tsx](../../ui/src/pages/CompanyEnvironments.tsx), [environments.ts](../../server/src/routes/environments.ts). Tests: [CompanyEnvironments.test.tsx](../../ui/src/pages/CompanyEnvironments.test.tsx), [environment-service.test.ts](../../server/src/__tests__/environment-service.test.ts) |
|
||||
| [`execution-environments/capabilities`](../feature-map/execution-environments.md) | Supported versus unavailable driver/provider controls and interactive-setup/template-capture limitations. | Verify advertised driver/plugin capabilities match operations; unavailable provider cannot become working target; capability discovery must not allocate sandbox. | Source: [CompanyEnvironments.tsx](../../ui/src/pages/CompanyEnvironments.tsx), [environments.ts](../../ui/src/api/environments.ts). Tests: [environment-capability-contract.test.ts](../../server/src/__tests__/environment-capability-contract.test.ts), [environment-execution-target-capabilities.test.ts](../../server/src/__tests__/environment-execution-target-capabilities.test.ts), [plugin-environment-driver-sandbox-capabilities.test.ts](../../server/src/__tests__/plugin-environment-driver-sandbox-capabilities.test.ts) |
|
||||
| [`execution-environments/probe`](../feature-map/execution-environments.md) | Remote Test pending, success, reachability/auth failure and platform qualification absent/invalidated notice. | Probe actual owned target; verify selected saved immutable config/image/company qualification plus lease cleanup; local API probe proves host/cwd only and has no UI Test button. | Source: [CompanyEnvironments.tsx](../../ui/src/pages/CompanyEnvironments.tsx), [environment-probe.ts](../../server/src/services/environment-probe.ts). Tests: [CompanyEnvironments.test.tsx](../../ui/src/pages/CompanyEnvironments.test.tsx), [environment-probe.test.ts](../../server/src/__tests__/environment-probe.test.ts), [environment-live-ssh.test.ts](../../server/src/__tests__/environment-live-ssh.test.ts) |
|
||||
| [`execution-environments/images`](../feature-map/execution-environments.md) | Custom-image setup/capture/progress, terminal connect/disconnect/failure, unsupported capability and active-image drift. | Execute owned provider setup/capture/probe/terminal transport with correct saved image identity, authority, cleanup and shutdown; terminal screenshot cannot prove operation. | Source: [CompanyEnvironments.tsx](../../ui/src/pages/CompanyEnvironments.tsx), [environment-custom-images.ts](../../server/src/services/environment-custom-images.ts). Tests: [CompanyEnvironments.test.tsx](../../ui/src/pages/CompanyEnvironments.test.tsx), [environment-custom-images-service.test.ts](../../server/src/__tests__/environment-custom-images-service.test.ts) |
|
||||
| [`recovery/exhaustion`](../feature-map/recovery.md) | Exhausted/overdue attempts, operator retry pending/error, blocked authority/gate and specific escalation. | Inspect durable attempt bounds and actual eligible retry/repair; acknowledgment alone does not prove continued execution. | Source: [IssueRecoveryActionCard.tsx](../../ui/src/components/IssueRecoveryActionCard.tsx), [DispositionRecoveryNotice.tsx](../../ui/src/components/DispositionRecoveryNotice.tsx), [issue-recovery-actions.ts](../../server/src/services/issue-recovery-actions.ts). Tests: [IssueRecoveryActionCard.test.tsx](../../ui/src/components/IssueRecoveryActionCard.test.tsx), [DispositionRecoveryNotice.test.tsx](../../ui/src/components/DispositionRecoveryNotice.test.tsx), [issue-recovery-actions.test.ts](../../server/src/__tests__/issue-recovery-actions.test.ts), [recovery.spec.ts](../../tests/e2e/execution-recovery/recovery.spec.ts) |
|
||||
| [`recovery/unknown-outcome`](../feature-map/recovery.md) | Uncertain external outcome, required inspection/evidence and explicit permitted operator decision. | Corroborate provider outcome before authorization; enforce no automatic external side-effect replay and reject stale/unauthorized decisions. | Source: [IssueRecoveryActionCard.tsx](../../ui/src/components/IssueRecoveryActionCard.tsx), [issue-recovery-actions.ts](../../server/src/services/issue-recovery-actions.ts). Tests: [IssueRecoveryActionCard.test.tsx](../../ui/src/components/IssueRecoveryActionCard.test.tsx), [issue-recovery-actions.test.ts](../../server/src/__tests__/issue-recovery-actions.test.ts), [recovery.spec.ts](../../tests/e2e/execution-recovery/recovery.spec.ts) |
|
||||
| [`recovery/user-continuation`](../feature-map/recovery.md) | Saved follow-up waiting on stop cleanup, pause/budget gate, one eligible continuation and result/failure. | Confirm previous execution stopped before delivery, preserve message, avoid duplicate wakes and honor actual task/ancestor/budget gate in separate legacy/native paths. | Source: [TaskChatQueuedMessages.tsx](../../ui/src/components/task-chat/TaskChatQueuedMessages.tsx), [legacy-continuation.ts](../../server/src/services/recovery/legacy-continuation.ts), [native-restart-recovery.ts](../../server/src/services/native-runtime/native-restart-recovery.ts). Tests: [legacy-continuation.test.ts](../../server/src/services/recovery/legacy-continuation.test.ts), [native-restart-recovery.test.ts](../../server/src/services/native-runtime/native-restart-recovery.test.ts), [issue-queued-comments-routes.test.ts](../../server/src/__tests__/issue-queued-comments-routes.test.ts), [legacy-failure-continuation.spec.ts](../../tests/e2e/legacy-failure-continuation.spec.ts) |
|
||||
| [`app-permissions/catalog-change`](../feature-map/app-permissions.md) | Mount PermissionsPanel/AppDetail with quarantined actions, selection/review, refresh pending, empty and failed discovery states. Existing auto-allowed NewToolsAllowed examples are not quarantine review. | Exercise catalog refresh and new-tool review with permitted/denied actors; unreviewed actions stay quarantined, prior Off/Ask choices survive refresh, and approved review persists. | Source: [PermissionsPanel.tsx](../../ui/src/pages/apps/app-detail/PermissionsPanel.tsx), [AppDetail.tsx](../../ui/src/pages/apps/AppDetail.tsx), [tool-access.ts](../../server/src/routes/tool-access.ts). Tests: [AppDetail.test.tsx](../../ui/src/pages/apps/AppDetail.test.tsx), [tool-access-service.test.ts](../../server/src/__tests__/tool-access-service.test.ts), [tool-access-policy-service.test.ts](../../server/src/__tests__/tool-access-policy-service.test.ts) |
|
||||
| [`chat-channels/attachments`](../feature-map/chat-channels.md) | Mount TaskChatBubble attachments and ChatEndpointDetail provider-specific consent/upload/delivery failure and unknown-outcome states. Local email attachment dialog remains a prototype. | Transfer a disposable supported file through each affected provider; verify recipient delivery, read scope, duplicate/replay handling and failure/unknown state without treating notification as file-upload proof. | Source: [TaskChatBubble.tsx](../../ui/src/components/task-chat/TaskChatBubble.tsx), [ChatEndpointDetail.tsx](../../ui/src/pages/apps/chat/ChatEndpointDetail.tsx), [chatEndpoints.ts](../../ui/src/api/chatEndpoints.ts), [chat-channels.ts](../../server/src/routes/chat-channels.ts). Tests: [TaskChatBubble.test.tsx](../../ui/src/components/task-chat/TaskChatBubble.test.tsx), [task-chat-attachments.test.ts](../../ui/src/components/task-chat/task-chat-attachments.test.ts), [chat-channels.integration.test.ts](../../server/src/__tests__/chat-channels.integration.test.ts), [issue-attachment-routes.test.ts](../../server/src/__tests__/issue-attachment-routes.test.ts) |
|
||||
| [`gateways-profiles/tokens`](../feature-map/gateways-profiles.md) | Mount current TokensPanel with issue controls, once-only token reveal, expiry/actions, revocation confirmation and failures. Old GatewaysTab fixtures and assistant OAuth revocation are insufficient. | Issue bounded token via POST /tool-gateway/gateways/{id}/tokens; call allowed and excluded tools; revoke via /tool-gateway/gateway-tokens/{id}/revoke and verify denial using same client. | Source: [TokensPanel.tsx](../../ui/src/pages/apps/gateways/panels/TokensPanel.tsx), [tool-gateway.ts](../../server/src/routes/tool-gateway.ts), [tools.ts](../../ui/src/api/tools.ts). Tests: [TokensPanel.test.tsx](../../ui/src/pages/apps/gateways/panels/TokensPanel.test.tsx), [tool-gateway-service.test.ts](../../server/src/__tests__/tool-gateway-service.test.ts), [tool-gateway.test.ts](../../server/src/__tests__/tool-gateway.test.ts) |
|
||||
| [`secrets/proposals`](../feature-map/secrets.md) | Mount ProposalsTab pending secret/binding proposals, blocked authority, expired/resolved proposal, approval/rejection pending/error, and redacted metadata. | GET /companies/{id}/secret-proposals and POST approve/reject must enforce company/admin/target authority, durable resolution and redaction; verified run-bound agent proposal creation is separate. | Source: [ProposalsTab.tsx](../../ui/src/pages/secrets/ProposalsTab.tsx), [secrets.ts](../../server/src/routes/secrets.ts), [secret-proposal-authorization.ts](../../server/src/services/secret-proposal-authorization.ts). Tests: [ProposalsTab.render.test.tsx](../../ui/src/pages/secrets/ProposalsTab.render.test.tsx), [secret-proposals-routes.test.ts](../../server/src/__tests__/secret-proposals-routes.test.ts) |
|
||||
| [`plugins/installation`](../feature-map/plugins.md) | Mount PluginManager trusted package and bundled-local choices, pending install, validation/recoverable error and installed status. | POST /plugins/install on a disposable package; enforce instance install authority, trusted path/package validation and correct version. Package and local install are distinct. | Source: [PluginManager.tsx](../../ui/src/pages/PluginManager.tsx), [plugins.ts](../../server/src/routes/plugins.ts), [plugin-install-guard.ts](../../server/src/services/plugin-install-guard.ts). Tests: [plugin-install-route-security.test.ts](../../server/src/__tests__/plugin-install-route-security.test.ts), [plugin-install-autobuild.test.ts](../../server/src/__tests__/plugin-install-autobuild.test.ts), [plugin-routes-authz.test.ts](../../server/src/__tests__/plugin-routes-authz.test.ts) |
|
||||
| [`plugins/configuration`](../feature-map/plugins.md) | Mount PluginSettings valid/invalid schema inputs, saved configuration, pending/failure and unavailable plugin. | GET/POST /plugins/{id}/config and POST config/test must preserve validation/company scope and deliver saved config to real plugin worker/startup. | Source: [PluginSettings.tsx](../../ui/src/pages/PluginSettings.tsx), [plugins.ts](../../server/src/routes/plugins.ts), [plugin-config-validator.ts](../../server/src/services/plugin-config-validator.ts). Tests: [PluginSettings.test.tsx](../../ui/src/pages/PluginSettings.test.tsx), [plugin-config-startup-delivery.test.ts](../../server/src/__tests__/plugin-config-startup-delivery.test.ts), [plugin-routes-authz.test.ts](../../server/src/__tests__/plugin-routes-authz.test.ts) |
|
||||
| [`plugins/contributions`](../feature-map/plugins.md) | Mount PluginPage and CompanySettingsPluginPage contributed routes/tabs, loading, missing/unavailable plugin and action failures with a known fixture plugin. | Serve real static plugin UI; enforce bridge data/action host capabilities and company boundaries; exercise a harmless action and cold deep link. | Source: [PluginPage.tsx](../../ui/src/pages/PluginPage.tsx), [CompanySettingsPluginPage.tsx](../../ui/src/pages/CompanySettingsPluginPage.tsx), [plugins.ts](../../server/src/routes/plugins.ts), [plugin-ui-static.ts](../../server/src/routes/plugin-ui-static.ts). Tests: [PluginPage.test.tsx](../../ui/src/pages/PluginPage.test.tsx), [CompanySettingsPluginPage.test.tsx](../../ui/src/pages/CompanySettingsPluginPage.test.tsx), [plugin-ui-static.test.ts](../../server/src/__tests__/plugin-ui-static.test.ts), [plugin-tenant-isolation.test.ts](../../server/src/__tests__/plugin-tenant-isolation.test.ts) |
|
||||
| [`plugins/lifecycle`](../feature-map/plugins.md) | Mount PluginManager active/disabled/uninstall/upgrade pending and failures; distinguish operator controls from developer watcher reload. | POST enable/disable and DELETE /plugins/{id} must stop worker/tool/managed-resource activity and clean owned resources; verify disposable restart/uninstall and developer watcher separately. | Source: [PluginManager.tsx](../../ui/src/pages/PluginManager.tsx), [plugins.ts](../../server/src/routes/plugins.ts), [plugin-lifecycle.ts](../../server/src/services/plugin-lifecycle.ts), [plugin-dev-watcher.ts](../../server/src/services/plugin-dev-watcher.ts). Tests: [plugin-lifecycle-restart.test.ts](../../server/src/__tests__/plugin-lifecycle-restart.test.ts), [plugin-routes-authz.test.ts](../../server/src/__tests__/plugin-routes-authz.test.ts), [plugin-dev-watcher.test.ts](../../server/src/__tests__/plugin-dev-watcher.test.ts) |
|
||||
| [`routines/run-now`](../feature-map/routines.md) | Mount RoutineRunVariablesDialog through actual RoutineDetail with required/default inputs, project/workspace overrides, pending, blocked and failed submission. RunButton-only no-op examples do not supply/run inputs. | POST /routines/{id}/run must validate variables, create one attributed execution/task and obey pause/access/budget gates; inspect actual task outcome separately. | Source: [RoutineRunVariablesDialog.tsx](../../ui/src/components/RoutineRunVariablesDialog.tsx), [RoutineDetail.tsx](../../ui/src/pages/RoutineDetail.tsx), [routines.ts](../../server/src/routes/routines.ts). Tests: [RoutineRunVariablesDialog.test.tsx](../../ui/src/components/RoutineRunVariablesDialog.test.tsx), [routines-service.test.ts](../../server/src/__tests__/routines-service.test.ts), [routines-e2e.test.ts](../../server/src/__tests__/routines-e2e.test.ts) |
|
||||
| [`pipelines/stages`](../feature-map/pipelines.md) | Mount PipelineSettings ordered stages, automation assignees/env, invalid transitions, unsaved state, saving and failed save. | POST/PATCH stages and PUT /pipelines/{id}/transitions must persist valid order/configuration, enforce ownership and reject invalid transitions; actual automation execution remains separate. | Source: [PipelineSettings.tsx](../../ui/src/pages/PipelineSettings.tsx), [pipelines.ts](../../server/src/routes/pipelines.ts). Tests: [PipelineSettings.test.ts](../../ui/src/pages/PipelineSettings.test.ts), [pipelines-service.test.ts](../../server/src/__tests__/pipelines-service.test.ts), [pipelines-routes.test.ts](../../server/src/__tests__/pipelines-routes.test.ts) |
|
||||
| [`pipelines/items`](../feature-map/pipelines.md) | Mount Pipelines/PipelineItemDetailView board grouping, item creation/details, stage/health/work references, empty/loading and failed transition. | GET/POST /pipelines/{id}/cases and POST /cases/{id}/transition must maintain company scope, valid stage changes and linked work; fixture stage state does not prove automation. | Source: [Pipelines.tsx](../../ui/src/pages/Pipelines.tsx), [PipelineWorkReferences.tsx](../../ui/src/components/PipelineWorkReferences.tsx), [pipelines.ts](../../server/src/routes/pipelines.ts). Tests: [Pipelines.test.tsx](../../ui/src/pages/Pipelines.test.tsx), [pipelines-service.test.ts](../../server/src/__tests__/pipelines-service.test.ts), [pipelines-routes.test.ts](../../server/src/__tests__/pipelines-routes.test.ts), [pipelines-tutorial-flow.spec.ts](../../tests/e2e/pipelines-tutorial-flow.spec.ts) |
|
||||
| [`pipelines/review`](../feature-map/pipelines.md) | Mount ReviewQueue and item review pending output/revision, accept/reject/request-changes, bulk selection, stale/conflicting submission and errors. | POST /cases/{id}/review and /companies/{id}/review-cases/bulk must authorize reviewer, persist correct outcome/transition and reject stale or invalid input. | Source: [Pipelines.tsx](../../ui/src/pages/Pipelines.tsx), [pipelines.ts](../../server/src/routes/pipelines.ts). Tests: [Pipelines.test.tsx](../../ui/src/pages/Pipelines.test.tsx), [pipelines-routes.test.ts](../../server/src/__tests__/pipelines-routes.test.ts), [pipelines-service.test.ts](../../server/src/__tests__/pipelines-service.test.ts), [pipelines-tutorial-flow.spec.ts](../../tests/e2e/pipelines-tutorial-flow.spec.ts) |
|
||||
| [`pipelines/learnings`](../feature-map/pipelines.md) | Mount actual Learnings export with filtered case events, review/forced-move entries, source links, empty/loading/error. This is event history, not a separately authored learning-record system. | GET /companies/{id}/case-events in pipelines routes needs existing company/access contract tests; a rendered event cannot establish learning quality. | Source: [Pipelines.tsx](../../ui/src/pages/Pipelines.tsx), [pipeline-learnings.ts](../../ui/src/lib/pipeline-learnings.ts), [pipelines.ts](../../server/src/routes/pipelines.ts). Tests: [Pipelines.test.tsx](../../ui/src/pages/Pipelines.test.tsx), [pipelines-routes.test.ts](../../server/src/__tests__/pipelines-routes.test.ts), [pipelines-service.test.ts](../../server/src/__tests__/pipelines-service.test.ts) |
|
||||
| [`cases/browse`](../feature-map/cases.md) | Mount Cases search/filter/sort/group/tree, matched-child parent context, persisted view choices, keyboard navigation and empty/loading/error. | GET /companies/{id}/cases scope/filter behavior is production evidence; rendered fixtures establish presentation only. Mutation/permission scenarios need real API checks separately. | Source: [Cases.tsx](../../ui/src/pages/Cases.tsx), [cases.ts](../../server/src/routes/cases.ts). Tests: [Cases.test.tsx](../../ui/src/pages/Cases.test.tsx), [cases-routes.test.ts](../../server/src/__tests__/cases-routes.test.ts) |
|
||||
| [`cases/structure`](../feature-map/cases.md) | Mount CaseDetail and CaseFieldsPanel with arbitrary JSON fields and parent/children, matching descendants and unavailable child. Do not invent a general field editor or typed field validation. | GET /cases/{id} and /cases/{id}/children/tree must return permitted company records and correct relationships; changes/persistence require route tests separately. | Source: [CaseDetail.tsx](../../ui/src/pages/CaseDetail.tsx), [CaseFieldsPanel.tsx](../../ui/src/components/CaseFieldsPanel.tsx), [Cases.tsx](../../ui/src/pages/Cases.tsx), [cases.ts](../../server/src/routes/cases.ts), [pipelines.ts](../../server/src/routes/pipelines.ts). Tests: [CaseFieldsPanel.test.tsx](../../ui/src/components/CaseFieldsPanel.test.tsx), [Cases.test.tsx](../../ui/src/pages/Cases.test.tsx), [CaseDetail.test.tsx](../../ui/src/pages/CaseDetail.test.tsx), [cases-routes.test.ts](../../server/src/__tests__/cases-routes.test.ts) |
|
||||
| [`cases/history`](../feature-map/cases.md) | Mount CaseDetail activity and document revisions as distinct views, empty/loading/errors, attribution and source links. | GET /cases/{id}/events and /cases/{id}/documents/{key}/revisions require company/access filtering; a fixture list does not establish durable revision creation or restoration. | Source: [CaseDetail.tsx](../../ui/src/pages/CaseDetail.tsx), [cases.ts](../../server/src/routes/cases.ts). Tests: [CaseDetail.test.tsx](../../ui/src/pages/CaseDetail.test.tsx), [cases-routes.test.ts](../../server/src/__tests__/cases-routes.test.ts) |
|
||||
| [`cases/task-links`](../feature-map/cases.md) | Mount CaseDetail and IssueCasesPanel related-task/case links in both directions, missing links and unavailable targets. | GET /issues/{id}/cases and /cases/{id}/issue-links must enforce permitted task/case relationships; production browser cold links verify destination and company context. | Source: [CaseDetail.tsx](../../ui/src/pages/CaseDetail.tsx), [IssueCasesPanel.tsx](../../ui/src/components/IssueCasesPanel.tsx), [cases.ts](../../server/src/routes/cases.ts), [pipelines.ts](../../server/src/routes/pipelines.ts). Tests: [IssueCasesPanel.test.tsx](../../ui/src/components/IssueCasesPanel.test.tsx), [CaseDetail.test.tsx](../../ui/src/pages/CaseDetail.test.tsx), [cases-routes.test.ts](../../server/src/__tests__/cases-routes.test.ts) |
|
||||
| [`status-cards/authoring`](../feature-map/status-cards.md) | Mount CreateStatusCardDialog and StatusCardSettingsForm prompt, summarizer, refresh options, required/invalid inputs and save errors. | POST /companies/{id}/status-cards and PATCH /status-cards/{id} must enforce gate/author authority, save configuration and start expected compile task when prompt changes. | Source: [CreateStatusCardDialog.tsx](../../ui/src/pages/StatusCards/CreateStatusCardDialog.tsx), [StatusCardSettingsForm.tsx](../../ui/src/pages/StatusCards/StatusCardSettingsForm.tsx), [status-cards.ts](../../server/src/routes/status-cards.ts). Tests: [StatusCardSettingsForm.test.tsx](../../ui/src/pages/StatusCards/StatusCardSettingsForm.test.tsx), [status-cards.test.ts](../../server/src/__tests__/status-cards.test.ts) |
|
||||
| [`status-cards/generation`](../feature-map/status-cards.md) | Mount card tile/drawer compiling, refreshing, failed, stale existing summary and successful new-summary states with linked task. | POST /status-cards/{id}/recompile and /refresh plus update/finalization engine must persist actual new output/history; compare saved summary with source tasks, not merely successful task status. | Source: [StatusCardTile.tsx](../../ui/src/pages/StatusCards/StatusCardTile.tsx), [StatusCardDetailDrawer.tsx](../../ui/src/pages/StatusCards/StatusCardDetailDrawer.tsx), [status-cards.ts](../../server/src/routes/status-cards.ts), [status-card-update-engine.ts](../../server/src/services/status-card-update-engine.ts). Tests: [StatusCardTile.test.tsx](../../ui/src/pages/StatusCards/StatusCardTile.test.tsx), [status-cards.test.ts](../../server/src/__tests__/status-cards.test.ts), [status-card-update-engine.test.ts](../../server/src/__tests__/status-card-update-engine.test.ts) |
|
||||
| [`status-cards/inspection`](../feature-map/status-cards.md) | Mount StatusCardDetailDrawer summary, watched work, update/revision history, query debug, empty/loading/error and stale summary disclosure. | GET /status-cards/{id}, /updates, /summary-revisions and /dry-run must filter accessible card/source records; fixtures cannot establish summary truth or query authorization. | Source: [StatusCardDetailDrawer.tsx](../../ui/src/pages/StatusCards/StatusCardDetailDrawer.tsx), [status-cards.ts](../../server/src/routes/status-cards.ts). Tests: [StatusCardTile.test.tsx](../../ui/src/pages/StatusCards/StatusCardTile.test.tsx), [status-cards.test.ts](../../server/src/__tests__/status-cards.test.ts) |
|
||||
| [`status-cards/archive`](../feature-map/status-cards.md) | Mount StatusCards and ArchivedStatusCardRow active/archived list, restore pending/failure and old-summary state. Archive differs from deletion. | PATCH /status-cards/{id} archived true/false must persist and authorize change; restore may enqueue refresh, whose new outcome must be inspected rather than treating old summary as current. | Source: [index.tsx](../../ui/src/pages/StatusCards/index.tsx), [ArchivedStatusCardRow.tsx](../../ui/src/pages/StatusCards/ArchivedStatusCardRow.tsx), [status-cards.ts](../../server/src/routes/status-cards.ts). Tests: [status-cards.test.ts](../../server/src/__tests__/status-cards.test.ts), [status-card-update-engine.test.ts](../../server/src/__tests__/status-card-update-engine.test.ts) |
|
||||
| [`budgets-costs/resolution`](../feature-map/budgets-costs.md) | Mount BudgetIncidentCard with entered raised limit, invalid limit, keep-paused, applying, authorized/blocked and error states wired through actual host. Existing matrix handlers are no-ops. | POST /companies/{id}/budget-incidents/{id}/resolve must authorize scope-specific raise, persist resolution and resume eligible work while retaining overlapping budget/manual holds. | Source: [BudgetIncidentCard.tsx](../../ui/src/components/BudgetIncidentCard.tsx), [Costs.tsx](../../ui/src/pages/Costs.tsx), [budgets.ts](../../ui/src/api/budgets.ts), [costs.ts](../../server/src/routes/costs.ts), [budgets.ts](../../server/src/services/budgets.ts). Tests: [budgets-service.test.ts](../../server/src/__tests__/budgets-service.test.ts), [Costs.test.tsx](../../ui/src/pages/Costs.test.tsx) |
|
||||
| [`activity/runs`](../feature-map/activity.md) | Mount AuditRuns selected status/agent/routine, linked task/agent, empty/loading/error/retry and 200-entry limit. Do not invent pagination. | GET /companies/{id}/heartbeat-runs and /routines/{id}/runs require company/read/privacy checks; real browser follows context links and confirms the referenced execution. | Source: [AuditRuns.tsx](../../ui/src/pages/audit/AuditRuns.tsx), [heartbeats.ts](../../ui/src/api/heartbeats.ts), [routines.ts](../../ui/src/api/routines.ts). Tests: [AuditRuns.test.tsx](../../ui/src/pages/audit/AuditRuns.test.tsx), [heartbeat-run-privacy-routes.test.ts](../../server/src/__tests__/heartbeat-run-privacy-routes.test.ts), [routines-service.test.ts](../../server/src/__tests__/routines-service.test.ts) |
|
||||
| [`navigation-preferences/preferences`](../feature-map/navigation-preferences.md) | Mount Sidebar using real preference boundary with stars/order/collapse/recents state. Clearly distinguish in-memory section collapse, browser-local recents and server-saved stars/order. | GET/PUT /sidebar-preferences/me and /companies/{id}/sidebar-preferences/me plus stars must retain intended user/company isolation across reload and switch. Section collapse reopens after reload; global collapse is disabled. | Source: [Sidebar.tsx](../../ui/src/components/Sidebar.tsx), [sidebar-preferences.ts](../../server/src/routes/sidebar-preferences.ts), [sidebar-preferences.ts](../../server/src/services/sidebar-preferences.ts). Tests: [Sidebar.test.tsx](../../ui/src/components/Sidebar.test.tsx), [sidebar-preferences-routes.test.ts](../../server/src/__tests__/sidebar-preferences-routes.test.ts) |
|
||||
| [`instance-operations/backup`](../feature-map/instance-operations.md) | Mount shipped InstanceGeneralSettings in CompanySettings with daily/weekly/monthly retention presets, selected values, saving/error/loading and cloud-hidden controls. Backup creation and restore remain separate CLI/operator checks. | PATCH /api/instance/settings/general must enforce instance settings authority and managed hidden fields, persist retention and survive reload. Separately inspect a real backup and restore a known record into a second disposable target; a successful write does not prove restoration. | Source: [InstanceGeneralSettings.tsx](../../ui/src/pages/InstanceGeneralSettings.tsx), [CompanySettings.tsx](../../ui/src/pages/CompanySettings.tsx), [instance-settings.ts](../../server/src/routes/instance-settings.ts), [db-backup.ts](../../cli/src/commands/db-backup.ts). Tests: [InstanceGeneralSettings.test.tsx](../../ui/src/pages/InstanceGeneralSettings.test.tsx), [instance-settings-routes.test.ts](../../server/src/__tests__/instance-settings-routes.test.ts), [instance-settings-managed-overlay.test.ts](../../server/src/__tests__/instance-settings-managed-overlay.test.ts), [instance-database-backups-routes.test.ts](../../server/src/__tests__/instance-database-backups-routes.test.ts) |
|
||||
|
||||
## CLI and operator capabilities
|
||||
|
||||
These eight capabilities do not need an authored Storybook example for their core operation. Keep them in the feature index: their lack of a story is intentional verification scope, not evidence that the product lacks the feature. UI portions of related capabilities remain in the section above.
|
||||
|
||||
| Capability | Storybook scope | Required CLI/API/operator evidence | Source and existing test starting points |
|
||||
| --- | --- | --- | --- |
|
||||
| [`onboarding/instance`](../feature-map/onboarding.md) | No authored UI story required for host installation and startup. | Configure isolated data directory, start instance, confirm printed URL/identity/health, restart with saved configuration. | Source: [onboard.ts](../../cli/src/commands/onboard.ts), [onboard-service.ts](../../cli/src/onboard-service.ts). Tests: [onboard.test.ts](../../cli/src/__tests__/onboard.test.ts), [onboard-service.test.ts](../../cli/src/__tests__/onboard-service.test.ts), [test-drive.test.ts](../../cli/src/__tests__/test-drive.test.ts) |
|
||||
| [`instance-operations/install-update`](../feature-map/instance-operations.md) | No authored story required for install, channel selection, update or rollback command execution. | Use an owned managed installation: check/dry-run, installed version, retained payload rollback and failure. Source-checkout guidance is a separate case; rollback does not undo database migrations. | Source: [index.ts](../../cli/src/index.ts), [install.ts](../../cli/src/commands/install.ts), [update.ts](../../cli/src/commands/update.ts). Tests: [install-command.test.ts](../../cli/src/__tests__/install-command.test.ts), [update-command.test.ts](../../cli/src/__tests__/update-command.test.ts) |
|
||||
| [`instance-operations/diagnostics`](../feature-map/instance-operations.md) | No authored story required for doctor/health command results. | Run doctor against an owned data directory; check readiness and nonzero failures. A listening port alone does not prove readiness; repair requires observing the repaired result. | Source: [doctor.ts](../../cli/src/commands/doctor.ts). Tests: [doctor.test.ts](../../cli/src/__tests__/doctor.test.ts) |
|
||||
| [`cli-operations/context`](../feature-map/cli-operations.md) | No authored story required for CLI profile/context selection. | Verify selected API origin, identity and company, JSON output and invalid-token/wrong-company failures. A persona label is not authentication. | Source: [context.ts](../../cli/src/commands/client/context.ts). Tests: [context.test.ts](../../cli/src/__tests__/context.test.ts), [http.test.ts](../../cli/src/__tests__/http.test.ts) |
|
||||
| [`cli-operations/domain-commands`](../feature-map/cli-operations.md) | No authored story required for command parsing and domain API execution; corresponding product UI keeps its own story needs. | Discover registered help, use a disposable company, assert persisted mutations and denied operations with the actual actor. Command parity is not every endpoint passing live. | Source: [index.ts](../../cli/src/index.ts), [issue.ts](../../cli/src/commands/client/issue.ts). Tests: [operations-parity.test.ts](../../cli/src/__tests__/operations-parity.test.ts) |
|
||||
| [`cli-operations/outputs`](../feature-map/cli-operations.md) | No authored story required for CLI document/asset/skill IO or machine-readable output. | Assert payload/schema, exit code, written contents, authorization and file integrity. Open the resulting document/asset in the product for cross-surface acceptance. | Source: [issue.ts](../../cli/src/commands/client/issue.ts), [asset.ts](../../cli/src/commands/client/asset.ts), [skill.ts](../../cli/src/commands/client/skill.ts). Tests: [issue-subresources.test.ts](../../cli/src/__tests__/issue-subresources.test.ts), [admin-asset-skill-parity.test.ts](../../cli/src/__tests__/admin-asset-skill-parity.test.ts) |
|
||||
| [`cli-operations/run-controls`](../feature-map/cli-operations.md) | No authored story required for invoke/list/get/cancel/events/log command execution. | Assert the real run ID, event/log output and resulting state, eligible actor and cancellation denial. Printed success does not prove provider completion. | Source: [run.ts](../../cli/src/commands/client/run.ts), [heartbeat-run.ts](../../cli/src/commands/heartbeat-run.ts). Tests: [operations-parity.test.ts](../../cli/src/__tests__/operations-parity.test.ts) |
|
||||
| [`cli-operations/worktree-instances`](../feature-map/cli-operations.md) | No authored story required for worktree initialize/seed/repair/cleanup commands. | Use only an owned isolated checkout/instance; verify paths, ports, health, login and seed provenance, then cleanup ownership. Capture evidence before teardown. | Source: [worktree.ts](../../cli/src/commands/worktree.ts), [test-drive.ts](../../cli/src/commands/test-drive.ts). Tests: [worktree.test.ts](../../cli/src/__tests__/worktree.test.ts), [test-drive.test.ts](../../cli/src/__tests__/test-drive.test.ts) |
|
||||
|
||||
## Browser verification boundaries
|
||||
|
||||
These three capabilities principally require the real browser, router or measurement harness. An isolated story can provide visual context, but does not prove routing, runtime gates or a performance budget. Navigation fallback presentation remains eligible for a small optional story.
|
||||
|
||||
| Capability | Storybook scope | Required browser evidence | Source and existing test starting points |
|
||||
| --- | --- | --- | --- |
|
||||
| [`navigation-preferences/fallbacks`](../feature-map/navigation-preferences.md) | A NotFound rendering story can help polish, but missing-resource/legacy-deep-link capability principally needs real App/router/browser scenarios preserving company and query intent. | Cold-open invalid company/resource and retired URL; verify explicit fallback or correct canonical redirect without silently targeting a different resource/company. | Source: [NotFound.tsx](../../ui/src/pages/NotFound.tsx), [App.tsx](../../ui/src/App.tsx), [company-routes.ts](../../ui/src/lib/company-routes.ts). Tests: [App.activity-routing.test.tsx](../../ui/src/App.activity-routing.test.tsx), [App.cases-routing.test.tsx](../../ui/src/App.cases-routing.test.tsx), [App.test.tsx](../../ui/src/App.test.tsx), [company-routes.test.ts](../../ui/src/lib/company-routes.test.ts) |
|
||||
| [`developer-labs/performance`](../feature-map/developer-labs.md) | A screenshot/story is optional context, not the required performance evidence. | Use existing browser performance harnesses. Record build/browser/data size, timing/trace and scrolling. Long-thread fixture has a disabled composer; task-chat HTML harness uses a plain textarea and simulated updates. | Source: [IssueChatLongThreadPerf.tsx](../../ui/src/pages/IssueChatLongThreadPerf.tsx), [README.md](../../tests/perf/task-chat/README.md), [README.md](../../tests/perf/issue-detail/README.md). Tests: [scrollback.spec.ts](../../tests/perf/task-chat/scrollback.spec.ts), [issue-detail.perf.spec.ts](../../tests/perf/issue-detail/issue-detail.perf.spec.ts) |
|
||||
| [`developer-labs/route-gates`](../feature-map/developer-labs.md) | No isolated story required to prove actual route registration, redirects or gates; isolated gated-control examples remain useful. | Drive real routes under their actual development, experimental, production and fallback settings. Do not assume every lab is dev-only: global long-thread/lab/design routes also exist in production registration. | Source: [App.tsx](../../ui/src/App.tsx). Tests: No dedicated test asserted; use the feature recipe. |
|
||||
|
||||
## Association revisit and retained gaps
|
||||
|
||||
No further justified associations were found in this revisit of the 60 gaps. Existing lookalikes remain unlinked for concrete reasons:
|
||||
|
||||
- `inbox-search/toasts`: `DismissUndoToast` is a dismissal receipt; `StopWithoutToasts` is local visible-task suppression. Neither demonstrates persisted personal participation/mention eligibility. The upstream notification capability is newly mapped by #16153, not an overlooked notification suite.
|
||||
- `gateways-profiles/tokens`: assistant OAuth revocation is a different credential. Existing Gateway-tab token fixtures omit current fields such as `allowedActions`; inspect and repair their drift before advertising token coverage.
|
||||
- `app-permissions/catalog-change`: automatically allowing new actions with an empty quarantine does not demonstrate review/quarantine.
|
||||
- `documents-artifacts/documents`: the annotation edit mock increments a revision while returning unchanged body; it does not demonstrate saved edits or restoration.
|
||||
- `steering/drafts`: mounting after clearing and seeding storage does not demonstrate draft recovery across task switching or reload.
|
||||
- `routines/run-now` and `budgets-costs/resolution`: supplied dialogs/cards and no-op callbacks are useful presentation references, but do not yet provide the action/result scenarios for these capability links.
|
||||
|
||||
These are retained examples and explicit limits, not reasons to delete suites. The prior association corrections remain intact. No suite classifications are promoted by this inventory.
|
||||
|
||||
## Keeping this record current
|
||||
|
||||
This downstream record is maintained with [maintain-storybook](../../.agents/skills/maintain-storybook/SKILL.md). When a feature is added or an example is associated, recompute the unassociated IDs from the feature map and non-guide catalog entries; update the rows/counts and source revision. Preserve the CLI/operator and browser reasons while no story exists. A new story removes a capability from this gap inventory only when its actual subject/actions justify the catalog association; it does not remove the production verification obligation.
|
||||
|
||||
Use the [feature recipes](../feature-map/README.md) and [agent access companions](../agent-access-map/README.md) for authoritative journeys, actor restrictions and allowed/denied assertions. This record does not create a new API schema, alter access policy or redefine those maps. Record executed evidence separately in [REVIEW.md](REVIEW.md).
|
||||
|
||||
For this pass, regenerate the downstream feature index for `inbox-search/toasts` and inspect its diff. The five inbox-suite fingerprints changed only through the inspected upstream recipe; the guide/shared fingerprints also follow the regenerated index and upstream README. Those inventory refreshes retain story IDs and `unreviewed` statuses.
|
||||
@@ -10,7 +10,7 @@
|
||||
"ui/storybook/generated/feature-index.json",
|
||||
"ui/storybook/support/feature-map/FeatureOverview.tsx"
|
||||
],
|
||||
"fingerprint": "6bdb0d9cc1f9abb1d9b1c1d7b4652ee4f4cf5c9c5d939069dfabef70ed731df3"
|
||||
"fingerprint": "478ef942b11b91bd5258781e30b664f9cff6369e2ae4216d7a61be4b0801ce01"
|
||||
},
|
||||
"entries": [
|
||||
{
|
||||
@@ -22,14 +22,14 @@
|
||||
"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",
|
||||
"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": "c2cabf44446b0ae5ffba2959df65fb9aba16e635b9b5e63fa1a0e36cfb959f8b",
|
||||
"fingerprint": "6cccd3d57ac6d02f9fbeed4173a7813a4249d734b8f2d28f98c29706cbcc8548",
|
||||
"stableId": "apps-canonical-icon-registry",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Canonical icon registry"
|
||||
},
|
||||
@@ -47,7 +47,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -60,7 +60,7 @@
|
||||
"ui/storybook/stories/connection-setup/ArcadeConnection.stories.tsx",
|
||||
"maps/feature-map/app-permissions.md"
|
||||
],
|
||||
"fingerprint": "e613c96bf5fdfca19508ffe5d74ed027d757a38110029a59ca66d471f4e829f9",
|
||||
"fingerprint": "935bbdd07ef2e35b65fc6e3b4201f846f9735177e3b4415c5bbe8d0e159e0f9c",
|
||||
"stableId": "apps-connections-arcade",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connections/Arcade"
|
||||
},
|
||||
@@ -78,7 +78,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -91,7 +91,7 @@
|
||||
"ui/storybook/stories/connection-setup/ComposioConnection.stories.tsx",
|
||||
"maps/feature-map/app-permissions.md"
|
||||
],
|
||||
"fingerprint": "b5f0945453ee1e8b040bb77577723ea0a0caf13a91d2b367835d331c0d9af9cb",
|
||||
"fingerprint": "452224b19d14b6e3a7396cc1b55cb7663adaf6bf1c3202935da0f61d20be34c9",
|
||||
"stableId": "apps-connections-composio",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connections/Composio"
|
||||
},
|
||||
@@ -104,8 +104,8 @@
|
||||
"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",
|
||||
"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",
|
||||
@@ -118,7 +118,7 @@
|
||||
"ui/storybook/prototypes/RemoteMcpConnectionReview.tsx",
|
||||
"ui/storybook/stories/connection-setup/ConnectionProviderChoice.stories.tsx"
|
||||
],
|
||||
"fingerprint": "046ab725fad4b30c0b6c51d0064725e9688012a67c9106290fde7cb9413c3715",
|
||||
"fingerprint": "8661b29e8740f133ec6b457931fd7344e9225bc6f8acdd84573ac843ee9e7e97",
|
||||
"stableId": "apps-connections-provider-choice",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connections/Provider choice"
|
||||
},
|
||||
@@ -136,7 +136,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -149,7 +149,7 @@
|
||||
"ui/storybook/stories/connection-setup/ExecutorConnection.stories.tsx",
|
||||
"maps/feature-map/app-permissions.md"
|
||||
],
|
||||
"fingerprint": "402206b2ff037110ee05a2d00e80f7ee2f9346b211829030eddf4b95541a2e30",
|
||||
"fingerprint": "e405d30ca0c64ceae9302500b07876c0dc57c8d0cbbedf23c432dfb9fe4a339d",
|
||||
"stableId": "apps-connections-executor",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connections/Executor"
|
||||
},
|
||||
@@ -167,7 +167,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -180,7 +180,7 @@
|
||||
"ui/storybook/stories/connection-setup/ZapierConnection.stories.tsx",
|
||||
"maps/feature-map/app-permissions.md"
|
||||
],
|
||||
"fingerprint": "c0593ea1b08ecf7ac978943e1cba6b04289234676caf498aeccd5a45be7fda16",
|
||||
"fingerprint": "a92fb11928da7e60fa8ef1db8b9090828c02dd60095dc581e620263522c721be",
|
||||
"stableId": "apps-connections-zapier",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connections/Zapier"
|
||||
},
|
||||
@@ -588,8 +588,8 @@
|
||||
"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",
|
||||
"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",
|
||||
@@ -604,7 +604,7 @@
|
||||
"ui/storybook/fixtures/routineTriggerWizard.tsx",
|
||||
"ui/storybook/stories/connection-setup/agent-setup-prompt.stories.tsx"
|
||||
],
|
||||
"fingerprint": "5628f9ddbb4484f964e4b95d3c342e982f9b10e1c39e8cfbaa49a0ab2cb2a484",
|
||||
"fingerprint": "379018ba98ba89a2a05b26f5db3e28d85d81af08b77a011c55d9bc6118fa1a15",
|
||||
"stableId": "components-agent-setup-prompt",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Components/Agent setup prompt"
|
||||
},
|
||||
@@ -659,7 +659,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -669,7 +669,7 @@
|
||||
"ui/storybook/fixtures/paperclipData.ts",
|
||||
"ui/storybook/stories/chat-channels/agentmail-onboarding.stories.tsx"
|
||||
],
|
||||
"fingerprint": "22c79d5f6a714efbaeaaa0023284707b696aa73cddbb66067d8c5a3dde116859",
|
||||
"fingerprint": "69bd5253a034d76a1f13712cf59b8fba7c1678d95a8dd355988727cdccf77404",
|
||||
"stableId": "connections-agentmail-setup",
|
||||
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/AgentMail setup"
|
||||
},
|
||||
@@ -847,8 +847,8 @@
|
||||
"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.",
|
||||
"reviewedAt": "2026-10-12",
|
||||
"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",
|
||||
@@ -856,7 +856,7 @@
|
||||
"ui/storybook/prototypes/ConnectorCatalogNavigation.tsx",
|
||||
"ui/storybook/stories/connection-setup/apps-catalog-source-selection.stories.tsx"
|
||||
],
|
||||
"fingerprint": "5157a890fe6825a1f89d138a582e5b11791aceef4a0d7cfb6c5cc968c06ee7f6",
|
||||
"fingerprint": "e93a8979af016cd9823399c8a3888b5e03de8718defa31fa00a1ccd521241bd6",
|
||||
"stableId": "apps-catalog-source-selection",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Catalog source selection"
|
||||
},
|
||||
@@ -869,15 +869,15 @@
|
||||
"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",
|
||||
"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": "bd84a617cba9cc83a08f36d133e954a54a8f60c94ae805382736f560e41c3bdd",
|
||||
"fingerprint": "c9c741dd4b9fdac34e49e6940c5be47c3c728dcb0ad4c057eb18d90d4e25f4aa",
|
||||
"stableId": "apps-connect-discoverability-pap-11091",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connect discoverability (PAP-11091)"
|
||||
},
|
||||
@@ -890,14 +890,14 @@
|
||||
"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",
|
||||
"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": "cf644220c06d38aa70e94b35519698b7bb4f00cc0565dc7d9cd4840293d15630",
|
||||
"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)"
|
||||
},
|
||||
@@ -1282,8 +1282,8 @@
|
||||
"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",
|
||||
"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",
|
||||
@@ -1291,7 +1291,7 @@
|
||||
"ui/storybook/fixtures/browser-use.tsx",
|
||||
"ui/storybook/stories/connection-setup/browser-use-settings.stories.tsx"
|
||||
],
|
||||
"fingerprint": "03d6a432d16ecfb9bea1c75108ee7c70d23d283b47bd28f287547f4b6c23f7f3",
|
||||
"fingerprint": "c4b0593a7d8fd826c8949fa2374c469fdc6a4ad8cbf6efd01fbd97f6db833228",
|
||||
"stableId": "connections-browser-use-cloud-settings",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Connections/Browser Use Cloud/Settings"
|
||||
},
|
||||
@@ -1331,7 +1331,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -1347,7 +1347,7 @@
|
||||
"ui/src/components/ProviderQuotaCard.tsx",
|
||||
"ui/storybook/stories/budgets-costs/budget-finance.stories.tsx"
|
||||
],
|
||||
"fingerprint": "b71fa2f405c1d671b092bd2d86b220429819950b100c5aed3b7afb2b4efae1d3",
|
||||
"fingerprint": "1af4d0af7d3dc0008dce21ac303af6aa90fb46593389fc7e47602a490e3ca8c7",
|
||||
"stableId": "product-budget-finance",
|
||||
"sidebarTitle": "Oversight and operation/Costs and budgets/Product/Budget & Finance"
|
||||
},
|
||||
@@ -1667,8 +1667,8 @@
|
||||
"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",
|
||||
"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",
|
||||
@@ -1681,7 +1681,7 @@
|
||||
"ui/storybook/fixtures/paperclipData.ts",
|
||||
"ui/storybook/stories/connection-setup/connection-instructions.stories.tsx"
|
||||
],
|
||||
"fingerprint": "8f34f47beca85eea7d4cd012422422a37cd2d47ce7068bce9103dfc9d934e9dd",
|
||||
"fingerprint": "fbe38d3bcc75a349708824554ebc89e2b537765679f1bc20c83382187d3f7b8d",
|
||||
"stableId": "design-explorations-connections-agent-instructions",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Design explorations/Connections/Agent instructions"
|
||||
},
|
||||
@@ -1695,8 +1695,8 @@
|
||||
"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",
|
||||
"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",
|
||||
@@ -1708,7 +1708,7 @@
|
||||
"ui/storybook/prototypes/ConnectionPoolConnectorHost.tsx",
|
||||
"ui/storybook/stories/runs-adapters/connection-pool-connector.stories.tsx"
|
||||
],
|
||||
"fingerprint": "f6208d2a6b919cbd511baefdb5e45f79eb2c2d851e6035ea9778a13fc827544c",
|
||||
"fingerprint": "8435510a61a26df876ed1f5ab088873738bcc4e57c3b17d8bb59a1fc548f111e",
|
||||
"stableId": "connectors-pool-host",
|
||||
"sidebarTitle": "Agents and reusable capabilities/Runs, harnesses, and model accounts/Connectors/Pool host"
|
||||
},
|
||||
@@ -1748,7 +1748,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -1759,7 +1759,7 @@
|
||||
"ui/storybook/fixtures/paperclipData.ts",
|
||||
"ui/storybook/stories/questions-and-approvals/connection-reviews.stories.tsx"
|
||||
],
|
||||
"fingerprint": "1fd693af15b9cc5669e91fb5eaa67e21ad60866aac16f7f8c40ad6f8d8ec6bb9",
|
||||
"fingerprint": "20866331e244be5a10686f155ff0e0e1d9e644abdea71ca9b63ed46fd925732c",
|
||||
"stableId": "chat-comments-connection-reviews",
|
||||
"sidebarTitle": "Tasks and conversations/Questions and approvals/Chat & Comments/Connection Reviews"
|
||||
},
|
||||
@@ -1806,15 +1806,15 @@
|
||||
"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",
|
||||
"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": "5663cc1d142ce63bf2c5e2edc23c19ef6b6f45fdee12cc79ad9e20446a5be5a8",
|
||||
"fingerprint": "7eeef3d9becbe18d7f7e644f4fc8628c386071f151a038842fac12e97602c81d",
|
||||
"stableId": "costs-subscriptions",
|
||||
"sidebarTitle": "Oversight and operation/Costs and budgets/Costs/Subscriptions"
|
||||
},
|
||||
@@ -1828,7 +1828,7 @@
|
||||
"status": "unreviewed",
|
||||
"implementation": "production",
|
||||
"boundary": "fixtures",
|
||||
"notes": "Shipped subjects identified through imports and local wrappers; full state, fixture-contract and route parity remain unreviewed.",
|
||||
"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/recovery.md",
|
||||
@@ -1836,7 +1836,7 @@
|
||||
"ui/src/components/task-chat/TaskChatMarker.tsx",
|
||||
"ui/storybook/stories/secrets/credential-access/01-notice.stories.tsx"
|
||||
],
|
||||
"fingerprint": "14757d026311d143e9301d6294d2f46f40dad25af8ea3f8d5cf1893b260f82db",
|
||||
"fingerprint": "505e42e0a40afea13cf02b65bad4488650e2c56a5a4a720b4b9a2c193f4d2e70",
|
||||
"stableId": "task-credential-access-01-notice",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Secrets and proposals/Task credential access/01 Notice"
|
||||
},
|
||||
@@ -1850,7 +1850,7 @@
|
||||
"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.",
|
||||
"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.",
|
||||
"reviewedAt": "2026-10-13",
|
||||
"sources": [
|
||||
"maps/feature-map/recovery.md",
|
||||
@@ -1862,7 +1862,7 @@
|
||||
"ui/storybook/stories/secrets/credential-access/02-task-page.stories.tsx",
|
||||
"ui/storybook/support/credential-access/CredentialTaskPage.tsx"
|
||||
],
|
||||
"fingerprint": "1289c5e6659cd318f00b63d4f16790bbac988d8d18f6726e10262223c11e66fe",
|
||||
"fingerprint": "ba6c1d3f3e076672a84ae0ef6372f3a14e7d93ffa9f23b0ad3cb296e1e752a44",
|
||||
"stableId": "task-credential-access-02-task-page",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Secrets and proposals/Task credential access/02 Task page"
|
||||
},
|
||||
@@ -1998,7 +1998,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -2009,7 +2009,7 @@
|
||||
"ui/storybook/stories/companies/decision-models/03-journey.stories.tsx",
|
||||
"ui/storybook/support/decision-models/fixtures.ts"
|
||||
],
|
||||
"fingerprint": "fe773821e67983b5a6255d417fd9952e3bc227c4ccdb8410b06e1a9200c94d63",
|
||||
"fingerprint": "18b3ec30595cccd821d30fbf6eef0ca7b072666c9fd98b48f866b4420144a244",
|
||||
"stableId": "decision-models-03-journey",
|
||||
"sidebarTitle": "Getting started and access/Companies and portability/Decision models/03 Journey"
|
||||
},
|
||||
@@ -2044,14 +2044,14 @@
|
||||
"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",
|
||||
"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": "e936abb4c886157de2f3772383b4062734e0b3a8c7dc64bb42331eef64cd6456",
|
||||
"fingerprint": "65b11bebc5c0a3f7644149c7ba18c7cd7fa810c300e60459ea045904f771c0ef",
|
||||
"stableId": "product-dev-ops-surfaces",
|
||||
"sidebarTitle": "Oversight and operation/Instance operations/Product/Dev Ops Surfaces"
|
||||
},
|
||||
@@ -2167,8 +2167,8 @@
|
||||
"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",
|
||||
"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",
|
||||
@@ -2176,7 +2176,7 @@
|
||||
"ui/src/pages/apps/app-detail/AdvancedPanel.tsx",
|
||||
"ui/storybook/stories/connection-setup/enterpret-connect-flow.stories.tsx"
|
||||
],
|
||||
"fingerprint": "4b82e0db0a71ad569c10f32553084e884a89cb58eac33782ca07ae272e7411c1",
|
||||
"fingerprint": "81be6c7c5dd054799a393b8c61c29c4190cf8a112fd9e573e0010c2cbab393c9",
|
||||
"stableId": "apps-enterpret-connector",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Enterpret connector"
|
||||
},
|
||||
@@ -2189,14 +2189,14 @@
|
||||
"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",
|
||||
"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": "f41ed501dc34f19a8ef6071f1e7e563e8ac60769e6a2930dcfd8cde15d6551d0",
|
||||
"fingerprint": "e358e40a80d2d2dc92050836098375e0f9d88a3b59491d24c1a4c4b784e70c00",
|
||||
"stableId": "product-environment-variables-editor",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Secrets and proposals/Product/Environment Variables Editor"
|
||||
},
|
||||
@@ -2400,8 +2400,8 @@
|
||||
"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",
|
||||
"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",
|
||||
@@ -2420,7 +2420,7 @@
|
||||
"ui/storybook/fixtures/routineWebhooks.tsx",
|
||||
"ui/storybook/stories/connection-setup/fireflies-pr.stories.tsx"
|
||||
],
|
||||
"fingerprint": "d7898061478285bbc6fa9ee5152bdb840ca3d329590a3b35573e0632282278e5",
|
||||
"fingerprint": "0a85fc855275fb6dfbd89dbc9d25bed994b940af1a01d95b04d4375d843fd1dc",
|
||||
"stableId": "pr-reviews-fireflies-and-app-webhooks",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/PR reviews/Fireflies and app webhooks"
|
||||
},
|
||||
@@ -2631,7 +2631,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -2643,7 +2643,7 @@
|
||||
"ui/storybook/fixtures/paperclipData.ts",
|
||||
"ui/storybook/stories/chat-channels/github-connections.stories.tsx"
|
||||
],
|
||||
"fingerprint": "53ef79816b0825618e15a4bbb501df31efea9a1fb62ccdf066a81e26c71a838c",
|
||||
"fingerprint": "e59cc39bf1cf6db5359c94a30c7b64e3b8cb175b576295f16d541850929abce9",
|
||||
"stableId": "connections-github-and-code-review-bot",
|
||||
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/GitHub and Code Review Bot"
|
||||
},
|
||||
@@ -2785,7 +2785,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -2802,7 +2802,7 @@
|
||||
"ui/storybook/stories/chat-channels/imessage-photon.stories.tsx",
|
||||
"maps/feature-map/connection-setup.md"
|
||||
],
|
||||
"fingerprint": "b851159519b6a550975b618df95beb65dc1b3eba1c5cae4ebaf19665b81b99a0",
|
||||
"fingerprint": "0bde3836db1263b123716adacf6873f4acda21680527cc5d172a262d5706db33",
|
||||
"stableId": "connections-imessage-photon",
|
||||
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/iMessage Photon"
|
||||
},
|
||||
@@ -2815,7 +2815,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -2826,7 +2826,7 @@
|
||||
"ui/storybook/fixtures/paperclipData.ts",
|
||||
"ui/storybook/stories/connection-setup/in-feed-connections.stories.tsx"
|
||||
],
|
||||
"fingerprint": "ee52243b469f3e9581f41c2d1fb88c769d85b80fd6e667591445c261d9b8fcf9",
|
||||
"fingerprint": "0f7d921de69bc5e5164123985848a1a58bc2c860ebe085e70c300d36cc02a018",
|
||||
"stableId": "connections-in-task-connections",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Connections/In-task connections"
|
||||
},
|
||||
@@ -3007,14 +3007,14 @@
|
||||
"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",
|
||||
"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": "990d6bc169b5150f28c7e07eb8e9acb13056e4d71459217c36a637c5ef256d15",
|
||||
"fingerprint": "3dfb21c9edeec6693db673e59fd0963597858d010c4eb1de35dc47535780d0c1",
|
||||
"stableId": "apps-managed-cloud-oauth-handoff",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Managed Cloud OAuth handoff"
|
||||
},
|
||||
@@ -3028,8 +3028,8 @@
|
||||
"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",
|
||||
"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",
|
||||
@@ -3038,7 +3038,7 @@
|
||||
"ui/src/pages/apps/Browse.tsx",
|
||||
"ui/storybook/stories/connection-setup/memory-connectors.stories.tsx"
|
||||
],
|
||||
"fingerprint": "f7e104c4e8b912b93fab037be9811583b3437e3c2d8a906eba343e70107dfc80",
|
||||
"fingerprint": "cc6f6d6a84e516e87c3c7d4d2c4303e693b92ea5117958bf4f9db96ac0f5a993",
|
||||
"stableId": "apps-connections-memory",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Connections/Memory"
|
||||
},
|
||||
@@ -3251,8 +3251,8 @@
|
||||
"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",
|
||||
"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",
|
||||
@@ -3263,7 +3263,7 @@
|
||||
"ui/src/pages/apps/app-detail/SetupPanel.tsx",
|
||||
"ui/storybook/stories/connection-setup/notion-connect-flow.stories.tsx"
|
||||
],
|
||||
"fingerprint": "d1cedce55a218e81ba61a5f60d073b61cf6ce7235707a22de2305e10c3621544",
|
||||
"fingerprint": "7dc85c9cf9f5a37268aa1bca783d1c68d5cef474838ee79b4f1d2b293a7765d2",
|
||||
"stableId": "apps-notion-mcp-connect-flow-pap-16650",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Apps/Notion MCP connect flow (PAP-16650)"
|
||||
},
|
||||
@@ -3369,7 +3369,7 @@
|
||||
"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.",
|
||||
"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.",
|
||||
"reviewedAt": "2026-10-13",
|
||||
"sources": [
|
||||
"ui/src/components/ui/badge.tsx",
|
||||
@@ -3379,7 +3379,7 @@
|
||||
"ui/storybook/generated/feature-index.json"
|
||||
],
|
||||
"exception": "Shared foundations or contributor guide; no single business capability owns this suite.",
|
||||
"fingerprint": "408bb736ebe6591fb5a397db6d8b3d3d0b37741a66ed2a7edc84781c67d5c6c7",
|
||||
"fingerprint": "71c2ea943674edd2e8692f33040e301fbd0a25391db4ea01b42ee165ad34eaba",
|
||||
"stableId": "overview-storybook-guide",
|
||||
"sidebarTitle": "Overview/Storybook Guide"
|
||||
},
|
||||
@@ -3439,14 +3439,14 @@
|
||||
"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",
|
||||
"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": "2ac1d0214d0f286f3c35bd2ef7d50c59bc038ba314976e22f2900918e18e876a",
|
||||
"fingerprint": "7f0d4c64425d3657c8d2662cea6541f52cb6f13fa276c02fec5398cb7df5111a",
|
||||
"stableId": "reviews-pap-17835-personal-connection-identity",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Connection setup/Reviews/PAP-17835 Personal connection identity"
|
||||
},
|
||||
@@ -4413,7 +4413,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -4422,7 +4422,7 @@
|
||||
"ui/storybook/stories/gateways-profiles/public-mcp-setting.stories.tsx",
|
||||
"maps/feature-map/instance-operations.md"
|
||||
],
|
||||
"fingerprint": "96735a71b1d81cbe604ed55594ee9a8a04de8f365665c33ca260fbfc84263d55",
|
||||
"fingerprint": "06f786e22151a5e1ec113966cbe72f28841a10f4e580c73bab18733091429711",
|
||||
"stableId": "assistant-connections-experimental-setting",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Tool gateways and access profiles/Assistant connections/Experimental setting"
|
||||
},
|
||||
@@ -4566,8 +4566,8 @@
|
||||
"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",
|
||||
"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",
|
||||
@@ -4576,7 +4576,7 @@
|
||||
"ui/storybook/fixtures/paperclipData.ts",
|
||||
"ui/storybook/stories/routines/routine-secrets.stories.tsx"
|
||||
],
|
||||
"fingerprint": "03c05c0cca01d220885ea96f13495bcc185121eecbbeb00918511b4d7de26016",
|
||||
"fingerprint": "ac3e04699ed84d7a11567f17b185c2bbe5c30d049586e03def563f774457e276",
|
||||
"stableId": "product-routines-·-secrets-tab",
|
||||
"sidebarTitle": "Automation and structured work/Routines, schedules, and triggers/Product/Routines · Secrets tab"
|
||||
},
|
||||
@@ -4766,8 +4766,8 @@
|
||||
"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",
|
||||
"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",
|
||||
@@ -4776,7 +4776,7 @@
|
||||
"ui/storybook/fixtures/paperclipData.ts",
|
||||
"ui/storybook/stories/secrets/secrets.stories.tsx"
|
||||
],
|
||||
"fingerprint": "246539c619974c29848ae6ba3685aa741dbc572eeb6f8cffb2e9328501fbf31b",
|
||||
"fingerprint": "b52b6355351b1d49d2fb5921f357fa957288ad646015c5bd99d02b5aec04fee2",
|
||||
"stableId": "product-secrets",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Secrets and proposals/Product/Secrets"
|
||||
},
|
||||
@@ -4895,7 +4895,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -4906,7 +4906,7 @@
|
||||
"ui/storybook/fixtures/paperclipData.ts",
|
||||
"ui/storybook/stories/chat-channels/slack-automatic-setup.stories.tsx"
|
||||
],
|
||||
"fingerprint": "6d8c13f5ebed08a43b9f146f49a2506c9c5e1ac9305121b94e9cd5bb9c060476",
|
||||
"fingerprint": "31f3622faa8699ee34e8a70c340c13a302b1d1184f98da084da68ddf9213d2b8",
|
||||
"stableId": "connections-slack-automatic-setup",
|
||||
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/Slack/Automatic setup"
|
||||
},
|
||||
@@ -4964,7 +4964,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -4975,7 +4975,7 @@
|
||||
"ui/storybook/fixtures/paperclipData.ts",
|
||||
"ui/storybook/stories/chat-channels/slack-managed-setup.stories.tsx"
|
||||
],
|
||||
"fingerprint": "59d4e5ebb276a491e22d6461fe9c9bab36778097d15ab2203d6cd95a4151e371",
|
||||
"fingerprint": "2615f5c6c170741458801ec39bdf19f84334db7cac3e38d1115d5cc4bbdd18f2",
|
||||
"stableId": "connections-slack-managed-setup",
|
||||
"sidebarTitle": "Apps, channels, and extensions/External chat and email/Connections/Slack/Managed setup"
|
||||
},
|
||||
@@ -5483,8 +5483,8 @@
|
||||
"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",
|
||||
"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",
|
||||
@@ -5493,7 +5493,7 @@
|
||||
"ui/src/pages/secrets/UserSecretDefinitionsTab.tsx",
|
||||
"ui/storybook/stories/secrets/user-secrets.stories.tsx"
|
||||
],
|
||||
"fingerprint": "5c875865c81923b2c568559d0c2f7bde22d1a8162501736ba3eeeb027acae772",
|
||||
"fingerprint": "7946ebdc6c576de9cdd30205131073f5029aec8e094397bab66c300c1f3a79ea",
|
||||
"stableId": "product-user-secrets",
|
||||
"sidebarTitle": "Apps, channels, and extensions/Secrets and proposals/Product/User secrets"
|
||||
},
|
||||
|
||||
@@ -817,7 +817,7 @@
|
||||
{
|
||||
"id": "secrets/runtime-delivery",
|
||||
"label": "Runtime delivery",
|
||||
"description": "deliver only the secret references authorized for the run/actor."
|
||||
"description": "deliver only the secret references authorized for the run/actor. Agent-owned instance secrets stay in the trusted server runtime and are never delivered to an agent."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -1090,7 +1090,7 @@
|
||||
{
|
||||
"id": "instance-operations/backup",
|
||||
"label": "Backup",
|
||||
"description": "create and inspect backups and verify restore only into a separate disposable target."
|
||||
"description": "create and inspect backups and verify restore only into a separate disposable target. Routine HTTP monitoring may use `GET /api/liveness` (or `HEAD`). It returns only process startup status and the public build commit without SQL or authentication. It remains reachable during an idle drain. Use `/api/health` for explicit database readiness, signed bootstrap, and authorized diagnostics; liveness does not establish database health or claim a workspace."
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user