@agent-native/core 0.130.2 → 0.131.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +79 -0
- package/corpus/core/docs/content/agent-surfaces.mdx +4 -4
- package/corpus/core/docs/content/automations.mdx +61 -12
- package/corpus/core/docs/content/deployment.mdx +11 -4
- package/corpus/core/docs/content/extensions.mdx +39 -33
- package/corpus/core/docs/content/recurring-jobs.mdx +41 -19
- package/corpus/core/docs/content/template-dispatch-operations.mdx +19 -7
- package/corpus/core/package.json +3 -1
- package/corpus/core/src/a2a/types.ts +6 -0
- package/corpus/core/src/action.ts +68 -0
- package/corpus/core/src/agent/engine/builder-engine.ts +8 -4
- package/corpus/core/src/agent/production-agent.ts +175 -100
- package/corpus/core/src/agent/tool-search.ts +36 -0
- package/corpus/core/src/automations/service.ts +506 -0
- package/corpus/core/src/browser-context/index.ts +392 -0
- package/corpus/core/src/client/AgentPanel.tsx +2 -1
- package/corpus/core/src/client/FeedbackButton.tsx +37 -4
- package/corpus/core/src/client/MultiTabAssistantChat.tsx +21 -0
- package/corpus/core/src/client/agent-chat.ts +31 -3
- package/corpus/core/src/client/agent-page/AgentJobsTab.tsx +438 -310
- package/corpus/core/src/client/agent-page/AgentTabsPage.tsx +4 -4
- package/corpus/core/src/client/agent-page/use-jobs.ts +7 -0
- package/corpus/core/src/client/analytics-session.ts +13 -0
- package/corpus/core/src/client/extensions/ExtensionViewer.tsx +67 -0
- package/corpus/core/src/client/settings/AutomationsSection.tsx +27 -499
- package/corpus/core/src/client/settings/SettingsPanel.tsx +32 -11
- package/corpus/core/src/client/settings/index.ts +2 -0
- package/corpus/core/src/client/use-agent-chat.ts +35 -3
- package/corpus/core/src/client/use-chat-threads.ts +8 -25
- package/corpus/core/src/deploy/build.ts +2 -0
- package/corpus/core/src/deploy/workspace-deploy.ts +2 -0
- package/corpus/core/src/extensions/actions.ts +115 -3
- package/corpus/core/src/extensions/fetch-tool.ts +11 -0
- package/corpus/core/src/extensions/routes.ts +16 -1
- package/corpus/core/src/extensions/web-content.ts +96 -1
- package/corpus/core/src/integrations/computer-supervision.ts +33 -1
- package/corpus/core/src/integrations/index.ts +6 -0
- package/corpus/core/src/integrations/integration-durable-dispatch-config.ts +10 -0
- package/corpus/core/src/integrations/integration-durable-dispatch.ts +4 -0
- package/corpus/core/src/integrations/plugin.ts +94 -41
- package/corpus/core/src/integrations/remote-browser-actions.ts +621 -0
- package/corpus/core/src/jobs/actions/list-recurring-jobs.ts +5 -7
- package/corpus/core/src/jobs/actions/manage-recurring-job.ts +3 -7
- package/corpus/core/src/jobs/background-automation-runner.ts +437 -0
- package/corpus/core/src/jobs/frontmatter.ts +308 -0
- package/corpus/core/src/jobs/scheduler.ts +89 -598
- package/corpus/core/src/jobs/tools.ts +22 -3
- package/corpus/core/src/localization/default-messages.ts +45 -45
- package/corpus/core/src/mcp-client/index.ts +6 -0
- package/corpus/core/src/notifications/actions.ts +5 -0
- package/corpus/core/src/progress/actions.ts +5 -0
- package/corpus/core/src/provider-api/actions/github-repo-files.ts +11 -0
- package/corpus/core/src/provider-api/actions/provider-api.ts +13 -0
- package/corpus/core/src/server/action-discovery.ts +7 -0
- package/corpus/core/src/server/agent-capabilities.ts +43 -8
- package/corpus/core/src/server/agent-chat/action-filters-a2a.ts +63 -1
- package/corpus/core/src/server/agent-chat/browser-team-tools.ts +126 -3
- package/corpus/core/src/server/agent-chat/framework-prompts.ts +7 -11
- package/corpus/core/src/server/agent-chat/plugin-options.ts +3 -3
- package/corpus/core/src/server/agent-chat/script-entries.ts +52 -1
- package/corpus/core/src/server/agent-chat-plugin.ts +25 -5
- package/corpus/core/src/server/attribution.ts +22 -0
- package/corpus/core/src/server/auth.ts +20 -6
- package/corpus/core/src/server/better-auth-instance.ts +10 -2
- package/corpus/core/src/server/core-routes-plugin.ts +10 -1
- package/corpus/core/src/server/csrf.ts +25 -0
- package/corpus/core/src/server/google-oauth.ts +21 -1
- package/corpus/core/src/server/onboarding-html.ts +18 -0
- package/corpus/core/src/server/prompts/framework-core-compact.ts +3 -3
- package/corpus/core/src/server/prompts/framework-core.ts +3 -3
- package/corpus/core/src/server/prompts/shared-rules.ts +3 -3
- package/corpus/core/src/settings/index.ts +1 -0
- package/corpus/core/src/shared/analytics-anonymous-id.ts +35 -0
- package/corpus/core/src/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +26 -0
- package/corpus/core/src/templates/default/app/i18n/de-DE.ts +28 -0
- package/corpus/core/src/templates/default/app/i18n/en-US.ts +27 -0
- package/corpus/core/src/templates/default/app/i18n/es-ES.ts +28 -0
- package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +28 -0
- package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +25 -0
- package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +27 -0
- package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +27 -0
- package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +27 -0
- package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +24 -0
- package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +24 -0
- package/corpus/core/src/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/agent-page/SKILL.md +10 -7
- package/corpus/core/src/templates/workspace-core/.agents/skills/automations/SKILL.md +53 -8
- package/corpus/core/src/templates/workspace-core/.agents/skills/browser-sessions/SKILL.md +131 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +13 -4
- package/corpus/core/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +23 -15
- package/corpus/core/src/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +33 -18
- package/corpus/core/src/tracking/providers.ts +1 -0
- package/corpus/core/src/tracking/registry.ts +2 -1
- package/corpus/core/src/tracking/types.ts +1 -0
- package/corpus/core/src/triggers/actions/list-automations.ts +43 -44
- package/corpus/core/src/triggers/actions/manage-automation.ts +17 -48
- package/corpus/core/src/triggers/actions.ts +218 -127
- package/corpus/core/src/triggers/dispatcher.ts +181 -367
- package/corpus/core/src/triggers/routes.ts +84 -27
- package/corpus/core/src/triggers/types.ts +9 -23
- package/corpus/templates/analytics/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/analytics/AGENTS.md +5 -0
- package/corpus/templates/analytics/actions/hubspot-deals.ts +1 -0
- package/corpus/templates/analytics/actions/hubspot-records.ts +1 -0
- package/corpus/templates/analytics/actions/install-dashboard-template.ts +13 -4
- package/corpus/templates/analytics/actions/rename-dashboard.ts +8 -3
- package/corpus/templates/analytics/actions/restore-dashboard-revision.ts +8 -3
- package/corpus/templates/analytics/actions/update-dashboard.ts +22 -5
- package/corpus/templates/analytics/app/components/dashboard/DashboardPanelSkeleton.tsx +7 -1
- package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +1 -82
- package/corpus/templates/analytics/app/components/layout/NewDashboardDialog.tsx +4 -4
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +23 -13
- package/corpus/templates/analytics/app/global.css +21 -0
- package/corpus/templates/analytics/app/i18n-data.ts +165 -101
- package/corpus/templates/analytics/app/lib/custom-block-promotion.ts +62 -0
- package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +17 -2
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/PanelEditorDialog.tsx +3 -1
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/SqlChartCard.tsx +77 -12
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/dashboard-save-queue.ts +34 -0
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +42 -26
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/types.ts +15 -0
- package/corpus/templates/analytics/app/pages/analyses/AnalysisDetail.tsx +1 -1
- package/corpus/templates/analytics/changelog/2026-07-29-chat-history-now-closes-smoothly-and-stays-ready-when-you-re.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-chat-history-stays-visible-when-you-return-to-the-dashboard.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-custom-dashboard-blocks-now-identify-one-off-agent-patches-a.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-dashboard-chart-deletions-now-save-in-order-so-removed-rows-.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-dashboard-chart-loaders-are-easier-to-see-and-animate-more-s.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-plan-mode-can-now-query-connected-analytics-sources-while-ke.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-plan-mode-can-use-clips-as-read-only-prompt-context.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-signup-entry-pages-now-show-the-first-page-viewed-before-eac.md +6 -0
- package/corpus/templates/analytics/seeds/dashboards/agent-native-templates-first-party.json +26 -1
- package/corpus/templates/analytics/server/lib/agent-chat-plan-mode.ts +0 -33
- package/corpus/templates/analytics/server/lib/analytics-connector-catalog.ts +2 -0
- package/corpus/templates/analytics/server/lib/canonical-first-party-dashboard-repair.ts +13 -3
- package/corpus/templates/analytics/server/lib/dashboard-catalog.ts +9 -1
- package/corpus/templates/analytics/server/lib/first-party-analytics.ts +44 -1
- package/corpus/templates/analytics/server/lib/first-party-metric-catalog.ts +96 -16
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +18 -27
- package/corpus/templates/analytics/server/plugins/core-routes.ts +1 -0
- package/corpus/templates/assets/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/assets/app/components/layout/Sidebar.tsx +4 -8
- package/corpus/templates/assets/changelog/2026-07-29-chat-history-now-closes-smoothly-and-stays-ready-when-you-re.md +6 -0
- package/corpus/templates/assets/changelog/2026-07-29-chat-history-stays-visible-when-you-return-to-the-workspace.md +6 -0
- package/corpus/templates/assets/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/brain/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/brain/app/components/layout/Sidebar.tsx +3 -7
- package/corpus/templates/brain/app/root.tsx +0 -3
- package/corpus/templates/brain/changelog/2026-07-29-chat-history-now-closes-smoothly-and-stays-ready-when-you-re.md +6 -0
- package/corpus/templates/brain/changelog/2026-07-29-chat-history-stays-visible-when-you-return-to-ask-brain.md +6 -0
- package/corpus/templates/brain/changelog/2026-07-29-extensions-are-no-longer-shown-as-a-default-command-menu-des.md +6 -0
- package/corpus/templates/brain/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/calendar/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/calendar/.agents/skills/event-management/SKILL.md +25 -5
- package/corpus/templates/calendar/AGENTS.md +5 -0
- package/corpus/templates/calendar/actions/create-event.ts +43 -13
- package/corpus/templates/calendar/actions/event-action-helpers.ts +131 -1
- package/corpus/templates/calendar/actions/get-event.ts +1 -0
- package/corpus/templates/calendar/actions/manage-event-draft.ts +65 -2
- package/corpus/templates/calendar/app/components/calendar/CreateEventDialog.tsx +438 -258
- package/corpus/templates/calendar/app/components/calendar/DayView.tsx +19 -3
- package/corpus/templates/calendar/app/components/calendar/EventDetailPanel.tsx +7 -3
- package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +14 -19
- package/corpus/templates/calendar/app/components/calendar/MonthView.tsx +24 -0
- package/corpus/templates/calendar/app/components/calendar/WeekView.tsx +15 -2
- package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +1 -5
- package/corpus/templates/calendar/app/hooks/use-events.ts +51 -5
- package/corpus/templates/calendar/app/i18n-data.ts +50 -0
- package/corpus/templates/calendar/app/lib/all-day-layout.ts +9 -2
- package/corpus/templates/calendar/app/lib/event-form-initialization.ts +4 -8
- package/corpus/templates/calendar/app/lib/event-form-utils.ts +43 -8
- package/corpus/templates/calendar/app/lib/location-suggestions.ts +36 -0
- package/corpus/templates/calendar/app/lib/out-of-office.ts +87 -1
- package/corpus/templates/calendar/app/pages/CalendarView.tsx +82 -20
- package/corpus/templates/calendar/changelog/2026-07-26-out-of-office-events-now-default-to-full-days-with-a-ready.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-29-recent-calendar-locations-now-appear-as-address-suggestions-.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-29-unnamed-events-now-use-a-title-placeholder.md +6 -0
- package/corpus/templates/calendar/server/lib/find-time.ts +29 -5
- package/corpus/templates/calendar/server/lib/google-calendar.ts +2 -0
- package/corpus/templates/calendar/server/lib/ical-fetcher.ts +1 -0
- package/corpus/templates/calendar/shared/api.ts +4 -0
- package/corpus/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/chat/app/components/layout/Sidebar.tsx +1 -5
- package/corpus/templates/chat/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/clips/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/clips/app/components/library/library-layout.tsx +1 -5
- package/corpus/templates/clips/changelog/2026-07-29-fixed-system-audio-recordings-picking-up-your-microphone-in-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-29-the-desktop-camera-preview-now-closes-after-a-recording-fin.md +6 -0
- package/corpus/templates/clips/desktop/src/app.tsx +14 -15
- package/corpus/templates/clips/desktop/src/lib/bubble-session.ts +11 -0
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +9 -4
- package/corpus/templates/clips/desktop/src/lib/transcription-capture.ts +11 -0
- package/corpus/templates/clips/server/jobs/transactional-emails.ts +47 -23
- package/corpus/templates/clips/server/lib/transactional-email-store.ts +16 -6
- package/corpus/templates/content/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/content/.agents/skills/content-product-development/SKILL.md +103 -0
- package/corpus/templates/content/.agents/skills/content-product-development/references/verification.md +57 -0
- package/corpus/templates/content/AGENTS.md +2 -0
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +1 -6
- package/corpus/templates/content/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/content/docs/product/README.md +115 -0
- package/corpus/templates/content/docs/product/architecture.md +98 -0
- package/corpus/templates/content/docs/product/capabilities/content.access.page-database.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.access.row-private.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.access.safe-aggregate.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.access.visibility-closure.md +79 -0
- package/corpus/templates/content/docs/product/capabilities/content.action.button.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.agent.action-parity.md +73 -0
- package/corpus/templates/content/docs/product/capabilities/content.agent.audience-safe.md +91 -0
- package/corpus/templates/content/docs/product/capabilities/content.agent.automation.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.agent.expression-authoring.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.agent.presence.md +103 -0
- package/corpus/templates/content/docs/product/capabilities/content.agent.resource-consent.md +90 -0
- package/corpus/templates/content/docs/product/capabilities/content.agent.skill-catalog.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.api.cms.md +70 -0
- package/corpus/templates/content/docs/product/capabilities/content.author.code.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.author.document-editor.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.author.footnotes.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.author.math.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.author.media.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.author.mermaid.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.automation.scheduled.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.capture.enrich.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.command.fabric.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.comment.page-owned.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.diff.ai-assist.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.diff.filtered-review.md +79 -0
- package/corpus/templates/content/docs/product/capabilities/content.diff.in-place.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.discussion.page.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.embed.host-grant.md +70 -0
- package/corpus/templates/content/docs/product/capabilities/content.embed.mcp-app.md +69 -0
- package/corpus/templates/content/docs/product/capabilities/content.embed.surface.md +74 -0
- package/corpus/templates/content/docs/product/capabilities/content.event.committed.md +85 -0
- package/corpus/templates/content/docs/product/capabilities/content.expression.cached-result.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.expression.catalog.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.expression.language.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.feedback.signal.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.form.shared-engine.md +72 -0
- package/corpus/templates/content/docs/product/capabilities/content.history.queryable.md +79 -0
- package/corpus/templates/content/docs/product/capabilities/content.home.global.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.job.durable.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.knowledge.graph.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.knowledge.links.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.knowledge.search.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.layout.responsive.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.navigation.sidebar.md +86 -0
- package/corpus/templates/content/docs/product/capabilities/content.notification.source.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.object.block.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.object.blocks-field.md +79 -0
- package/corpus/templates/content/docs/product/capabilities/content.object.database.md +92 -0
- package/corpus/templates/content/docs/product/capabilities/content.object.multi-membership.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.object.page.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.object.reference.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.object.transclusion.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.organization.teams.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.portability.pdf-export.md +78 -0
- package/corpus/templates/content/docs/product/capabilities/content.portability.roundtrip.md +154 -0
- package/corpus/templates/content/docs/product/capabilities/content.portability.source-representation.md +70 -0
- package/corpus/templates/content/docs/product/capabilities/content.portability.vault-export.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.presentation.mode.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.preset.catalog.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.property.actor.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.property.catalog.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.property.constraints.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.property.guarded-change.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.property.location.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.property.typed.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.publish.public.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.publish.reading.md +74 -0
- package/corpus/templates/content/docs/product/capabilities/content.query.object.md +114 -0
- package/corpus/templates/content/docs/product/capabilities/content.reader.documents.md +69 -0
- package/corpus/templates/content/docs/product/capabilities/content.reader.surface.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.relationship.edge.md +183 -0
- package/corpus/templates/content/docs/product/capabilities/content.renderer.artifact-block.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.renderer.custom-block.md +81 -0
- package/corpus/templates/content/docs/product/capabilities/content.renderer.graph.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.renderer.typed.md +92 -0
- package/corpus/templates/content/docs/product/capabilities/content.research.annotation.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.research.citation.md +70 -0
- package/corpus/templates/content/docs/product/capabilities/content.review.code.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.revision.suggestions.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.rule.deterministic.md +79 -0
- package/corpus/templates/content/docs/product/capabilities/content.schedule.constraints.md +81 -0
- package/corpus/templates/content/docs/product/capabilities/content.security.private-vault.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.share.views.md +140 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.adapters.md +154 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.builder-codec.md +70 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.catalog.md +149 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.file-folder.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.local-bridge.md +156 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.local-project.md +70 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.page-link.md +70 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.row-union.md +69 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.spaces-files.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.sync-policy.md +161 -0
- package/corpus/templates/content/docs/product/capabilities/content.system.dependencies.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.system.my-tasks.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.system.project-status.md +77 -0
- package/corpus/templates/content/docs/product/capabilities/content.system.research-workspace.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.system.task-project.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.template.governance.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.template.graph.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.template.item-body.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.template.update.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.time.types.md +85 -0
- package/corpus/templates/content/docs/product/capabilities/content.version.branching.md +151 -0
- package/corpus/templates/content/docs/product/capabilities/content.version.field-history.md +103 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.canvas.md +94 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.chart.md +91 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.dynamic-create.md +137 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.fast-capture.md +82 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.graph.md +95 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.grouping-aggregation.md +83 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.map.md +77 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.personal-state.md +99 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.pivot.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.query.md +106 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.renderer-conformance.md +77 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.scale.md +77 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.source-query.md +159 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.timeline.md +86 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.tree.md +77 -0
- package/corpus/templates/content/docs/product/capabilities/content.workspace.multi-scope.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.workspace.session-restore.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.workspace.view-instance.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.workspace.working-set.md +77 -0
- package/corpus/templates/content/docs/product/chapters/content.chapter.capture-research.md +20 -0
- package/corpus/templates/content/docs/product/chapters/content.chapter.connected-sources.md +20 -0
- package/corpus/templates/content/docs/product/chapters/content.chapter.consensus.md +19 -0
- package/corpus/templates/content/docs/product/chapters/content.chapter.durable-home.md +21 -0
- package/corpus/templates/content/docs/product/chapters/content.chapter.publishing-portability.md +21 -0
- package/corpus/templates/content/docs/product/chapters/content.chapter.working-systems.md +27 -0
- package/corpus/templates/content/docs/product/encyclopedia.md +559 -0
- package/corpus/templates/content/docs/product/features/content.feature.bring-your-local-work.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.build-living-dashboards.md +34 -0
- package/corpus/templates/content/docs/product/features/content.feature.build-new-surfaces.md +33 -0
- package/corpus/templates/content/docs/product/features/content.feature.capture-into-action.md +34 -0
- package/corpus/templates/content/docs/product/features/content.feature.cite-what-you-found.md +34 -0
- package/corpus/templates/content/docs/product/features/content.feature.collaborate-in-context.md +59 -0
- package/corpus/templates/content/docs/product/features/content.feature.collect-structured-input.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.connect-your-sources.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.data-that-keeps-itself-right.md +45 -0
- package/corpus/templates/content/docs/product/features/content.feature.durable-foundations.md +48 -0
- package/corpus/templates/content/docs/product/features/content.feature.evolve-systems-safely.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.explore-alternatives-safely.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.find-your-place-again.md +40 -0
- package/corpus/templates/content/docs/product/features/content.feature.keep-your-private-vault-private.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.living-references.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.make-the-workspace-yours.md +40 -0
- package/corpus/templates/content/docs/product/features/content.feature.move-without-starting-over.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.plan-work-across-time.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.publish-with-confidence.md +43 -0
- package/corpus/templates/content/docs/product/features/content.feature.put-your-organizations-know-how-to-work.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.read-and-annotate-anything.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.review-changes-in-place.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.run-projects-your-way.md +44 -0
- package/corpus/templates/content/docs/product/features/content.feature.see-your-information-your-way.md +44 -0
- package/corpus/templates/content/docs/product/features/content.feature.share-how-your-organization-works.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.sketch-connections-keep-whats-true.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.take-the-whole-vault-with-you.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.trust-your-connected-sources.md +40 -0
- package/corpus/templates/content/docs/product/features/content.feature.understand-what-your-data-says.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.when-this-happens-that-follows.md +43 -0
- package/corpus/templates/content/docs/product/features/content.feature.work-across-every-workspace.md +37 -0
- package/corpus/templates/content/docs/product/features/content.feature.work-on-content-inside-another-application.md +37 -0
- package/corpus/templates/content/docs/product/roadmap.md +878 -0
- package/corpus/templates/crm/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/crm/app/components/layout/CrmSidebar.tsx +1 -7
- package/corpus/templates/crm/app/i18n/en-US.ts +4 -0
- package/corpus/templates/crm/app/routes/settings.tsx +33 -8
- package/corpus/templates/crm/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/design/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/design/.generated/bridge/editor-chrome.generated.ts +133 -63
- package/corpus/templates/design/.generated/bridge/embedded-wheel.generated.ts +19 -2
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +51 -14
- package/corpus/templates/design/app/components/design/DesignExtensionsPanel.tsx +41 -26
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +22 -4
- package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +216 -116
- package/corpus/templates/design/app/components/design/bridge/embedded-wheel.bridge.ts +21 -2
- package/corpus/templates/design/app/components/design/code-workbench/CodeWorkbench.tsx +5 -1
- package/corpus/templates/design/app/components/design/code-workbench/CodeWorkbenchLoader.tsx +10 -2
- package/corpus/templates/design/app/components/design/code-workbench/code-workbench-shell.ts +2 -0
- package/corpus/templates/design/app/components/design/code-workbench/explorer/ExplorerView.tsx +60 -55
- package/corpus/templates/design/app/components/design/design-canvas/content-size-report.ts +88 -2
- package/corpus/templates/design/app/components/design/multi-screen/board-surface-html.ts +3 -2
- package/corpus/templates/design/app/components/design/types.ts +4 -0
- package/corpus/templates/design/app/components/layout/Sidebar.tsx +1 -5
- package/corpus/templates/design/app/pages/design-editor/clipboard-layer-source.ts +28 -0
- package/corpus/templates/design/app/pages/design-editor/clone-and-pen-edit.ts +117 -0
- package/corpus/templates/design/app/pages/design-editor/code-layer-state.ts +3 -1
- package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +120 -74
- package/corpus/templates/design/app/pages/design-editor/pending-structure-verification.ts +11 -0
- package/corpus/templates/design/app/pages/design-editor/react-semantic-handoff.ts +2 -0
- package/corpus/templates/design/app/pages/design-editor/source-location.ts +1 -1
- package/corpus/templates/design/changelog/2026-07-29-copy-rendered-ui-between-live-local-apps-and-design-files-wh.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-design-boards-stay-dark-and-viewport-height-content-keeps-it.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-design-frames-no-longer-grow-continuously-when-their-content.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-the-code-panel-and-apply-design-update-control-now-use-clear.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-the-tools-panel-now-keeps-extension-creation-and-discovery-h.md +6 -0
- package/corpus/templates/design/shared/source-mode.ts +7 -1
- package/corpus/templates/dispatch/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/dispatch/app/i18n-data.ts +171 -0
- package/corpus/templates/dispatch/app/routes/browser-chat.tsx +4 -0
- package/corpus/templates/dispatch/app/routes/browser-connect.tsx +4 -0
- package/corpus/templates/dispatch/changelog/2026-07-29-browser-chat-can-securely-connect-the-agent-native-chrome-ex.md +6 -0
- package/corpus/templates/forms/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/forms/app/components/layout/Sidebar.tsx +1 -6
- package/corpus/templates/forms/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/macros/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/macros/app/components/layout/AppLayout.tsx +1 -5
- package/corpus/templates/macros/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/mail/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +1 -9
- package/corpus/templates/mail/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/plan/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/plan/app/components/layout/Sidebar.tsx +3 -7
- package/corpus/templates/plan/app/pages/PlansPage.tsx +2 -2
- package/corpus/templates/plan/changelog/2026-07-29-chat-history-now-closes-smoothly-and-stays-ready-when-you-re.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-29-chat-history-stays-visible-when-you-return-to-ask-plan.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-29-fixed-plan-pages-crashing-when-recent-activity-is-unavailabl.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/slides/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/slides/.agents/skills/analytics-data-for-decks/SKILL.md +48 -0
- package/corpus/templates/slides/.agents/skills/create-deck/SKILL.md +60 -4
- package/corpus/templates/slides/.agents/skills/design-systems/SKILL.md +20 -0
- package/corpus/templates/slides/.agents/skills/slide-editing/SKILL.md +30 -1
- package/corpus/templates/slides/.agents/skills/slide-images/SKILL.md +3 -1
- package/corpus/templates/slides/AGENTS.md +25 -24
- package/corpus/templates/slides/actions/check-image-gen.ts +8 -2
- package/corpus/templates/slides/actions/create-deck.ts +4 -12
- package/corpus/templates/slides/actions/export-pptx.ts +25 -3
- package/corpus/templates/slides/actions/generate-image-api.ts +4 -2
- package/corpus/templates/slides/actions/generate-slides-ai.ts +1 -1
- package/corpus/templates/slides/actions/get-deck-reference-context.ts +136 -0
- package/corpus/templates/slides/actions/get-workspace-defaults.ts +55 -0
- package/corpus/templates/slides/actions/image-gen-status.ts +10 -1
- package/corpus/templates/slides/actions/import-file.ts +53 -38
- package/corpus/templates/slides/actions/list-decks.ts +2 -0
- package/corpus/templates/slides/actions/patch-deck.ts +2 -0
- package/corpus/templates/slides/actions/set-workspace-defaults.ts +50 -0
- package/corpus/templates/slides/actions/view-screen.ts +6 -0
- package/corpus/templates/slides/app/components/comments/SlideCommentsPanel.tsx +1 -1
- package/corpus/templates/slides/app/components/deck/DeckCard.tsx +67 -3
- package/corpus/templates/slides/app/components/deck/SlideRenderer.tsx +40 -8
- package/corpus/templates/slides/app/components/design-system/DesignSystemCard.tsx +33 -8
- package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +6 -2
- package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +114 -128
- package/corpus/templates/slides/app/components/editor/ExportMenu.tsx +74 -9
- package/corpus/templates/slides/app/components/editor/ImageGenPanel.tsx +1 -1
- package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +1193 -267
- package/corpus/templates/slides/app/components/editor/SlideStyleInspector.tsx +302 -102
- package/corpus/templates/slides/app/components/editor/rich-text-selection.ts +270 -0
- package/corpus/templates/slides/app/components/editor/slide-escape-arbiter.ts +34 -0
- package/corpus/templates/slides/app/components/editor/slide-object-interactions.ts +368 -0
- package/corpus/templates/slides/app/components/editor/slide-presence.ts +13 -0
- package/corpus/templates/slides/app/components/layout/AgentWorkIndicator.tsx +23 -3
- package/corpus/templates/slides/app/components/layout/Layout.tsx +39 -6
- package/corpus/templates/slides/app/components/layout/Sidebar.tsx +1 -6
- package/corpus/templates/slides/app/components/layout/layout-route-policy.ts +23 -0
- package/corpus/templates/slides/app/components/visual-editor/DrawOverlay.tsx +0 -2
- package/corpus/templates/slides/app/context/DeckContext.tsx +2 -0
- package/corpus/templates/slides/app/global.css +60 -0
- package/corpus/templates/slides/app/hooks/use-agent-generating.ts +76 -5
- package/corpus/templates/slides/app/hooks/use-workspace-defaults.ts +26 -0
- package/corpus/templates/slides/app/i18n/en-US.ts +39 -3
- package/corpus/templates/slides/app/lib/generation-state.ts +13 -3
- package/corpus/templates/slides/app/lib/slide-image-replacement.ts +27 -6
- package/corpus/templates/slides/app/lib/text-tool-shortcut.ts +62 -0
- package/corpus/templates/slides/app/pages/DeckEditor.tsx +197 -83
- package/corpus/templates/slides/app/pages/DesignSystems.tsx +95 -0
- package/corpus/templates/slides/app/pages/Index.tsx +348 -53
- package/corpus/templates/slides/changelog/2026-07-28-pick-an-existing-deck-as-a-style-reference-when-creating-a-n.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-ai-editing-status-is-now-quieter-and-only-shows-slide-presen.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-design-systems-and-reference-decks-are-easier-to-choose-toge.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-generated-decks-now-receive-a-concise-relevant-title-before-.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-google-slides-exports-can-connect-your-google-account-direct.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-new-deck-prompts-reuse-empty-chats.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-new-deck-setup-now-stays-in-the-editor-with-closable-style-a.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-selected-words-and-text-runs-can-now-be-styled-independently.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-slide-annotation-tools-are-clearer-and-escape-now-exits-anno.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-slide-editing-now-opens-with-the-app-navigation-collapsed-fo.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-slide-editing-stays-visually-clean-on-hover-without-a-canvas.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-slides-now-appear-one-by-one-while-ai-builds-a-deck-with-ste.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-text-boxes-now-select-move-duplicate-resize-and-style-like-a.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-untitled-decks-now-use-a-clearer-this-deck-label-in-the-agen.md +6 -0
- package/corpus/templates/slides/server/handlers/google-docs-auth.ts +4 -2
- package/corpus/templates/slides/server/handlers/image-providers/builder.ts +305 -0
- package/corpus/templates/slides/server/handlers/image-providers/index.ts +6 -3
- package/corpus/templates/slides/server/plugins/agent-chat.ts +1 -0
- package/corpus/templates/slides/server/workspace-defaults.ts +169 -0
- package/corpus/templates/tasks/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/tasks/app/components/layout/Sidebar.tsx +31 -8
- package/corpus/templates/tasks/app/i18n/en-US.ts +7 -0
- package/corpus/templates/tasks/app/routes/settings.tsx +25 -2
- package/corpus/templates/tasks/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/toolkit/CHANGELOG.md +15 -0
- package/corpus/toolkit/README.md +2 -2
- package/corpus/toolkit/package.json +1 -1
- package/corpus/toolkit/src/app-shell/sidebar-footer-actions.tsx +0 -3
- package/corpus/toolkit/src/chat-history.css +1 -0
- package/corpus/toolkit/src/composer/ComposerPlusMenu.tsx +35 -14
- package/corpus/toolkit/src/composer/PromptComposer.tsx +6 -0
- package/corpus/toolkit/src/composer/TiptapComposer.tsx +11 -3
- package/corpus/toolkit/src/design-tweaks/visual-style-controls.tsx +64 -11
- package/dist/a2a/types.d.ts +6 -0
- package/dist/a2a/types.d.ts.map +1 -1
- package/dist/a2a/types.js.map +1 -1
- package/dist/action.d.ts +57 -0
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js +9 -0
- package/dist/action.js.map +1 -1
- package/dist/agent/engine/builder-engine.js +6 -4
- package/dist/agent/engine/builder-engine.js.map +1 -1
- package/dist/agent/production-agent.d.ts +11 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +131 -90
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/tool-search.d.ts +4 -0
- package/dist/agent/tool-search.d.ts.map +1 -1
- package/dist/agent/tool-search.js +30 -0
- package/dist/agent/tool-search.js.map +1 -1
- package/dist/automations/service.d.ts +85 -0
- package/dist/automations/service.d.ts.map +1 -0
- package/dist/automations/service.js +332 -0
- package/dist/automations/service.js.map +1 -0
- package/dist/browser-context/index.d.ts +579 -0
- package/dist/browser-context/index.d.ts.map +1 -0
- package/dist/browser-context/index.js +331 -0
- package/dist/browser-context/index.js.map +1 -0
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +1 -1
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/FeedbackButton.d.ts +6 -2
- package/dist/client/FeedbackButton.d.ts.map +1 -1
- package/dist/client/FeedbackButton.js +20 -3
- package/dist/client/FeedbackButton.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +19 -2
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/agent-chat.d.ts +15 -0
- package/dist/client/agent-chat.d.ts.map +1 -1
- package/dist/client/agent-chat.js +13 -3
- package/dist/client/agent-chat.js.map +1 -1
- package/dist/client/agent-page/AgentJobsTab.d.ts +1 -0
- package/dist/client/agent-page/AgentJobsTab.d.ts.map +1 -1
- package/dist/client/agent-page/AgentJobsTab.js +186 -98
- package/dist/client/agent-page/AgentJobsTab.js.map +1 -1
- package/dist/client/agent-page/AgentTabsPage.js +4 -4
- package/dist/client/agent-page/AgentTabsPage.js.map +1 -1
- package/dist/client/agent-page/use-jobs.d.ts +7 -0
- package/dist/client/agent-page/use-jobs.d.ts.map +1 -1
- package/dist/client/agent-page/use-jobs.js.map +1 -1
- package/dist/client/analytics-session.d.ts.map +1 -1
- package/dist/client/analytics-session.js +13 -0
- package/dist/client/analytics-session.js.map +1 -1
- package/dist/client/extensions/ExtensionViewer.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionViewer.js +29 -6
- package/dist/client/extensions/ExtensionViewer.js.map +1 -1
- package/dist/client/settings/AutomationsSection.d.ts +0 -9
- package/dist/client/settings/AutomationsSection.d.ts.map +1 -1
- package/dist/client/settings/AutomationsSection.js +9 -168
- package/dist/client/settings/AutomationsSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.d.ts +9 -1
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +19 -11
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/index.d.ts +1 -1
- package/dist/client/settings/index.d.ts.map +1 -1
- package/dist/client/settings/index.js +1 -1
- package/dist/client/settings/index.js.map +1 -1
- package/dist/client/use-agent-chat.d.ts.map +1 -1
- package/dist/client/use-agent-chat.js +20 -3
- package/dist/client/use-agent-chat.js.map +1 -1
- package/dist/client/use-chat-threads.d.ts.map +1 -1
- package/dist/client/use-chat-threads.js +4 -17
- package/dist/client/use-chat-threads.js.map +1 -1
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +2 -1
- package/dist/deploy/build.js.map +1 -1
- package/dist/deploy/workspace-deploy.d.ts.map +1 -1
- package/dist/deploy/workspace-deploy.js +2 -1
- package/dist/deploy/workspace-deploy.js.map +1 -1
- package/dist/extensions/actions.d.ts.map +1 -1
- package/dist/extensions/actions.js +82 -6
- package/dist/extensions/actions.js.map +1 -1
- package/dist/extensions/fetch-tool.d.ts.map +1 -1
- package/dist/extensions/fetch-tool.js +11 -0
- package/dist/extensions/fetch-tool.js.map +1 -1
- package/dist/extensions/routes.d.ts +5 -1
- package/dist/extensions/routes.d.ts.map +1 -1
- package/dist/extensions/routes.js +7 -1
- package/dist/extensions/routes.js.map +1 -1
- package/dist/extensions/web-content.d.ts +1 -0
- package/dist/extensions/web-content.d.ts.map +1 -1
- package/dist/extensions/web-content.js +82 -1
- package/dist/extensions/web-content.js.map +1 -1
- package/dist/file-upload/actions/upload-image.d.ts +1 -1
- package/dist/integrations/computer-supervision.d.ts.map +1 -1
- package/dist/integrations/computer-supervision.js +22 -1
- package/dist/integrations/computer-supervision.js.map +1 -1
- package/dist/integrations/index.d.ts +3 -2
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +3 -2
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/integration-durable-dispatch-config.d.ts +2 -0
- package/dist/integrations/integration-durable-dispatch-config.d.ts.map +1 -1
- package/dist/integrations/integration-durable-dispatch-config.js +4 -0
- package/dist/integrations/integration-durable-dispatch-config.js.map +1 -1
- package/dist/integrations/integration-durable-dispatch.d.ts +2 -2
- package/dist/integrations/integration-durable-dispatch.d.ts.map +1 -1
- package/dist/integrations/integration-durable-dispatch.js +2 -2
- package/dist/integrations/integration-durable-dispatch.js.map +1 -1
- package/dist/integrations/plugin.d.ts.map +1 -1
- package/dist/integrations/plugin.js +84 -39
- package/dist/integrations/plugin.js.map +1 -1
- package/dist/integrations/remote-browser-actions.d.ts +7 -0
- package/dist/integrations/remote-browser-actions.d.ts.map +1 -0
- package/dist/integrations/remote-browser-actions.js +482 -0
- package/dist/integrations/remote-browser-actions.js.map +1 -0
- package/dist/jobs/actions/list-recurring-jobs.d.ts.map +1 -1
- package/dist/jobs/actions/list-recurring-jobs.js +4 -6
- package/dist/jobs/actions/list-recurring-jobs.js.map +1 -1
- package/dist/jobs/actions/manage-recurring-job.js +3 -6
- package/dist/jobs/actions/manage-recurring-job.js.map +1 -1
- package/dist/jobs/background-automation-runner.d.ts +76 -0
- package/dist/jobs/background-automation-runner.d.ts.map +1 -0
- package/dist/jobs/background-automation-runner.js +288 -0
- package/dist/jobs/background-automation-runner.js.map +1 -0
- package/dist/jobs/frontmatter.d.ts +63 -0
- package/dist/jobs/frontmatter.d.ts.map +1 -0
- package/dist/jobs/frontmatter.js +216 -0
- package/dist/jobs/frontmatter.js.map +1 -0
- package/dist/jobs/scheduler.d.ts +6 -60
- package/dist/jobs/scheduler.d.ts.map +1 -1
- package/dist/jobs/scheduler.js +67 -484
- package/dist/jobs/scheduler.js.map +1 -1
- package/dist/jobs/tools.d.ts.map +1 -1
- package/dist/jobs/tools.js +24 -3
- package/dist/jobs/tools.js.map +1 -1
- package/dist/localization/default-messages.d.ts +28 -33
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +34 -39
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/mcp/screen-memory-stdio.d.ts +7 -7
- package/dist/mcp/screen-memory-stdio.d.ts.map +1 -1
- package/dist/mcp-client/index.d.ts.map +1 -1
- package/dist/mcp-client/index.js +4 -0
- package/dist/mcp-client/index.js.map +1 -1
- package/dist/notifications/actions.d.ts.map +1 -1
- package/dist/notifications/actions.js +5 -0
- package/dist/notifications/actions.js.map +1 -1
- package/dist/notifications/routes.d.ts +3 -3
- package/dist/progress/actions.d.ts.map +1 -1
- package/dist/progress/actions.js +5 -0
- package/dist/progress/actions.js.map +1 -1
- package/dist/provider-api/actions/custom-provider-registration.d.ts +14 -14
- package/dist/provider-api/actions/github-repo-files.d.ts.map +1 -1
- package/dist/provider-api/actions/github-repo-files.js +9 -0
- package/dist/provider-api/actions/github-repo-files.js.map +1 -1
- package/dist/provider-api/actions/provider-api.d.ts +16 -16
- package/dist/provider-api/actions/provider-api.d.ts.map +1 -1
- package/dist/provider-api/actions/provider-api.js +14 -0
- package/dist/provider-api/actions/provider-api.js.map +1 -1
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/resources/handlers.d.ts +1 -1
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +5 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/agent-capabilities.d.ts.map +1 -1
- package/dist/server/agent-capabilities.js +32 -3
- package/dist/server/agent-capabilities.js.map +1 -1
- package/dist/server/agent-chat/action-filters-a2a.d.ts +17 -1
- package/dist/server/agent-chat/action-filters-a2a.d.ts.map +1 -1
- package/dist/server/agent-chat/action-filters-a2a.js +50 -1
- package/dist/server/agent-chat/action-filters-a2a.js.map +1 -1
- package/dist/server/agent-chat/browser-team-tools.d.ts.map +1 -1
- package/dist/server/agent-chat/browser-team-tools.js +90 -3
- package/dist/server/agent-chat/browser-team-tools.js.map +1 -1
- package/dist/server/agent-chat/framework-prompts.d.ts.map +1 -1
- package/dist/server/agent-chat/framework-prompts.js +7 -11
- package/dist/server/agent-chat/framework-prompts.js.map +1 -1
- package/dist/server/agent-chat/plugin-options.d.ts +3 -3
- package/dist/server/agent-chat/plugin-options.js.map +1 -1
- package/dist/server/agent-chat/script-entries.d.ts.map +1 -1
- package/dist/server/agent-chat/script-entries.js +43 -1
- package/dist/server/agent-chat/script-entries.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +24 -5
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/attribution.d.ts +6 -0
- package/dist/server/attribution.d.ts.map +1 -1
- package/dist/server/attribution.js +14 -14
- package/dist/server/attribution.js.map +1 -1
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +5 -2
- package/dist/server/auth.js.map +1 -1
- package/dist/server/better-auth-instance.d.ts +2 -1
- package/dist/server/better-auth-instance.d.ts.map +1 -1
- package/dist/server/better-auth-instance.js +6 -3
- package/dist/server/better-auth-instance.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts +7 -0
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +3 -1
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/csrf.d.ts.map +1 -1
- package/dist/server/csrf.js +25 -0
- package/dist/server/csrf.js.map +1 -1
- package/dist/server/google-oauth.d.ts +3 -0
- package/dist/server/google-oauth.d.ts.map +1 -1
- package/dist/server/google-oauth.js +12 -1
- package/dist/server/google-oauth.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +18 -0
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/prompts/framework-core-compact.js +3 -3
- package/dist/server/prompts/framework-core-compact.js.map +1 -1
- package/dist/server/prompts/framework-core.js +3 -3
- package/dist/server/prompts/framework-core.js.map +1 -1
- package/dist/server/prompts/shared-rules.js +3 -3
- package/dist/server/prompts/shared-rules.js.map +1 -1
- package/dist/settings/index.d.ts +1 -1
- package/dist/settings/index.d.ts.map +1 -1
- package/dist/settings/index.js +1 -1
- package/dist/settings/index.js.map +1 -1
- package/dist/shared/analytics-anonymous-id.d.ts +12 -0
- package/dist/shared/analytics-anonymous-id.d.ts.map +1 -0
- package/dist/shared/analytics-anonymous-id.js +29 -0
- package/dist/shared/analytics-anonymous-id.js.map +1 -0
- package/dist/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/dist/templates/chat/app/components/layout/Sidebar.tsx +1 -5
- package/dist/templates/chat/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/dist/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/dist/templates/default/app/i18n/ar-SA.ts +26 -0
- package/dist/templates/default/app/i18n/de-DE.ts +28 -0
- package/dist/templates/default/app/i18n/en-US.ts +27 -0
- package/dist/templates/default/app/i18n/es-ES.ts +28 -0
- package/dist/templates/default/app/i18n/fr-FR.ts +28 -0
- package/dist/templates/default/app/i18n/hi-IN.ts +25 -0
- package/dist/templates/default/app/i18n/ja-JP.ts +27 -0
- package/dist/templates/default/app/i18n/ko-KR.ts +27 -0
- package/dist/templates/default/app/i18n/pt-BR.ts +27 -0
- package/dist/templates/default/app/i18n/zh-CN.ts +24 -0
- package/dist/templates/default/app/i18n/zh-TW.ts +24 -0
- package/dist/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/dist/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/dist/templates/workspace-core/.agents/skills/agent-page/SKILL.md +10 -7
- package/dist/templates/workspace-core/.agents/skills/automations/SKILL.md +53 -8
- package/dist/templates/workspace-core/.agents/skills/browser-sessions/SKILL.md +131 -0
- package/dist/templates/workspace-core/.agents/skills/extension-points/SKILL.md +13 -4
- package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +23 -15
- package/dist/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +33 -18
- package/dist/tracking/providers.d.ts.map +1 -1
- package/dist/tracking/providers.js +1 -0
- package/dist/tracking/providers.js.map +1 -1
- package/dist/tracking/registry.d.ts +1 -0
- package/dist/tracking/registry.d.ts.map +1 -1
- package/dist/tracking/registry.js +1 -0
- package/dist/tracking/registry.js.map +1 -1
- package/dist/tracking/types.d.ts +1 -0
- package/dist/tracking/types.d.ts.map +1 -1
- package/dist/tracking/types.js.map +1 -1
- package/dist/triggers/actions/list-automations.d.ts +7 -0
- package/dist/triggers/actions/list-automations.d.ts.map +1 -1
- package/dist/triggers/actions/list-automations.js +29 -41
- package/dist/triggers/actions/list-automations.js.map +1 -1
- package/dist/triggers/actions/manage-automation.js +15 -33
- package/dist/triggers/actions/manage-automation.js.map +1 -1
- package/dist/triggers/actions.d.ts.map +1 -1
- package/dist/triggers/actions.js +184 -95
- package/dist/triggers/actions.js.map +1 -1
- package/dist/triggers/dispatcher.d.ts +3 -9
- package/dist/triggers/dispatcher.d.ts.map +1 -1
- package/dist/triggers/dispatcher.js +134 -304
- package/dist/triggers/dispatcher.js.map +1 -1
- package/dist/triggers/routes.d.ts.map +1 -1
- package/dist/triggers/routes.js +76 -17
- package/dist/triggers/routes.js.map +1 -1
- package/dist/triggers/types.d.ts +4 -23
- package/dist/triggers/types.d.ts.map +1 -1
- package/dist/triggers/types.js.map +1 -1
- package/docs/content/agent-surfaces.mdx +4 -4
- package/docs/content/automations.mdx +61 -12
- package/docs/content/deployment.mdx +11 -4
- package/docs/content/extensions.mdx +39 -33
- package/docs/content/recurring-jobs.mdx +41 -19
- package/docs/content/template-dispatch-operations.mdx +19 -7
- package/package.json +4 -2
- package/src/a2a/types.ts +6 -0
- package/src/action.ts +68 -0
- package/src/agent/engine/builder-engine.ts +8 -4
- package/src/agent/production-agent.ts +175 -100
- package/src/agent/tool-search.ts +36 -0
- package/src/automations/service.ts +506 -0
- package/src/browser-context/index.ts +392 -0
- package/src/client/AgentPanel.tsx +2 -1
- package/src/client/FeedbackButton.tsx +37 -4
- package/src/client/MultiTabAssistantChat.tsx +21 -0
- package/src/client/agent-chat.ts +31 -3
- package/src/client/agent-page/AgentJobsTab.tsx +438 -310
- package/src/client/agent-page/AgentTabsPage.tsx +4 -4
- package/src/client/agent-page/use-jobs.ts +7 -0
- package/src/client/analytics-session.ts +13 -0
- package/src/client/extensions/ExtensionViewer.tsx +67 -0
- package/src/client/settings/AutomationsSection.tsx +27 -499
- package/src/client/settings/SettingsPanel.tsx +32 -11
- package/src/client/settings/index.ts +2 -0
- package/src/client/use-agent-chat.ts +35 -3
- package/src/client/use-chat-threads.ts +8 -25
- package/src/deploy/build.ts +2 -0
- package/src/deploy/workspace-deploy.ts +2 -0
- package/src/extensions/actions.ts +115 -3
- package/src/extensions/fetch-tool.ts +11 -0
- package/src/extensions/routes.ts +16 -1
- package/src/extensions/web-content.ts +96 -1
- package/src/integrations/computer-supervision.ts +33 -1
- package/src/integrations/index.ts +6 -0
- package/src/integrations/integration-durable-dispatch-config.ts +10 -0
- package/src/integrations/integration-durable-dispatch.ts +4 -0
- package/src/integrations/plugin.ts +94 -41
- package/src/integrations/remote-browser-actions.ts +621 -0
- package/src/jobs/actions/list-recurring-jobs.ts +5 -7
- package/src/jobs/actions/manage-recurring-job.ts +3 -7
- package/src/jobs/background-automation-runner.ts +437 -0
- package/src/jobs/frontmatter.ts +308 -0
- package/src/jobs/scheduler.ts +89 -598
- package/src/jobs/tools.ts +22 -3
- package/src/localization/default-messages.ts +45 -45
- package/src/mcp-client/index.ts +6 -0
- package/src/notifications/actions.ts +5 -0
- package/src/progress/actions.ts +5 -0
- package/src/provider-api/actions/github-repo-files.ts +11 -0
- package/src/provider-api/actions/provider-api.ts +13 -0
- package/src/server/__snapshots__/agent-chat-plugin.surface.spec.ts.snap +4 -4
- package/src/server/action-discovery.ts +7 -0
- package/src/server/agent-capabilities.ts +43 -8
- package/src/server/agent-chat/action-filters-a2a.ts +63 -1
- package/src/server/agent-chat/browser-team-tools.ts +126 -3
- package/src/server/agent-chat/framework-prompts.ts +7 -11
- package/src/server/agent-chat/plugin-options.ts +3 -3
- package/src/server/agent-chat/script-entries.ts +52 -1
- package/src/server/agent-chat-plugin.ts +25 -5
- package/src/server/attribution.ts +22 -0
- package/src/server/auth.ts +20 -6
- package/src/server/better-auth-instance.ts +10 -2
- package/src/server/core-routes-plugin.ts +10 -1
- package/src/server/csrf.ts +25 -0
- package/src/server/google-oauth.ts +21 -1
- package/src/server/onboarding-html.ts +18 -0
- package/src/server/prompts/framework-core-compact.ts +3 -3
- package/src/server/prompts/framework-core.ts +3 -3
- package/src/server/prompts/shared-rules.ts +3 -3
- package/src/settings/index.ts +1 -0
- package/src/shared/analytics-anonymous-id.ts +35 -0
- package/src/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/src/templates/chat/app/components/layout/Sidebar.tsx +1 -5
- package/src/templates/chat/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/src/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/src/templates/default/app/i18n/ar-SA.ts +26 -0
- package/src/templates/default/app/i18n/de-DE.ts +28 -0
- package/src/templates/default/app/i18n/en-US.ts +27 -0
- package/src/templates/default/app/i18n/es-ES.ts +28 -0
- package/src/templates/default/app/i18n/fr-FR.ts +28 -0
- package/src/templates/default/app/i18n/hi-IN.ts +25 -0
- package/src/templates/default/app/i18n/ja-JP.ts +27 -0
- package/src/templates/default/app/i18n/ko-KR.ts +27 -0
- package/src/templates/default/app/i18n/pt-BR.ts +27 -0
- package/src/templates/default/app/i18n/zh-CN.ts +24 -0
- package/src/templates/default/app/i18n/zh-TW.ts +24 -0
- package/src/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/src/templates/workspace-core/.agents/skills/agent-page/SKILL.md +10 -7
- package/src/templates/workspace-core/.agents/skills/automations/SKILL.md +53 -8
- package/src/templates/workspace-core/.agents/skills/browser-sessions/SKILL.md +131 -0
- package/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +13 -4
- package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +23 -15
- package/src/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +33 -18
- package/src/tracking/providers.ts +1 -0
- package/src/tracking/registry.ts +2 -1
- package/src/tracking/types.ts +1 -0
- package/src/triggers/actions/list-automations.ts +43 -44
- package/src/triggers/actions/manage-automation.ts +17 -48
- package/src/triggers/actions.ts +218 -127
- package/src/triggers/dispatcher.ts +181 -367
- package/src/triggers/routes.ts +84 -27
- package/src/triggers/types.ts +9 -23
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
record_type: "capability"
|
|
3
|
+
spec_version: 2
|
|
4
|
+
id: "content.source.sync-policy"
|
|
5
|
+
name: "Source sync policy"
|
|
6
|
+
user_promise: "Each connected Source declares one plain-language policy for refresh and write-back: View only, Keep in sync, or Review before write-back."
|
|
7
|
+
primary_user_job: "Connect work that remains trustworthy without deciding on every edit whether it should leave Content."
|
|
8
|
+
kind: "primitive"
|
|
9
|
+
state: "approved_shape"
|
|
10
|
+
publicness: "public"
|
|
11
|
+
availability: "configured"
|
|
12
|
+
dependencies: ["content.source.catalog", "content.event.committed"]
|
|
13
|
+
related_features:
|
|
14
|
+
[
|
|
15
|
+
"content.feature.trust-your-connected-sources",
|
|
16
|
+
"content.feature.bring-your-local-work",
|
|
17
|
+
]
|
|
18
|
+
roadmap_boundary: "feature"
|
|
19
|
+
acceptance_summary: "A Source has one inspectable policy, applies only authorized compatible changes through its declared ownership routes, stops real conflicts for review, and records receipts without confusing queued, failed, or unreviewed work with synchronization."
|
|
20
|
+
proof_requirements:
|
|
21
|
+
[
|
|
22
|
+
"Policy selection and enforcement through shared Actions and the interface",
|
|
23
|
+
"Per-field or representation ownership, access intersection, base revisions, deterministic routing, conflict, retry, and receipt behavior",
|
|
24
|
+
"End-to-end View only, Keep in sync, and Review before write-back workflows with provider-side verification",
|
|
25
|
+
]
|
|
26
|
+
evidence: []
|
|
27
|
+
superseded_by: null
|
|
28
|
+
last_reviewed: "2026-07-29"
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# Source sync policy
|
|
32
|
+
|
|
33
|
+
## Why this exists
|
|
34
|
+
|
|
35
|
+
Connected work should not turn every ordinary edit into a synchronization
|
|
36
|
+
dialog. People need to understand whether Content is only showing a Source,
|
|
37
|
+
keeping compatible work aligned automatically, or preparing a deliberate
|
|
38
|
+
outbound review. A familiar access role such as **Can view** answers who may
|
|
39
|
+
read Content; it does not answer whether Content may write to a provider.
|
|
40
|
+
|
|
41
|
+
## Example workflow
|
|
42
|
+
|
|
43
|
+
An editor connects a collection whose body is provider-owned and whose
|
|
44
|
+
annotations are Content-owned. They choose **Review before write-back**. A
|
|
45
|
+
body edit becomes one typed outbound change set with its base revision, while
|
|
46
|
+
an annotation saves in Content immediately. After review, the provider accepts
|
|
47
|
+
the body change and Content records a receipt. If the provider changed the
|
|
48
|
+
same body incompatibly, automatic application stops and the editor sees a
|
|
49
|
+
typed conflict rather than a plausible but incorrect "synced" state.
|
|
50
|
+
|
|
51
|
+
## Product contract
|
|
52
|
+
|
|
53
|
+
### Configure once, follow predictably
|
|
54
|
+
|
|
55
|
+
- Every Source declares exactly one user-facing policy: **View only**, **Keep
|
|
56
|
+
in sync**, or **Review before write-back**. Adapters may offer only the
|
|
57
|
+
policies their certified capabilities can honor.
|
|
58
|
+
- **View only** refreshes authorized inbound Source changes into Content and
|
|
59
|
+
never writes Content-originated changes back to that Source.
|
|
60
|
+
- **Keep in sync** automatically applies compatible, authorized inbound and
|
|
61
|
+
outbound changes. It is not permission for last-writer-wins: a real conflict
|
|
62
|
+
stops automatic application for review.
|
|
63
|
+
- **Review before write-back** may refresh inbound changes according to the
|
|
64
|
+
adapter contract, but bundles Content-originated changes into a typed,
|
|
65
|
+
reviewable outbound change set before provider mutation.
|
|
66
|
+
- The policy configures synchronization, not human access. An operation must
|
|
67
|
+
satisfy Content access, Source scope and approval, adapter capability,
|
|
68
|
+
provider grant, field or representation ownership, and the selected policy.
|
|
69
|
+
Passing one layer never implies the others.
|
|
70
|
+
|
|
71
|
+
### Ownership routes one edit once
|
|
72
|
+
|
|
73
|
+
- Each Source-backed value declares its Source/property or representation
|
|
74
|
+
identity, baseline, writable directions, and conflict rule. A Source can own
|
|
75
|
+
a body while Content owns comments, view configuration, or other native
|
|
76
|
+
metadata on the same Page.
|
|
77
|
+
- An ordinary edit follows that declared route without repeated prompts. A
|
|
78
|
+
Database membership or a Query projection never fans the edit out to other
|
|
79
|
+
Sources; intentional multi-destination work belongs to an explicit Rule,
|
|
80
|
+
mirror, or Automation with per-destination outcomes.
|
|
81
|
+
- A computed, aligned, or otherwise ambiguous projection is read-only until an
|
|
82
|
+
authorized unambiguous route is declared. Creating through a composite
|
|
83
|
+
surface requires one inferable target or a choice of target.
|
|
84
|
+
- Provider lifecycle transitions, including publication, remain separate
|
|
85
|
+
guarded operations. Editing content or successfully syncing it never
|
|
86
|
+
silently changes Draft, Published, or another provider lifecycle state.
|
|
87
|
+
|
|
88
|
+
### Conflict, retry, and receipts tell the truth
|
|
89
|
+
|
|
90
|
+
- Outbound work carries the relevant base revision and identity. The adapter
|
|
91
|
+
checks freshness before applying it; an incompatible upstream change becomes
|
|
92
|
+
a visible conflict or rebase/review state, not a silent overwrite.
|
|
93
|
+
- A queued change is waiting for authority or transport and is not synced. A
|
|
94
|
+
reviewable change is not sent until approved. A failed or unknown outcome is
|
|
95
|
+
distinguishable from a provider-confirmed success.
|
|
96
|
+
- Each attempt records actor, origin, policy, affected representations, base,
|
|
97
|
+
destination outcome, and a provider receipt when available. Retrying uses
|
|
98
|
+
stable operation identity so a recovered request does not duplicate effects.
|
|
99
|
+
|
|
100
|
+
## Boundaries and non-goals
|
|
101
|
+
|
|
102
|
+
- The Sources catalog owns Source discovery, approval, scope, and connection
|
|
103
|
+
metadata. Adapters own provider-specific operations and certification.
|
|
104
|
+
- Human roles and Page/Database access are owned by the access capabilities;
|
|
105
|
+
this policy adds no second permission system.
|
|
106
|
+
- Portable representations and unknown-data preservation belong to faithful
|
|
107
|
+
round-tripping. This record decides when a permitted write may travel, not
|
|
108
|
+
how every provider format is encoded.
|
|
109
|
+
- This Capability does not promise every adapter automatic bidirectional sync,
|
|
110
|
+
offline write queue, lifecycle transition, or generic conflict UI.
|
|
111
|
+
|
|
112
|
+
## Acceptance stories
|
|
113
|
+
|
|
114
|
+
### Keep compatible work synchronized without accidental publication
|
|
115
|
+
|
|
116
|
+
Given an authorized writable Source with **Keep in sync** and compatible
|
|
117
|
+
field ownership, when an editor changes a supported Source-owned field, then
|
|
118
|
+
the adapter applies the change once, records an Event and provider receipt,
|
|
119
|
+
and leaves provider publication state unchanged.
|
|
120
|
+
|
|
121
|
+
### Stop a genuine conflict instead of overwriting it
|
|
122
|
+
|
|
123
|
+
Given a queued outbound change based on revision A and an incompatible provider
|
|
124
|
+
change since A, when synchronization resumes, then Content marks the work as a
|
|
125
|
+
typed conflict for review, preserves both inputs, and does not report it as
|
|
126
|
+
synced or retry it as if the base still matched.
|
|
127
|
+
|
|
128
|
+
### Keep reviewable write-back reviewable
|
|
129
|
+
|
|
130
|
+
Given a Source configured for **Review before write-back**, when an authorized
|
|
131
|
+
editor changes two compatible provider-owned representations, then Content
|
|
132
|
+
creates one typed change set with both changes and their bases; no provider
|
|
133
|
+
mutation occurs until the required review decision succeeds.
|
|
134
|
+
|
|
135
|
+
## Current evidence
|
|
136
|
+
|
|
137
|
+
Existing change sets, guarded writes, source metadata, local synchronization,
|
|
138
|
+
and audit records provide useful donor machinery. They do not yet prove one
|
|
139
|
+
plain-language policy across adapters, ownership-aware routing everywhere,
|
|
140
|
+
reliable receipt semantics, or the full interface workflow. This Capability
|
|
141
|
+
therefore remains `approved_shape`.
|
|
142
|
+
|
|
143
|
+
## Proof plan
|
|
144
|
+
|
|
145
|
+
1. Exercise each policy through shared Actions and the interface with
|
|
146
|
+
authorized and unauthorized read, write, review, and lifecycle requests.
|
|
147
|
+
2. Verify per-field and representation ownership, projected-value routing,
|
|
148
|
+
multi-membership non-fan-out, base checks, retries, idempotency, and durable
|
|
149
|
+
receipts under refresh, disconnect, and restart.
|
|
150
|
+
3. Create compatible concurrent changes and incompatible conflicts for at least
|
|
151
|
+
two independently certified adapters; verify neither generic behavior nor a
|
|
152
|
+
provider success is inferred from the other.
|
|
153
|
+
4. Run access, approval, grant, capability, and policy intersection tests
|
|
154
|
+
through searches, Queries, agents, UI edits, and background work.
|
|
155
|
+
|
|
156
|
+
## Open questions
|
|
157
|
+
|
|
158
|
+
- The advanced presentation of directional read, watch, and write controls is
|
|
159
|
+
still open, provided it cannot contradict the three plain-language policies.
|
|
160
|
+
- The common conflict-resolution vocabulary and retention rules for provider
|
|
161
|
+
receipts need design alongside the review surface.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
record_type: "capability"
|
|
3
|
+
spec_version: 2
|
|
4
|
+
id: "content.system.dependencies"
|
|
5
|
+
name: "Task dependencies"
|
|
6
|
+
user_promise: "Parent/subtask and blocked/blocking relations with constraints"
|
|
7
|
+
primary_user_job: "Express what contains or blocks work and see trustworthy consequences across project and planning Views."
|
|
8
|
+
kind: "workflow"
|
|
9
|
+
state: "approved_shape"
|
|
10
|
+
publicness: "public"
|
|
11
|
+
availability: "universal"
|
|
12
|
+
dependencies: ["content.relationship.edge", "content.expression.language"]
|
|
13
|
+
related_features:
|
|
14
|
+
[
|
|
15
|
+
"content.feature.run-projects-your-way",
|
|
16
|
+
"content.feature.plan-work-across-time",
|
|
17
|
+
]
|
|
18
|
+
roadmap_boundary: "feature"
|
|
19
|
+
acceptance_summary: "Task hierarchy and blocking are typed Relationships with inverse, cardinality, self-edge, and cycle rules; expressions and planning consume those edges rather than copied dependency fields."
|
|
20
|
+
proof_requirements:
|
|
21
|
+
[
|
|
22
|
+
"Typed dependency and hierarchy create, inverse, cardinality, self-edge, cycle, and deletion coverage",
|
|
23
|
+
"Access-safe Relationship Actions, expressions, rollups, history, and recovery coverage",
|
|
24
|
+
"Project, List, Timeline, and agent-context workflow with unavailable or stale relations",
|
|
25
|
+
]
|
|
26
|
+
evidence: []
|
|
27
|
+
superseded_by: null
|
|
28
|
+
last_reviewed: "2026-07-29"
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# Task dependencies
|
|
32
|
+
|
|
33
|
+
## Why this exists
|
|
34
|
+
|
|
35
|
+
Projects need to say what blocks what without making a task dependency engine that drifts
|
|
36
|
+
away from the rest of Content.
|
|
37
|
+
|
|
38
|
+
## Example workflow
|
|
39
|
+
|
|
40
|
+
An editor marks one task as blocking another and groups subtasks beneath a parent. The
|
|
41
|
+
same typed edges inform task Views, expressions, and later scheduling surfaces.
|
|
42
|
+
|
|
43
|
+
## Product contract
|
|
44
|
+
|
|
45
|
+
- Parent/subtask and blocked/blocking are canonical typed Relationships with declared inverses and constraints.
|
|
46
|
+
- Creation and edits use the shared Relationship Action, access checks, history, and recovery.
|
|
47
|
+
- Expressions and scheduling consume canonical edges; Views project them without copying dependency truth.
|
|
48
|
+
- Cycles, self-relations, cardinality, missing endpoints, and inaccessible endpoints receive explicit policy.
|
|
49
|
+
|
|
50
|
+
## Boundaries and non-goals
|
|
51
|
+
|
|
52
|
+
Relationships own edges; schedule constraints consume them. This is not a Page-parent
|
|
53
|
+
system, a hidden status mutation engine, or a parallel task graph.
|
|
54
|
+
|
|
55
|
+
## Acceptance stories
|
|
56
|
+
|
|
57
|
+
### Reject a forbidden cycle
|
|
58
|
+
|
|
59
|
+
Given a relationship type that forbids cycles, when an editor creates a blocking cycle,
|
|
60
|
+
then the shared Action rejects it with an actionable explanation and no partial edge.
|
|
61
|
+
|
|
62
|
+
### Project an authorized blocker
|
|
63
|
+
|
|
64
|
+
Given a task whose blocker is inaccessible, when a viewer opens a task View, then no
|
|
65
|
+
endpoint title, count, or inference leaks through dependency presentation.
|
|
66
|
+
|
|
67
|
+
## Current evidence
|
|
68
|
+
|
|
69
|
+
Relationship and expression primitives are prerequisite substrate; no complete task
|
|
70
|
+
dependency workflow is proven. This Capability remains `approved_shape`.
|
|
71
|
+
|
|
72
|
+
## Proof plan
|
|
73
|
+
|
|
74
|
+
1. Test inverse, self-edge, cardinality, cycle, deletion, and concurrent relationship edits.
|
|
75
|
+
2. Verify access closure, expressions, history, agent context, and recovery.
|
|
76
|
+
3. Exercise List, project, Timeline, unavailable-relation, and keyboard workflows.
|
|
77
|
+
|
|
78
|
+
## Open questions
|
|
79
|
+
|
|
80
|
+
Which dependency types are blessed by the initial Task template needs template design.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
record_type: "capability"
|
|
3
|
+
spec_version: 2
|
|
4
|
+
id: "content.system.my-tasks"
|
|
5
|
+
name: "My Tasks"
|
|
6
|
+
user_promise: "“My Tasks” as an access-scoped dynamic saved view"
|
|
7
|
+
primary_user_job: "See the work assigned to me across eligible task memberships without maintaining a copied personal queue."
|
|
8
|
+
kind: "workflow"
|
|
9
|
+
state: "approved_shape"
|
|
10
|
+
publicness: "public"
|
|
11
|
+
availability: "universal"
|
|
12
|
+
dependencies: ["content.system.task-project", "content.view.query"]
|
|
13
|
+
related_features: ["content.feature.run-projects-your-way"]
|
|
14
|
+
roadmap_boundary: "feature"
|
|
15
|
+
acceptance_summary: "My Tasks is a fast, access-scoped saved View using current-user expressions across eligible task memberships and preserving each task's canonical origin."
|
|
16
|
+
proof_requirements:
|
|
17
|
+
[
|
|
18
|
+
"Current-user expression, multi-membership, sort, filter, and canonical-origin coverage",
|
|
19
|
+
"Access-safe result, count, cross-context policy, Action, and agent-context coverage",
|
|
20
|
+
"Real-interface fast List, empty, stale, unavailable, reload, and recovery workflow",
|
|
21
|
+
]
|
|
22
|
+
evidence: []
|
|
23
|
+
superseded_by: null
|
|
24
|
+
last_reviewed: "2026-07-29"
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# My Tasks
|
|
28
|
+
|
|
29
|
+
## Why this exists
|
|
30
|
+
|
|
31
|
+
Assigned work should gather itself, not require a person to keep a second queue in sync.
|
|
32
|
+
|
|
33
|
+
## Example workflow
|
|
34
|
+
|
|
35
|
+
A contributor opens My Tasks, filters to due work, edits one task, and opens its Project.
|
|
36
|
+
The task remains its one canonical record in the source Database.
|
|
37
|
+
|
|
38
|
+
## Product contract
|
|
39
|
+
|
|
40
|
+
- My Tasks is a saved dynamic View using current-user expressions over eligible canonical task memberships.
|
|
41
|
+
- It evaluates access before results, counts, sort, filters, agent context, or cross-context display.
|
|
42
|
+
- Every row retains its task and project origin; edits use ordinary shared Actions.
|
|
43
|
+
- Empty, unavailable, stale, and revoked results are distinct from a complete empty queue.
|
|
44
|
+
|
|
45
|
+
## Boundaries and non-goals
|
|
46
|
+
|
|
47
|
+
The Task template defines task meaning and Queries define result execution. My Tasks is
|
|
48
|
+
not a copied inbox, assignment authority, or implicit cross-context search.
|
|
49
|
+
|
|
50
|
+
## Acceptance stories
|
|
51
|
+
|
|
52
|
+
### Gather assignments without duplication
|
|
53
|
+
|
|
54
|
+
Given assigned tasks in two eligible projects, when a person opens My Tasks, then each
|
|
55
|
+
authorized canonical task appears once according to saved View semantics.
|
|
56
|
+
|
|
57
|
+
### Remove revoked work
|
|
58
|
+
|
|
59
|
+
Given access to a task is revoked, when My Tasks refreshes, then that task and any count
|
|
60
|
+
or preview inference disappear from the person and agent context.
|
|
61
|
+
|
|
62
|
+
## Current evidence
|
|
63
|
+
|
|
64
|
+
No current-user cross-membership query and fast List proof is recorded. This Capability
|
|
65
|
+
remains `approved_shape`.
|
|
66
|
+
|
|
67
|
+
## Proof plan
|
|
68
|
+
|
|
69
|
+
1. Test current-user expressions, memberships, origin, filters, sort, and canonical edits.
|
|
70
|
+
2. Verify access, policy, counts, cross-context behavior, and agent disclosure.
|
|
71
|
+
3. Exercise fast List, empty, stale, unavailable, reload, and recovery workflows.
|
|
72
|
+
|
|
73
|
+
## Open questions
|
|
74
|
+
|
|
75
|
+
The default inclusion rule for unassigned and delegated tasks needs template design.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
record_type: "capability"
|
|
3
|
+
spec_version: 2
|
|
4
|
+
id: "content.system.project-status"
|
|
5
|
+
name: "Project status"
|
|
6
|
+
user_promise: "Project status updates and rollups as ordinary Content views/pages"
|
|
7
|
+
primary_user_job: "Understand a project's current state and next concern from canonical tasks and updates without a separate reporting system."
|
|
8
|
+
kind: "workflow"
|
|
9
|
+
state: "approved_shape"
|
|
10
|
+
publicness: "public"
|
|
11
|
+
availability: "universal"
|
|
12
|
+
dependencies:
|
|
13
|
+
["content.system.task-project", "content.view.grouping-aggregation"]
|
|
14
|
+
related_features: ["content.feature.run-projects-your-way"]
|
|
15
|
+
roadmap_boundary: "feature"
|
|
16
|
+
acceptance_summary: "Project Pages and ordinary Views compose canonical task relationships, access-safe rollups, status updates, schedules or reminders, and suitable renderers."
|
|
17
|
+
proof_requirements:
|
|
18
|
+
[
|
|
19
|
+
"Task/project relation, status update, rollup, and canonical drill-in coverage",
|
|
20
|
+
"Access-safe aggregation, schedule/reminder policy, Actions, history, and recovery coverage",
|
|
21
|
+
"Real-interface project status, empty/stale/unavailable, renderer, and agent-context workflow",
|
|
22
|
+
]
|
|
23
|
+
evidence: []
|
|
24
|
+
superseded_by: null
|
|
25
|
+
last_reviewed: "2026-07-29"
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Project status
|
|
29
|
+
|
|
30
|
+
## Why this exists
|
|
31
|
+
|
|
32
|
+
A status page should tell a truthful story from work already happening, not become an
|
|
33
|
+
orphaned dashboard that someone must remember to reconcile.
|
|
34
|
+
|
|
35
|
+
## Example workflow
|
|
36
|
+
|
|
37
|
+
A lead opens a Project Page, reads its latest update and access-safe task rollup, drills
|
|
38
|
+
into a concerning group, and schedules a reminder through the project's ordinary rules.
|
|
39
|
+
|
|
40
|
+
## Product contract
|
|
41
|
+
|
|
42
|
+
- Project status is composed from canonical Task/Project relations, Pages, Views, and access-safe aggregates.
|
|
43
|
+
- Status updates remain ordinary attributable Content with history and permissions.
|
|
44
|
+
- Rollups and drill-in evaluate access before measures, labels, counts, reminders, exports, or agent context.
|
|
45
|
+
- Empty, stale, unavailable, and partially complete inputs are represented truthfully.
|
|
46
|
+
|
|
47
|
+
## Boundaries and non-goals
|
|
48
|
+
|
|
49
|
+
Task templates own task shape; grouping owns measures. This is not a separate reporting
|
|
50
|
+
warehouse, management-only data model, or inferred status authority.
|
|
51
|
+
|
|
52
|
+
## Acceptance stories
|
|
53
|
+
|
|
54
|
+
### Read a safe project rollup
|
|
55
|
+
|
|
56
|
+
Given a Project with private tasks, when a viewer opens its status, then rollups and
|
|
57
|
+
counts include only authorized task information and drill-in remains scoped.
|
|
58
|
+
|
|
59
|
+
### Publish an update canonically
|
|
60
|
+
|
|
61
|
+
Given an authorized project editor, when they add a status update, then it is an ordinary
|
|
62
|
+
attributable Content change with history and no copied dashboard record.
|
|
63
|
+
|
|
64
|
+
## Current evidence
|
|
65
|
+
|
|
66
|
+
No complete project status composition, aggregation, reminder, and renderer proof is
|
|
67
|
+
recorded. This Capability remains `approved_shape`.
|
|
68
|
+
|
|
69
|
+
## Proof plan
|
|
70
|
+
|
|
71
|
+
1. Test task/project relations, updates, rollups, drill-in, and status history.
|
|
72
|
+
2. Verify access, reminders, exports, agents, stale inputs, and recovery.
|
|
73
|
+
3. Exercise project Page and renderer workflows under empty and unavailable conditions.
|
|
74
|
+
|
|
75
|
+
## Open questions
|
|
76
|
+
|
|
77
|
+
The initial status vocabulary and reminder integration policy need template design.
|
package/corpus/templates/content/docs/product/capabilities/content.system.research-workspace.md
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
record_type: "capability"
|
|
3
|
+
spec_version: 2
|
|
4
|
+
id: "content.system.research-workspace"
|
|
5
|
+
name: "Research workspace Template"
|
|
6
|
+
user_promise: "A blessed editable research template composes Sources, Notes, Projects, reading queues, citations, capture, and synthesis views over one Content datastore"
|
|
7
|
+
primary_user_job: "Adapt a research system to my practice while keeping sources, notes, citations, and synthesis connected to their canonical evidence."
|
|
8
|
+
kind: "workflow"
|
|
9
|
+
state: "exploring"
|
|
10
|
+
publicness: "public"
|
|
11
|
+
availability: "universal"
|
|
12
|
+
dependencies:
|
|
13
|
+
[
|
|
14
|
+
"content.template.graph",
|
|
15
|
+
"content.research.annotation",
|
|
16
|
+
"content.research.citation",
|
|
17
|
+
]
|
|
18
|
+
related_features: []
|
|
19
|
+
roadmap_boundary: "supporting"
|
|
20
|
+
acceptance_summary: "An editable research Template composes generic sources, notes, projects, reading queues, citations, capture, and synthesis Views without a parallel research engine."
|
|
21
|
+
proof_requirements:
|
|
22
|
+
[
|
|
23
|
+
"Template instantiation, editable provenance, and source/note/project/citation composition coverage",
|
|
24
|
+
"Access-scoped search, capture, annotation, citation, links, backlinks, and source-policy coverage",
|
|
25
|
+
"Real-interface reading, synthesis, export, unavailable-source, and recovery workflow",
|
|
26
|
+
]
|
|
27
|
+
evidence: []
|
|
28
|
+
superseded_by: null
|
|
29
|
+
last_reviewed: "2026-07-29"
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
# Research workspace Template
|
|
33
|
+
|
|
34
|
+
## Why this exists
|
|
35
|
+
|
|
36
|
+
Research benefits from a coherent starting shape, but the shape must remain editable and
|
|
37
|
+
must not seize custody of connected originals.
|
|
38
|
+
|
|
39
|
+
## Example workflow
|
|
40
|
+
|
|
41
|
+
A researcher instantiates the Template, captures a source-backed note, adds an annotation
|
|
42
|
+
and citation, connects it to a project, and opens a synthesis View with provenance intact.
|
|
43
|
+
|
|
44
|
+
## Product contract
|
|
45
|
+
|
|
46
|
+
- The research workspace is an editable Template composition over generic Content primitives.
|
|
47
|
+
- Sources declare truth and write-back policy; notes, citations, annotations, links, and Views retain canonical identity.
|
|
48
|
+
- Search, capture, synthesis, export, and agent context are access-scoped and provenance-aware.
|
|
49
|
+
- Source unavailability, sync staleness, deletion, and citation failure report honestly and recoverably.
|
|
50
|
+
|
|
51
|
+
## Boundaries and non-goals
|
|
52
|
+
|
|
53
|
+
Research primitives own annotations and citations; the Template is not a new research
|
|
54
|
+
database, provider lock-in, or a claim that every source can be written back.
|
|
55
|
+
|
|
56
|
+
## Acceptance stories
|
|
57
|
+
|
|
58
|
+
### Adapt without losing provenance
|
|
59
|
+
|
|
60
|
+
Given an instantiated research Template, when a researcher changes its Views or schema,
|
|
61
|
+
then source notes and citations retain their canonical provenance and policy.
|
|
62
|
+
|
|
63
|
+
### Synthesize authorized evidence
|
|
64
|
+
|
|
65
|
+
Given mixed-access sources, when a researcher opens a synthesis View or asks an agent,
|
|
66
|
+
then only authorized evidence and citations are available to the result.
|
|
67
|
+
|
|
68
|
+
## Current evidence
|
|
69
|
+
|
|
70
|
+
This record remains `exploring`; no complete generic research composition is proven.
|
|
71
|
+
|
|
72
|
+
## Proof plan
|
|
73
|
+
|
|
74
|
+
1. Test Template instantiation, edits, provenance, Sources, notes, citations, and projects.
|
|
75
|
+
2. Verify access, source policy, search, export, agents, stale data, and recovery.
|
|
76
|
+
3. Exercise capture-to-synthesis and unavailable-source workflows in the real interface.
|
|
77
|
+
|
|
78
|
+
## Open questions
|
|
79
|
+
|
|
80
|
+
The initial blessed template contents and source-adapter selection remain exploratory.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
record_type: "capability"
|
|
3
|
+
spec_version: 2
|
|
4
|
+
id: "content.system.task-project"
|
|
5
|
+
name: "Blessed Task and Project Template"
|
|
6
|
+
user_promise: "Blessed editable Task/Project template over Content"
|
|
7
|
+
primary_user_job: "Start a useful project system quickly, then adapt Tasks and Projects without forking into a separate task product."
|
|
8
|
+
kind: "workflow"
|
|
9
|
+
state: "approved_shape"
|
|
10
|
+
publicness: "public"
|
|
11
|
+
availability: "universal"
|
|
12
|
+
dependencies: ["content.template.graph", "content.view.fast-capture"]
|
|
13
|
+
related_features: ["content.feature.run-projects-your-way"]
|
|
14
|
+
roadmap_boundary: "feature"
|
|
15
|
+
acceptance_summary: "An editable Task/Project Template composes fast capture, dynamic Views and defaults, typed relations, Rules, status rendering, and History over canonical Content objects."
|
|
16
|
+
proof_requirements:
|
|
17
|
+
[
|
|
18
|
+
"Template install, editable schema/View provenance, Task/Project creation, and fast-capture coverage",
|
|
19
|
+
"Relations, dynamic filters/defaults, Rules, status renderer, history, access, and recovery coverage",
|
|
20
|
+
"Real-interface project workflow from capture through status, reload, and agent context",
|
|
21
|
+
]
|
|
22
|
+
evidence: []
|
|
23
|
+
superseded_by: null
|
|
24
|
+
last_reviewed: "2026-07-29"
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Blessed Task and Project Template
|
|
28
|
+
|
|
29
|
+
## Why this exists
|
|
30
|
+
|
|
31
|
+
People need a credible place to start projects, then room to make the system fit the work
|
|
32
|
+
without being trapped in a parallel task engine.
|
|
33
|
+
|
|
34
|
+
## Example workflow
|
|
35
|
+
|
|
36
|
+
A team instantiates the Template, captures a task from a List, assigns it to a Project,
|
|
37
|
+
uses a status View, and later adjusts the template's Properties and Views for its practice.
|
|
38
|
+
|
|
39
|
+
## Product contract
|
|
40
|
+
|
|
41
|
+
- The Template forks editable Task and Project configuration with provenance, not a possessed shared product type.
|
|
42
|
+
- Tasks, Projects, relations, Rules, status rendering, History, and Views use canonical Content objects and Actions.
|
|
43
|
+
- Dynamic filters and creation defaults are contextual helpers, never hidden validation or source-of-truth copies.
|
|
44
|
+
- Access, source policy, deletion, stale state, and recovery retain ordinary Content behavior.
|
|
45
|
+
|
|
46
|
+
## Boundaries and non-goals
|
|
47
|
+
|
|
48
|
+
Templates compose primitives; dependencies and scheduling have separate contracts. This is
|
|
49
|
+
not a fixed task taxonomy, a proprietary workflow engine, or a permission bypass.
|
|
50
|
+
|
|
51
|
+
## Acceptance stories
|
|
52
|
+
|
|
53
|
+
### Start then adapt
|
|
54
|
+
|
|
55
|
+
Given a new workspace, when an editor instantiates the Template and later changes a View,
|
|
56
|
+
then canonical task/project identity and template provenance remain intact.
|
|
57
|
+
|
|
58
|
+
### Capture into a project
|
|
59
|
+
|
|
60
|
+
Given an authorized fast List, when a person captures a task and assigns its Project,
|
|
61
|
+
then shared Actions apply defaults, Rules, history, and access without creating a duplicate.
|
|
62
|
+
|
|
63
|
+
## Current evidence
|
|
64
|
+
|
|
65
|
+
Existing Template and Database machinery are donor substrate, but the complete Task/Project
|
|
66
|
+
workflow is not yet proven. This Capability remains `approved_shape`.
|
|
67
|
+
|
|
68
|
+
## Proof plan
|
|
69
|
+
|
|
70
|
+
1. Test instantiation, provenance, editable schema and Views, and fast capture.
|
|
71
|
+
2. Verify relations, Rules, defaults, status, history, access, deletion, and recovery.
|
|
72
|
+
3. Exercise capture-to-project-to-status through UI and agent context after reload.
|
|
73
|
+
|
|
74
|
+
## Open questions
|
|
75
|
+
|
|
76
|
+
The initial Task/Project Property set and opinionated Views need Template design.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
record_type: "capability"
|
|
3
|
+
spec_version: 2
|
|
4
|
+
id: "content.template.governance"
|
|
5
|
+
name: "Template governance"
|
|
6
|
+
user_promise: "Find and adopt a reusable working system with clear ownership, approval, version, provenance, and access."
|
|
7
|
+
primary_user_job: "Choose a reusable system with visible ownership and approval."
|
|
8
|
+
kind: "primitive"
|
|
9
|
+
state: "approved_shape"
|
|
10
|
+
publicness: "public"
|
|
11
|
+
availability: "universal"
|
|
12
|
+
dependencies: ["content.template.graph", "content.access.page-database"]
|
|
13
|
+
related_features:
|
|
14
|
+
[
|
|
15
|
+
"content.feature.share-how-your-organization-works",
|
|
16
|
+
"content.feature.put-your-organizations-know-how-to-work",
|
|
17
|
+
"content.feature.evolve-systems-safely",
|
|
18
|
+
]
|
|
19
|
+
roadmap_boundary: "feature"
|
|
20
|
+
acceptance_summary: "Template governance provides private, organization-approved, and published catalogs with stable identity, ownership scope, inspectable content, versioning, approval, discovery, provenance, and access-aware adoption."
|
|
21
|
+
proof_requirements:
|
|
22
|
+
[
|
|
23
|
+
"Catalog scope determines discoverability, editing, approval, and audit; it does not bypass object access.",
|
|
24
|
+
"Templates are inspectable snapshots of ordinary primitives, not opaque packages or a second authority system.",
|
|
25
|
+
"Adoption preserves origin and version choice; a later update is handled through review rather than possession.",
|
|
26
|
+
]
|
|
27
|
+
evidence: []
|
|
28
|
+
superseded_by: null
|
|
29
|
+
last_reviewed: "2026-07-29"
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
# Template governance
|
|
33
|
+
|
|
34
|
+
## Why this exists
|
|
35
|
+
|
|
36
|
+
A reusable system is only trustworthy when adopters can inspect who made it, what version they are taking, and who approved it. Discovery must not turn a catalog entry into a permission bypass.
|
|
37
|
+
|
|
38
|
+
## Example workflow
|
|
39
|
+
|
|
40
|
+
Kai inspects an organization-approved editorial Template, then adopts its version into a workspace with visible owner, approval, and provenance.
|
|
41
|
+
|
|
42
|
+
## Product contract
|
|
43
|
+
|
|
44
|
+
- Catalog scope determines discoverability, editing, approval, and audit; it does not bypass object access.
|
|
45
|
+
- Templates are inspectable snapshots of ordinary primitives, not opaque packages or a second authority system.
|
|
46
|
+
- Adoption preserves origin and version choice; a later update is handled through review rather than possession.
|
|
47
|
+
|
|
48
|
+
## Boundaries and non-goals
|
|
49
|
+
|
|
50
|
+
- `content.template.graph` owns snapshot/instantiation; Template updates own adopted-instance diffs and selective application.
|
|
51
|
+
- Governance does not grant access to referenced objects, auto-update instances, or turn Templates into opaque packages.
|
|
52
|
+
|
|
53
|
+
## Acceptance stories
|
|
54
|
+
|
|
55
|
+
### Scope does not bypass access
|
|
56
|
+
|
|
57
|
+
Given one referenced object is inaccessible, when a person inspects or adopts the Template, then inspection/adoption does not leak it.
|
|
58
|
+
|
|
59
|
+
### Make approval history visible
|
|
60
|
+
|
|
61
|
+
Given a new version is published, when an adopter opens catalog detail, then adopters distinguish draft, approved, and adopted versions without auto-update.
|
|
62
|
+
|
|
63
|
+
## Current evidence
|
|
64
|
+
|
|
65
|
+
`docs/product/features/content.feature.share-how-your-organization-works.md` names Template substrate; no unified catalog, approval action, or adoption implementation exists.
|
|
66
|
+
|
|
67
|
+
## Proof plan
|
|
68
|
+
|
|
69
|
+
1. Create private/org/published entries with scope, owner, version, provenance.
|
|
70
|
+
2. Test discovery, approval, audit, and edit permissions.
|
|
71
|
+
3. Adopt under mixed access without leaking hidden references.
|
|
72
|
+
4. Hand updates to Template update workflow.
|
|
73
|
+
|
|
74
|
+
## Open questions
|
|
75
|
+
|
|
76
|
+
Publisher-role policy remains open.
|