# Content Agent/UI Action Parity Matrix

This generated matrix tracks whether high-value Content UI operations use the same action surface agents can call, or have an explicit exception. Edit `matrix.ts`, then regenerate this file.

| ID                                                 | Surface     | User-visible action                                                                                       | Status                | Actions                                                                                                                                                                                                                                                                                                                                                                                                     | UI entrypoints                                                                                                                                                                            | Durable effect                                                                                                                                                                                                                                                                            | Exception / gap                                                                                                                                                                                                                            | Reliability risk | Spine priority | Test coverage | Coverage refs                                                                                                                                                                                                           | Eval scenarios                   | Follow-up                      |
| -------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------- | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------- | -------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------------------ |
| comments.threads                                   | comments    | List, add, reply, resolve, reopen, and delete comment threads                                             | action-backed         | `add-comment`, `delete-comment`, `list-comments`, `update-comment`                                                                                                                                                                                                                                                                                                                                          | `app/components/editor/CommentsSidebar.tsx`, `app/hooks/use-comments.ts`                                                                                                                  | Comment threads, replies, anchors, mentions, resolution state, and deletion are stored through comment actions.                                                                                                                                                                           | -                                                                                                                                                                                                                                          | -                | P0             | seeded        | -                                                                                                                                                                                                                       | -                                | -                              |
| database.form-submissions                          | database    | Submit public database forms as new rows                                                                  | action-backed         | `submit-content-database-form`                                                                                                                                                                                                                                                                                                                                                                              | `app/components/editor/database/FormView.tsx`                                                                                                                                             | A validated form submission atomically creates a database row document and its editable property values.                                                                                                                                                                                  | -                                                                                                                                                                                                                                          | -                | P0             | covered       | `actions/submit-content-database-form.db.test.ts`                                                                                                                                                                       | -                                | -                              |
| database.lifecycle-and-trash                       | database    | Create, soft-delete, restore, list, and inspect content databases                                         | action-backed         | `create-content-database`, `create-inline-content-database`, `delete-content-database`, `get-content-database`, `list-content-databases`, `list-trashed-content-databases`, `restore-content-database`                                                                                                                                                                                                      | `app/components/editor/SlashCommandMenu.tsx`, `app/hooks/use-content-database.ts`, `app/hooks/use-documents.ts`                                                                           | Database pages and database records are created, read, soft-deleted, restored, and listed.                                                                                                                                                                                                | -                                                                                                                                                                                                                                          | -                | P0             | covered       | `actions/content-database-lifecycle.db.test.ts`                                                                                                                                                                         | `database-source-scope`          | -                              |
| database.private-preview-drafts                    | database    | Persist and reconcile a user's private database-page preview draft                                        | action-backed         | `get-preview-document-draft`, `update-preview-document-draft`                                                                                                                                                                                                                                                                                                                                               | `app/components/editor/database/DatabaseView.tsx`, `app/hooks/use-documents.ts`                                                                                                           | A user's private preview draft is read, saved, conflict-checked, or deleted without changing the shared database page until the normal save flow applies it.                                                                                                                              | These per-user editor-state actions are intentionally hidden from agent tools because preview drafts are a private UI recovery mechanism.                                                                                                  | -                | P1             | covered       | `actions/preview-document-draft.db.test.ts`                                                                                                                                                                             | -                                | -                              |
| database.properties-and-view-config                | database    | Configure properties, values, ordering, and saved views                                                   | action-backed         | `configure-document-property`, `delete-document-property`, `duplicate-document-property`, `get-content-database-personal-view`, `list-document-properties`, `reorder-document-property`, `set-document-property`, `update-content-database-personal-view`, `update-content-database-view`                                                                                                                   | `app/components/editor/DocumentProperties.tsx`, `app/components/editor/DocumentDatabase.tsx`, `app/components/editor/database/DatabaseView.tsx`, `app/hooks/use-document-properties.ts`   | Property schemas, property values, property order, filters, sorts, grouping, hidden columns, view type, and view settings are stored.                                                                                                                                                     | -                                                                                                                                                                                                                                          | -                | P0             | covered       | `actions/bind-content-database-source-field.db.test.ts`, `actions/content-database-source-actions.test.ts`, `actions/resync-content-database-source.db.test.ts`                                                         | `database-source-scope`          | -                              |
| database.rows                                      | database    | Add, duplicate, move, open, and delete database rows                                                      | action-backed         | `add-database-item`, `delete-database-items`, `delete-document`, `duplicate-database-items`, `duplicate-database-item`, `move-database-item`, `set-document-property`                                                                                                                                                                                                                                       | `app/components/editor/DocumentDatabase.tsx`, `app/components/editor/database/DatabaseView.tsx`                                                                                           | Database row backing documents and row ordering are created, duplicated, moved, edited, and deleted.                                                                                                                                                                                      | -                                                                                                                                                                                                                                          | -                | P0             | covered       | `actions/database-row-batch-actions.db.test.ts`, `parity/__tests__/database-row-batch-reliability.test.ts`                                                                                                              | `database-bulk-row-reliability`  | -                              |
| editor.agent-assist-prompts                        | editor      | Ask AI from slash generation or comment context                                                           | client-assist         | -                                                                                                                                                                                                                                                                                                                                                                                                           | `app/components/editor/SlashCommandMenu.tsx`, `app/components/editor/CommentsSidebar.tsx`                                                                                                 | No direct durable mutation; the prompt asks the agent to use document actions when it decides to write.                                                                                                                                                                                   | -                                                                                                                                                                                                                                          | -                | P1             | none          | -                                                                                                                                                                                                                       | -                                | -                              |
| editor.client-formatting-and-insertions            | editor      | Rich text formatting, selection state, slash block insertion, and copy actions                            | client-only-ephemeral | -                                                                                                                                                                                                                                                                                                                                                                                                           | `app/components/editor/BubbleToolbar.tsx`, `app/components/editor/SlashCommandMenu.tsx`, `app/components/editor/DocumentToolbar.tsx`                                                      | -                                                                                                                                                                                                                                                                                         | -                                                                                                                                                                                                                                          | -                | P1             | none          | -                                                                                                                                                                                                                       | -                                | -                              |
| editor.document-body-and-title                     | editor      | Edit document title, body, icon, image alt text, and precise text                                         | action-backed         | `edit-document`, `pull-document`, `set-image-alt-text`, `transcribe-media`, `update-document`                                                                                                                                                                                                                                                                                                               | `app/components/editor/DocumentEditor.tsx`, `app/components/editor/DocumentDatabase.tsx`, `app/components/editor/extensions/ImageBlock.tsx`, `app/components/editor/SlashCommandMenu.tsx` | Document content, title, icon, image metadata, and text replacements are saved to the same document source.                                                                                                                                                                               | -                                                                                                                                                                                                                                          | -                | P0             | covered       | `actions/content-database-lifecycle.db.test.ts`, `actions/_local-file-documents.test.ts`                                                                                                                                | `document-search-edit`           | -                              |
| local-files.components-workspace                   | local-files | Register, list, and write local MDX component workspaces                                                  | host-only             | `list-local-component-files`, `register-local-component-workspace`, `write-local-component-file`                                                                                                                                                                                                                                                                                                            | `app/routes/_app.local-files.tsx`, `actions/register-local-component-workspace.ts`, `actions/list-local-component-files.ts`, `actions/write-local-component-file.ts`                      | Trusted local component workspace registration and component file reads/writes support local MDX previews.                                                                                                                                                                                | Workspace registration depends on a trusted Desktop folder path and is intentionally hidden with agentTool: false.                                                                                                                         | -                | P1             | seeded        | -                                                                                                                                                                                                                       | -                                | Local folder exception/docs PR |
| local-files.host-folder-handles                    | local-files | Choose, persist, remove, and write trusted local folder handles                                           | host-only             | -                                                                                                                                                                                                                                                                                                                                                                                                           | `app/routes/_app.local-files.tsx`                                                                                                                                                         | Host directory handles and browser/Desktop write permissions are managed outside SQL action state.                                                                                                                                                                                        | Mounted local folders require browser/Desktop host handles that agents cannot safely or portably hold as normal tools.                                                                                                                     | -                | P0             | none          | -                                                                                                                                                                                                                       | -                                | Local folder exception/docs PR |
| local-files.import-export-mounted-folder           | local-files | Import, check, export, push, and remove local folder source files                                         | action-backed         | `connect-local-folder-source`, `disconnect-local-folder-source`, `export-content-source`, `import-content-source`, `remove-local-file-source`, `resolve-local-folder-conflict`, `sync-local-folder-source`, `sync-manifest-local-folder-source`                                                                                                                                                             | `app/routes/_app.local-files.tsx`, `actions/import-content-source.ts`, `actions/export-content-source.ts`                                                                                 | Local Markdown/MDX source files are imported into Content documents, editable Content documents are exported back to source-friendly files, and imported source entries can be removed without deleting files on disk.                                                                    | -                                                                                                                                                                                                                                          | -                | P0             | covered       | `actions/_local-file-documents.test.ts`, `actions/local-folder-source.db.test.ts`                                                                                                                                       | `local-file-source-truth`        | -                              |
| notion.route-backed-document-sync                  | source-sync | Notion document sync status, link, unlink, pull, push, resolve, create, search, and disconnect            | action-backed         | `connect-notion-status`, `create-and-link-notion-page`, `disconnect-notion`, `link-notion-page`, `list-notion-links`, `pull-notion-page`, `push-notion-page`, `refresh-notion-sync-status`, `resolve-notion-sync-conflict`, `search-notion-pages`, `sync-notion-comments`, `unlink-notion-page`                                                                                                             | `app/hooks/use-notion.ts`, `app/components/editor/DocumentToolbar.tsx`, `app/components/editor/NotionSyncBar.tsx`, `app/components/editor/DocumentEditor.tsx`                             | Notion connection state, page search, link metadata, and local/remote document body sync state are read or mutated through Content actions.                                                                                                                                               | Notion OAuth auth-url and callback routes remain route-shaped because they initiate and receive browser redirects rather than normal app data mutations.                                                                                   | -                | P0             | covered       | `parity/__tests__/matrix-route-gap-classify.test.ts`                                                                                                                                                                    | -                                | -                              |
| sharing.document-discoverability-and-export        | sharing     | Share, hide from search, export, and reveal documents                                                     | action-backed         | `export-document`, `reveal-local-source-file`, `set-document-discoverability`, `share-local-file-document`                                                                                                                                                                                                                                                                                                  | `app/components/editor/DocumentToolbar.tsx`, `app/hooks/use-documents.ts`                                                                                                                 | Search discoverability, shareable copies, exports, and OS reveal requests are managed through Content actions.                                                                                                                                                                            | -                                                                                                                                                                                                                                          | -                | P0             | covered       | `actions/_local-file-documents.test.ts`                                                                                                                                                                                 | `local-file-source-truth`        | -                              |
| sharing.os-reveal-local-source                     | sharing     | Reveal a local source file in the system file manager                                                     | host-only             | `reveal-local-source-file`                                                                                                                                                                                                                                                                                                                                                                                  | `app/components/editor/DocumentToolbar.tsx`, `actions/reveal-local-source-file.ts`                                                                                                        | -                                                                                                                                                                                                                                                                                         | OS reveal depends on trusted local host capabilities and should not spend agent tool surface or imply portable hosted behavior.                                                                                                            | -                | P2             | seeded        | -                                                                                                                                                                                                                       | -                                | Local folder exception/docs PR |
| sidebar.chrome-state                               | sidebar     | Collapse sections and resize the sidebar                                                                  | client-only-ephemeral | -                                                                                                                                                                                                                                                                                                                                                                                                           | `app/components/sidebar/DocumentSidebar.tsx`, `app/components/layout/Layout.tsx`                                                                                                          | -                                                                                                                                                                                                                                                                                         | -                                                                                                                                                                                                                                          | -                | P2             | none          | -                                                                                                                                                                                                                       | -                                | -                              |
| sidebar.document-tree-crud                         | sidebar     | Create, delete, move, favorite, list, search, and open pages                                              | action-backed         | `create-document`, `clone-creative-context-document`, `delete-document`, `get-document`, `list-trashed-documents`, `list-documents`, `move-document`, `permanently-delete-document`, `restore-document`, `search-documents`, `update-document`                                                                                                                                                              | `app/components/sidebar/DocumentSidebar.tsx`, `app/components/sidebar/DocumentTreeItem.tsx`, `app/hooks/use-documents.ts`                                                                 | Document tree rows and document metadata are created, updated, deleted, moved, searched, or read.                                                                                                                                                                                         | -                                                                                                                                                                                                                                          | -                | P0             | covered       | `actions/content-database-lifecycle.db.test.ts`, `actions/_local-file-documents.test.ts`                                                                                                                                | `document-search-edit`           | -                              |
| sidebar.navigation-and-screen-context              | sidebar     | Navigate between documents and expose current screen context                                              | action-equivalent     | `navigate`, `view-screen`                                                                                                                                                                                                                                                                                                                                                                                   | `app/components/sidebar/DocumentSidebar.tsx`, `actions/navigate.ts`, `actions/view-screen.ts`                                                                                             | Application navigation state is updated or read so the agent can reason about the user's current page/view.                                                                                                                                                                               | Human navigation is router-local, while agent navigation/screen inspection uses application-state actions to produce the same workspace orientation effect.                                                                                | -                | P1             | seeded        | -                                                                                                                                                                                                                       | -                                | -                              |
| source-sync.builder-body-hydration-worker          | source-sync | Process queued Builder CMS body hydration work                                                            | action-backed         | `process-builder-body-hydration`                                                                                                                                                                                                                                                                                                                                                                            | `app/components/editor/DocumentEditor.tsx`, `app/components/editor/database/DatabaseView.tsx`, `app/hooks/use-content-database.ts`                                                        | Queued Builder body hydration entries are processed into readable Content document/database body state.                                                                                                                                                                                   | This action is intentionally hidden from the model with agentTool: false because it is an internal bounded queue worker; agents should use source refresh, review, and execution actions rather than manually driving hydration internals. | -                | P0             | covered       | `actions/_database-source-utils.test.ts`                                                                                                                                                                                | -                                | -                              |
| source-sync.builder-cms-review-and-write-gates     | source-sync | Review, stage, validate, cancel, and execute Builder CMS source writes                                    | action-backed         | `cancel-prepared-builder-source-update`, `execute-builder-source-batch`, `execute-builder-source-execution`, `prepare-builder-source-execution`, `prepare-builder-source-review`, `preview-builder-source-review`, `review-content-database-source-change-set`, `set-content-database-source-write-mode`, `stage-builder-source-bulk-update`, `stage-builder-revision`, `validate-builder-source-execution` | `app/components/editor/DocumentDatabase.tsx`, `app/components/editor/database/DatabaseView.tsx`, `app/components/editor/database-sources/BuilderSourceReviewDialog.tsx`                   | Builder source write mode, staged reviews, pre-dispatch cancellations, validation records, and bounded execution records are created through guarded actions.                                                                                                                             | -                                                                                                                                                                                                                                          | -                | P0             | covered       | `actions/builder-source-review-gates.db.test.ts`, `actions/cancel-prepared-builder-source-update.db.test.ts`, `actions/execute-builder-source-execution.test.ts`, `actions/stage-builder-source-bulk-update.db.test.ts` | `builder-source-review-readonly` | -                              |
| source-sync.builder-documents                      | source-sync | List, pull, check, and push Builder docs/blog MDX documents                                               | action-backed         | `check-builder-doc`, `list-builder-docs`, `pull-builder-doc`, `push-builder-doc`                                                                                                                                                                                                                                                                                                                            | `actions/list-builder-docs.ts`, `actions/pull-builder-doc.ts`, `actions/check-builder-doc.ts`, `actions/push-builder-doc.ts`                                                              | Builder docs/blog entries can be read into Content, checked locally, and pushed through guarded Builder document actions.                                                                                                                                                                 | -                                                                                                                                                                                                                                          | -                | P1             | seeded        | -                                                                                                                                                                                                                       | -                                | -                              |
| source-sync.builder-required-field-materialization | source-sync | Add required Builder publishing fields to a connected collection                                          | action-backed         | `materialize-builder-required-fields`                                                                                                                                                                                                                                                                                                                                                                       | `app/components/editor/database/DatabaseView.tsx`, `app/hooks/use-content-database.ts`                                                                                                    | Required Builder fields are materialized as editable Content properties in one local mutation.                                                                                                                                                                                            | This bounded safe-model setup action is intentionally hidden from the agent tool list; the visible source settings surface invokes it.                                                                                                     | -                | P1             | covered       | `actions/materialize-builder-required-fields.test.ts`                                                                                                                                                                   | -                                | -                              |
| source-sync.database-source-bindings               | source-sync | Attach, inspect, refresh, disconnect, join, and bind database sources                                     | action-backed         | `add-content-database-source-field-property`, `attach-content-database-source`, `bind-content-database-source-field`, `change-content-database-source-role`, `disconnect-content-database-source`, `get-content-database-source`, `list-builder-cms-models`, `list-notion-database-sources`, `refresh-content-database-source`, `suggest-source-join-key`                                                   | `app/components/editor/DocumentDatabase.tsx`, `app/components/editor/DocumentProperties.tsx`, `app/components/editor/database/DatabaseView.tsx`, `app/hooks/use-content-database.ts`      | Mounted database source metadata, fields, source role, join keys, and source-field/property bindings are stored and refreshed.                                                                                                                                                            | -                                                                                                                                                                                                                                          | -                | P0             | covered       | `actions/bind-content-database-source-field.db.test.ts`, `actions/content-database-source-actions.test.ts`, `actions/resync-content-database-source.db.test.ts`                                                         | `database-source-scope`          | -                              |
| source-sync.provider-api-and-staged-datasets       | source-sync | Inspect provider APIs and stage/query/delete large provider datasets                                      | action-backed         | `delete-staged-dataset`, `list-staged-datasets`, `provider-api-catalog`, `provider-api-docs`, `provider-api-request`, `query-staged-dataset`                                                                                                                                                                                                                                                                | `actions/provider-api-catalog.ts`, `actions/provider-api-docs.ts`, `actions/provider-api-request.ts`, `actions/query-staged-dataset.ts`                                                   | Provider API metadata and staged dataset scratch storage support scoped agent/source analysis.                                                                                                                                                                                            | -                                                                                                                                                                                                                                          | -                | P1             | seeded        | -                                                                                                                                                                                                                       | -                                | -                              |
| versions.history-and-restore                       | versions    | Open version history and restore a previous document version                                              | action-backed         | `list-document-versions`, `restore-document-version`                                                                                                                                                                                                                                                                                                                                                        | `app/components/editor/VersionHistoryPanel.tsx`, `app/hooks/use-document-versions.ts`                                                                                                     | Document versions are listed and selected versions can restore the document while snapshotting current state.                                                                                                                                                                             | -                                                                                                                                                                                                                                          | -                | P0             | seeded        | -                                                                                                                                                                                                                       | -                                | -                              |
| workspace.spaces-and-files-catalog                 | workspace   | Provision, navigate, and delete Content spaces through Files and Workspaces with personal expansion state | action-backed         | `backfill-content-files`, `create-content-space`, `delete-content-space`, `ensure-content-spaces`, `get-content-sidebar-state`, `list-content-spaces`, `update-content-sidebar-state`                                                                                                                                                                                                                       | `app/components/sidebar/DocumentSidebar.tsx`, `app/hooks/use-content-spaces.ts`                                                                                                           | Personal and organization spaces, user-created workspaces, their canonical Files databases, the personal Workspaces catalog, and each user's sidebar expansion state are stored and reconciled in SQL; deleting a user-created workspace atomically removes its catalog row and contents. | -                                                                                                                                                                                                                                          | -                | P0             | covered       | `actions/content-spaces.db.test.ts`, `actions/content-files.db.test.ts`, `actions/content-sidebar-state.test.ts`                                                                                                        | -                                | -                              |
