@inneranimalmedia/agentsam-sdk 2.6.11 → 2.6.12
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/apps/cad-creator/shared/cad/package.json +1 -1
- package/apps/client-cms-editor/backend/package.json +2 -2
- package/apps/client-cms-editor/frontend/package.json +3 -3
- package/apps/client-cms-editor/frontend/src/adapters/http-authoring.test.ts +161 -0
- package/apps/client-cms-editor/frontend/src/adapters/http.ts +296 -65
- package/apps/client-cms-editor/frontend/src/editor/CmsEditor.tsx +47 -16
- package/apps/client-cms-editor/frontend/src/editor/composition-groups.test.ts +40 -0
- package/apps/client-cms-editor/frontend/src/editor/legacy/CmsEditorPrototype.tsx +28 -28
- package/apps/client-cms-editor/frontend/src/editor/useCmsEditorController.ts +3 -3
- package/apps/client-cms-editor/frontend/src/styles/agentsam-drawer.css +5 -4
- package/apps/client-cms-editor/frontend/src/styles/studio.css +150 -149
- package/apps/client-cms-editor/package.json +1 -1
- package/apps/client-cms-editor/reference/harvest/plans/INNERANIMALS-CONTENT-001.md +1 -1
- package/apps/client-cms-editor/shared/cms/package.json +1 -1
- package/apps/client-cms-editor/shared/cms/src/editor-types.ts +42 -1
- package/docs/CMS_CONTEXTUAL_COMPOSER.md +4 -4
- package/docs/PRODUCT_LIFECYCLE.md +38 -38
- package/docs/REPO_FILE_MAP.txt +2 -2
- package/docs/THEME_REFINERY.md +6 -6
- package/docs/WINDOWS_RUNTIME_INSTALL.md +1 -1
- package/docs/adr/ADR-0002-brand-campaign-plugin-boundaries.md +603 -0
- package/docs/adr/ADR-0003-copro-clean-room-product-architecture.md +34 -0
- package/docs/adr/ADR-0003-product-portfolio-and-package-taxonomy.md +146 -0
- package/docs/adr/ADR-0004-product-composition-and-provider-neutrality.md +56 -0
- package/docs/adr/ADR-0005-offer-graduation-standard.md +66 -0
- package/docs/adr/README.md +25 -0
- package/docs/architecture/AGENTSAM_APPLICATION_CONTRACT.md +1 -1
- package/docs/architecture/DUAL_ANALYTICS_PRODUCT.md +1 -1
- package/docs/content-studio/HOST_MOUNT_CHECKLIST.md +1 -1
- package/docs/content-studio/REVISION_GATE_2026-09-27.md +3 -3
- package/docs/contracts/google-cloud-oauth-setup.md +1 -1
- package/docs/local-studio/WORKMODE_DONOR_NOTES.md +3 -3
- package/docs/plans/ASTRA-BRIEF-2026-09-18.md +1 -1
- package/docs/plans/LOCAL-STUDIO-REAL-APP-CONTRACT-ADDENDUM-2026-09-27.md +2 -2
- package/docs/plans/MACHINE-FIRST-APPS-TUI-2026-09-24.md +1 -1
- package/docs/plans/NEXT-AGENT-HANDOFF.md +2 -2
- package/docs/plans/TOMORROW-EXTENSIVE-TODO-2026-09-26.md +68 -68
- package/docs/plans/TOMORROW-MACHINE-FIRST-BRIEFING.md +1 -1
- package/docs/plans/UNIVERSAL-INGEST-MACHINE-FIRST-2026-09-24.md +1 -1
- package/docs/prd/PRD-agentsam-analytics.md +174 -0
- package/docs/prd/PRD-agentsam-brand.md +181 -0
- package/docs/prd/PRD-agentsam-browser.md +177 -0
- package/docs/prd/PRD-agentsam-cad-studio.md +177 -0
- package/docs/prd/PRD-agentsam-campaign.md +1178 -0
- package/docs/prd/PRD-agentsam-commerce-studio.md +180 -0
- package/docs/prd/PRD-agentsam-content-studio.md +179 -0
- package/docs/prd/PRD-agentsam-copro.md +39 -0
- package/docs/prd/PRD-agentsam-database-studio.md +175 -0
- package/docs/prd/PRD-agentsam-developer-studio.md +175 -0
- package/docs/prd/PRD-agentsam-hosted-runtime.md +180 -0
- package/docs/prd/PRD-agentsam-knowledge.md +174 -0
- package/docs/prd/PRD-agentsam-local-studio.md +180 -0
- package/docs/prd/PRD-agentsam-merch.md +177 -0
- package/docs/prd/PRD-agentsam-platform.md +179 -0
- package/docs/prd/PRD-agentsam-site-studio.md +180 -0
- package/docs/prd/PRD-agentsam-work.md +180 -0
- package/docs/prd/README.md +39 -0
- package/docs/product/COPRO-DONOR-AUDIT.md +9 -0
- package/docs/product/COPRO-EXECUTION-PLAN.md +81 -0
- package/docs/product/COPRO-UI-QUALITY-GATE.md +119 -0
- package/docs/product/OFFER-PORTFOLIO.md +158 -0
- package/docs/product/PACKAGE-TAXONOMY.md +78 -0
- package/examples/hyperspace-demo/dist/assets/index-SZ2LfOpJ.js +242 -0
- package/examples/hyperspace-demo/dist/index.html +13 -0
- package/native/agentsam-machine/core/src/lib.rs +2 -2
- package/package.json +55 -35
- package/packages/agentsam-brand/package.json +3 -2
- package/packages/agentsam-brand/src/public.js +192 -0
- package/packages/agentsam-contracts/README.md +1 -1
- package/packages/agentsam-contracts/package.json +1 -1
- package/packages/agentsam-errors/package.json +1 -1
- package/packages/agentsam-goap/package.json +2 -2
- package/packages/agentsam-hooks/package.json +1 -1
- package/packages/agentsam-knowledge/package.json +1 -1
- package/packages/agentsam-merch/package.json +1 -1
- package/packages/agentsam-merch/test/merch.test.mjs +1 -1
- package/packages/agentsam-nav/dist/browser.global.js +34 -71
- package/packages/agentsam-nav/dist/browser.js +759 -3157
- package/packages/agentsam-nav/dist/index.js +751 -3149
- package/packages/agentsam-nav/package.json +1 -1
- package/packages/agentsam-queue-control/package.json +1 -1
- package/packages/agentsam-repository/package.json +1 -1
- package/packages/agentsam-repository/src/goap.js.bak-20260922011251 +670 -0
- package/packages/agentsam-vault/package.json +1 -1
- package/packages/agentsam-workbench/package.json +5 -4
- package/packages/agentsam-workbench/src/agent/MiniAgentSam.tsx +28 -4
- package/packages/agentsam-workbench/src/agent/contextual-composer.css +72 -70
- package/packages/agentsam-workbench/src/agent/mini-agentsam.css +228 -10
- package/packages/connectors/cfoa/package.json +1 -1
- package/packages/heuristic-theme/package.json +1 -1
- package/packages/identity/package.json +1 -1
- package/packages/identity/src/frontend/auth-portal/pages/login.html +1 -1
- package/packages/identity/src/frontend/auth-portal/pages/reset.html +1 -1
- package/packages/identity/src/frontend/auth-portal/pages/signup.html +1 -1
- package/packages/identity/tests/chatgpt-provider.test.mjs +3 -3
- package/packages/identity/tests/oauth-consent-view.test.mjs +11 -11
- package/packages/providers/completeful/README.md +3 -3
- package/packages/providers/completeful/package.json +1 -1
- package/packages/theme-cypress/README.md +11 -0
- package/packages/{theme-church-site → theme-cypress}/package.json +14 -11
- package/packages/theme-cypress/prebuild.json +23 -0
- package/packages/theme-cypress/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-cypress/site/assets/generated/media-044ba16613.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-0a1ea6f6d9.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-0c06778307.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-1539ed373a.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-2df479fd2d.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-2e8bd0d9bc.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-41d4e2643c.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-46205bfde8.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-50c5f3e279.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-5f1467778c.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-6703642b22.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-87a490bc8e.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-997c10ef39.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-a423735c21.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-c9cea5245b.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-cab3c84c60.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-ce06595d59.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-d268905e7e.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-f6711b5053.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-manifest.json +226 -0
- package/packages/theme-cypress/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-cypress/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-cypress/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-cypress/site/beliefs.html +175 -0
- package/packages/theme-cypress/site/community.html +175 -0
- package/packages/theme-cypress/site/connect.html +319 -0
- package/packages/theme-cypress/site/donate.html +106 -0
- package/packages/theme-cypress/site/groups.html +1352 -0
- package/packages/theme-cypress/site/help.html +1 -0
- package/packages/theme-cypress/site/icons/clock.svg +4 -0
- package/packages/theme-cypress/site/icons/email.svg +4 -0
- package/packages/theme-cypress/site/icons/giving.svg +4 -0
- package/packages/theme-cypress/site/icons/home.svg +4 -0
- package/packages/theme-cypress/site/icons/location.svg +4 -0
- package/packages/theme-cypress/site/icons/media.svg +4 -0
- package/packages/theme-cypress/site/icons/ministries.svg +6 -0
- package/packages/theme-cypress/site/icons/prayer.svg +5 -0
- package/packages/theme-cypress/site/icons/visit.svg +6 -0
- package/packages/theme-cypress/site/index.html +1013 -0
- package/packages/theme-cypress/site/mensgroup.html +477 -0
- package/packages/theme-cypress/site/mission.html +512 -0
- package/packages/theme-cypress/site/unified-footer.css +172 -0
- package/packages/theme-cypress/site/unified-footer.js +175 -0
- package/packages/theme-cypress/site/unified-header.css +226 -0
- package/packages/theme-cypress/site/unified-header.js +111 -0
- package/packages/theme-cypress/site/womansgroup.html +452 -0
- package/packages/{theme-church-site → theme-cypress}/src/index.js +22 -35
- package/packages/theme-cypress/src/node.js +69 -0
- package/packages/theme-cypress/test/theme.test.mjs +47 -0
- package/packages/theme-ember/README.md +11 -0
- package/packages/{theme-fuelnfree-site → theme-ember}/package.json +14 -11
- package/packages/theme-ember/prebuild.json +23 -0
- package/packages/theme-ember/site/about.html +1840 -0
- package/packages/theme-ember/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-ember/site/assets/generated/media-1e0b1e6ee6.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-2371dcb426.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-2db4f5ff9e.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-4ed07a756e.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-58182cf167.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-5b8b8472ae.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-71f4bd16a1.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-7c1c8120bc.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-832b176433.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-931439701c.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-c2860d40d1.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-c56974d198.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-cb83a44ff4.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-df02ccdfcf.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-fab72cd344.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-manifest.json +190 -0
- package/packages/theme-ember/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-ember/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-ember/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-ember/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-ember/site/community.html +1664 -0
- package/packages/theme-ember/site/index.html +2044 -0
- package/packages/theme-ember/site/shop.html +2104 -0
- package/packages/{theme-fuelnfree-site → theme-ember}/src/index.js +23 -33
- package/packages/theme-ember/src/node.js +69 -0
- package/packages/theme-ember/test/theme.test.mjs +47 -0
- package/packages/theme-forge/README.md +11 -0
- package/packages/theme-forge/package.json +44 -0
- package/packages/theme-forge/prebuild.json +23 -0
- package/packages/theme-forge/site/apple-touch-icon.png +0 -0
- package/packages/theme-forge/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-forge/site/assets/generated/media-manifest.json +17 -0
- package/packages/theme-forge/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-forge/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-forge/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-forge/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-forge/site/assets/index-DBOqQVsA.css +1 -0
- package/packages/theme-forge/site/assets/index-pXC0o9jp.js +241 -0
- package/packages/theme-forge/site/assets/workbox-window.prod.es5-Bd17z0YL.js +2 -0
- package/packages/theme-forge/site/index.html +5 -0
- package/packages/theme-forge/site/manifest.webmanifest +1 -0
- package/packages/theme-forge/site/pwa-192x192.png +0 -0
- package/packages/theme-forge/site/pwa-512x512.png +0 -0
- package/packages/theme-forge/site/sw.js +107 -0
- package/packages/theme-forge/site/workbox-7e5eb42b.js +3395 -0
- package/packages/theme-forge/src/index.js +76 -0
- package/packages/theme-forge/src/node.js +69 -0
- package/packages/theme-forge/test/theme.test.mjs +47 -0
- package/packages/theme-grove/README.md +11 -0
- package/packages/{theme-floors-site → theme-grove}/package.json +14 -11
- package/packages/theme-grove/prebuild.json +23 -0
- package/packages/theme-grove/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-grove/site/assets/generated/media-098b13d75a.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-0c064db1aa.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-0fbfef655e.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-14759c7460.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-19b23d2a8f.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-2012f04243.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-23b8c5e2bb.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-2bffb1a6ef.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-2e1523a5b0.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-31107c21f2.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-31373ec865.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-45e8e27542.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-4aa9846fe7.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-5476b24219.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-7a227d3e4b.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-b183eed550.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-b2c650f9ab.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-b5d7471694.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-c86498fdb4.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-ce2cfff9a1.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-cf41a5f324.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-ec6c01bf8d.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-manifest.json +267 -0
- package/packages/theme-grove/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-grove/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-grove/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-grove/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-grove/site/index.html +1429 -0
- package/packages/theme-grove/site/pages/contact.html +664 -0
- package/packages/theme-grove/site/pages/gallery.html +216 -0
- package/packages/theme-grove/site/pages/privacy.html +180 -0
- package/packages/theme-grove/site/pages/process.html +592 -0
- package/packages/theme-grove/site/pages/services.html +567 -0
- package/packages/theme-grove/site/pages/terms.html +189 -0
- package/packages/theme-grove/site/shared/footer.css +140 -0
- package/packages/theme-grove/site/shared/footer.html +41 -0
- package/packages/{theme-floors-site → theme-grove}/src/index.js +24 -35
- package/packages/theme-grove/src/node.js +69 -0
- package/packages/theme-grove/test/theme.test.mjs +47 -0
- package/packages/theme-harbor/README.md +11 -0
- package/packages/{theme-insurance-site → theme-harbor}/package.json +14 -11
- package/packages/theme-harbor/prebuild.json +23 -0
- package/packages/theme-harbor/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-harbor/site/assets/generated/media-manifest.json +17 -0
- package/packages/theme-harbor/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-harbor/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-harbor/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-harbor/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-harbor/site/assets/index-D58RKkr-.js +239 -0
- package/packages/theme-harbor/site/assets/index-Dd3YN9Mf.css +1 -0
- package/packages/theme-harbor/site/index.html +15 -0
- package/packages/theme-harbor/src/index.js +76 -0
- package/packages/theme-harbor/src/node.js +69 -0
- package/packages/theme-harbor/test/theme.test.mjs +47 -0
- package/packages/theme-resolve/README.md +11 -0
- package/packages/theme-resolve/package.json +44 -0
- package/packages/theme-resolve/prebuild.json +23 -0
- package/packages/theme-resolve/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-resolve/site/assets/generated/media-216610d365.webp +0 -0
- package/packages/theme-resolve/site/assets/generated/media-2a9e0f623f.webp +0 -0
- package/packages/theme-resolve/site/assets/generated/media-a70660bfa9.webp +0 -0
- package/packages/theme-resolve/site/assets/generated/media-bc1322e813.webp +0 -0
- package/packages/theme-resolve/site/assets/generated/media-ced60fcecc.webp +0 -0
- package/packages/theme-resolve/site/assets/generated/media-manifest.json +72 -0
- package/packages/theme-resolve/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-resolve/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-resolve/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-resolve/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-resolve/site/assets/index-BSaLpPG1.css +2 -0
- package/packages/theme-resolve/site/assets/index-D8au46Z5.js +17 -0
- package/packages/theme-resolve/site/index.html +22 -0
- package/packages/theme-resolve/src/index.js +69 -0
- package/packages/theme-resolve/src/node.js +69 -0
- package/packages/theme-resolve/test/theme.test.mjs +47 -0
- package/packages/theme-scenes/package.json +1 -1
- package/packages/theme-scenes/src/registry.js +32 -49
- package/packages/theme-summit/README.md +11 -0
- package/packages/{theme-shinshu-site → theme-summit}/package.json +14 -11
- package/packages/theme-summit/prebuild.json +23 -0
- package/packages/theme-summit/site/adventures.html +450 -0
- package/packages/theme-summit/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-summit/site/assets/generated/media-1e958ea679.webp +0 -0
- package/packages/theme-summit/site/assets/generated/media-9d4521abba.webp +0 -0
- package/packages/theme-summit/site/assets/generated/media-manifest.json +39 -0
- package/packages/theme-summit/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-summit/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-summit/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-summit/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-summit/site/business-card.html +315 -0
- package/packages/theme-summit/site/chatbot.js +312 -0
- package/packages/theme-summit/site/gallery.html +524 -0
- package/packages/theme-summit/site/i18n.js +947 -0
- package/packages/theme-summit/site/icons.svg +87 -0
- package/packages/theme-summit/site/index.html +2415 -0
- package/packages/theme-summit/site/pages/about.html +100 -0
- package/packages/theme-summit/site/pages/contact.html +117 -0
- package/packages/theme-summit/site/pages/dashboard.html +111 -0
- package/packages/theme-summit/site/pages/index.html +129 -0
- package/packages/theme-summit/site/pages/services.html +125 -0
- package/packages/theme-summit/site/shared/footer.html +41 -0
- package/packages/theme-summit/site/shared/layout.js +315 -0
- package/packages/theme-summit/site/shared/nav.html +19 -0
- package/packages/theme-summit/site/shared/styles.css +696 -0
- package/packages/theme-summit/site/theme-styles.css +131 -0
- package/packages/theme-summit/site/themes.js +442 -0
- package/packages/{theme-shinshu-site → theme-summit}/src/index.js +23 -35
- package/packages/theme-summit/src/node.js +69 -0
- package/packages/theme-summit/test/theme.test.mjs +47 -0
- package/packages/theme-violet/README.md +11 -0
- package/packages/{theme-companions-site → theme-violet}/package.json +14 -11
- package/packages/theme-violet/prebuild.json +23 -0
- package/packages/theme-violet/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-violet/site/assets/generated/media-07b46d6457.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-09d38ddffc.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-254b0e2ad3.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-3a1b5c0a8d.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-3a78eb7d9d.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-49076977d8.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-6342d50dbd.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-646c65381e.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-7a5fb7c91a.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-9bbd133220.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-9e73307c2a.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-af382146a0.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-b2ae348b43.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-b8f43a3887.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-c96a3e1979.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-cd07daa54a.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-e03ab6b5fe.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-eae4917d25.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-f227ec5690.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-fb57ffd474.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-manifest.json +245 -0
- package/packages/theme-violet/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-violet/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-violet/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-violet/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-violet/site/global/cpas-contact.css +405 -0
- package/packages/theme-violet/site/global/cpas-donate-v2.css +931 -0
- package/packages/theme-violet/site/global/cpas-drawer-override.css +1 -0
- package/packages/theme-violet/site/global/cpas-footer.html +38 -0
- package/packages/theme-violet/site/global/cpas-header.html +30 -0
- package/packages/theme-violet/site/global/cpas-hero-watercolor.css +275 -0
- package/packages/theme-violet/site/global/cpas-modals.js +802 -0
- package/packages/theme-violet/site/global/cpas-public-surface.css +982 -0
- package/packages/theme-violet/site/global/cpas-shell.css +3980 -0
- package/packages/theme-violet/site/global/cpas-shell.js +107 -0
- package/packages/theme-violet/site/global/cpas-shelter-hub.css +326 -0
- package/packages/theme-violet/site/index.html +141 -0
- package/packages/theme-violet/site/pages/about/campaigns.html +28 -0
- package/packages/theme-violet/site/pages/about/cta.html +25 -0
- package/packages/theme-violet/site/pages/about/hero.html +46 -0
- package/packages/theme-violet/site/pages/about/paths.html +24 -0
- package/packages/theme-violet/site/pages/about/why_we_exist.html +28 -0
- package/packages/theme-violet/site/pages/home/campaigns.html +67 -0
- package/packages/theme-violet/site/pages/home/hero.html +42 -0
- package/packages/theme-violet/site/pages/home/how-it-helps.html +32 -0
- package/packages/theme-violet/site/pages/home/impact-stats.html +31 -0
- package/packages/theme-violet/site/pages/home/mission.html +36 -0
- package/packages/theme-violet/site/pages/home/newsletter.html +29 -0
- package/packages/theme-violet/site/pages/home/transport-win.html +22 -0
- package/packages/theme-violet/site/pages/index.html +141 -0
- package/packages/theme-violet/src/index.js +76 -0
- package/packages/theme-violet/src/node.js +69 -0
- package/packages/theme-violet/test/theme.test.mjs +47 -0
- package/packages/work-graph/package.json +1 -1
- package/protocol/features/README.md +1 -1
- package/protocol/features/catalog.json +12 -12
- package/protocol/features/examples/provider-resend.feature.json +2 -2
- package/protocol/presets/catalog.json +1 -1
- package/protocol/theme-refinery/prebuild-registry.json +45 -0
- package/protocol/theme-refinery/product-metadata.schema.json +63 -26
- package/protocol/theme-refinery/receipts/prebuild-remaster-20261004.json +21 -0
- package/src/plugins/completeful.js +2 -2
- package/packages/theme-church-site/README.md +0 -10
- package/packages/theme-church-site/src/harvest.json +0 -16
- package/packages/theme-church-site/test/theme.test.mjs +0 -21
- package/packages/theme-companions-site/README.md +0 -10
- package/packages/theme-companions-site/src/harvest.json +0 -14
- package/packages/theme-companions-site/src/index.js +0 -87
- package/packages/theme-companions-site/test/theme.test.mjs +0 -21
- package/packages/theme-floors-site/README.md +0 -10
- package/packages/theme-floors-site/src/harvest.json +0 -16
- package/packages/theme-floors-site/test/theme.test.mjs +0 -21
- package/packages/theme-fuelnfree-site/README.md +0 -10
- package/packages/theme-fuelnfree-site/src/harvest.json +0 -15
- package/packages/theme-fuelnfree-site/test/theme.test.mjs +0 -21
- package/packages/theme-handyman-site/README.md +0 -10
- package/packages/theme-handyman-site/package.json +0 -41
- package/packages/theme-handyman-site/src/harvest.json +0 -12
- package/packages/theme-handyman-site/src/index.js +0 -88
- package/packages/theme-handyman-site/test/theme.test.mjs +0 -21
- package/packages/theme-insurance-site/README.md +0 -10
- package/packages/theme-insurance-site/src/harvest.json +0 -12
- package/packages/theme-insurance-site/src/index.js +0 -88
- package/packages/theme-insurance-site/test/theme.test.mjs +0 -21
- package/packages/theme-shinshu-site/README.md +0 -10
- package/packages/theme-shinshu-site/src/harvest.json +0 -14
- package/packages/theme-shinshu-site/test/theme.test.mjs +0 -21
- package/protocol/theme-refinery/lineage-registry.json +0 -105
- package/protocol/theme-refinery/receipts/products-registry-batch-20260924.json +0 -318
- package/protocol/theme-refinery/receipts/theme-harvest-20260924.json +0 -472
|
@@ -0,0 +1,603 @@
|
|
|
1
|
+
# ADR: AgentSam Brand and AgentSam Campaign Plugin Boundaries
|
|
2
|
+
|
|
3
|
+
**Status:** Accepted
|
|
4
|
+
**Decision type:** Product / architecture boundary
|
|
5
|
+
**Applies to:** `agentsam-sdk`, `agentsam-plugin-mcp`, AgentSam plugin packaging, Local Studio, ChatGPT distribution
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
AgentSam is evolving from a single collection of packages and tools into a host platform for installable domain plugins.
|
|
10
|
+
|
|
11
|
+
Two of the first major plugins are:
|
|
12
|
+
|
|
13
|
+
- **AgentSam Brand**
|
|
14
|
+
- **AgentSam Campaign**
|
|
15
|
+
|
|
16
|
+
Both operate on related business context, and both may use assets, content, products, analytics, commerce data, and external connections.
|
|
17
|
+
|
|
18
|
+
That overlap creates a risk of collapsing them into one large “marketing” product.
|
|
19
|
+
|
|
20
|
+
We explicitly reject that architecture.
|
|
21
|
+
|
|
22
|
+
Brand and Campaign solve different user problems and must remain independent, composable plugins.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Decision
|
|
27
|
+
|
|
28
|
+
## AgentSam Brand is the identity and creative-governance plugin
|
|
29
|
+
|
|
30
|
+
AgentSam Brand owns the question:
|
|
31
|
+
|
|
32
|
+
> **Who are we, and how should that identity be expressed?**
|
|
33
|
+
|
|
34
|
+
Its responsibility is to define, refine, extend, govern, and preserve a distinctive brand system.
|
|
35
|
+
|
|
36
|
+
Its domain includes:
|
|
37
|
+
|
|
38
|
+
- brand identity;
|
|
39
|
+
- positioning;
|
|
40
|
+
- principles;
|
|
41
|
+
- audience definition where part of brand strategy;
|
|
42
|
+
- differentiators;
|
|
43
|
+
- voice;
|
|
44
|
+
- terminology;
|
|
45
|
+
- visual language;
|
|
46
|
+
- logos and marks;
|
|
47
|
+
- typography;
|
|
48
|
+
- color systems;
|
|
49
|
+
- imagery;
|
|
50
|
+
- composition;
|
|
51
|
+
- brand asset roles;
|
|
52
|
+
- canonical assets;
|
|
53
|
+
- brand consistency;
|
|
54
|
+
- brand provenance;
|
|
55
|
+
- creative standards;
|
|
56
|
+
- approved variation;
|
|
57
|
+
- brand extensions;
|
|
58
|
+
- evaluation of whether new work belongs within the brand system.
|
|
59
|
+
|
|
60
|
+
AgentSam Brand may help create new expressions of a brand.
|
|
61
|
+
|
|
62
|
+
A campaign-specific visual direction, seasonal motif, editorial treatment, sub-brand treatment, collection identity, or other creative extension may originate through Brand when it needs to become an intentional part of the brand system.
|
|
63
|
+
|
|
64
|
+
Brand does not exist merely to constrain Campaign.
|
|
65
|
+
|
|
66
|
+
It is a complete product in its own right.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## AgentSam Campaign is the performance and campaign-intelligence plugin
|
|
71
|
+
|
|
72
|
+
AgentSam Campaign owns the question:
|
|
73
|
+
|
|
74
|
+
> **What should we do now to achieve a measurable objective?**
|
|
75
|
+
|
|
76
|
+
Its responsibility is to plan, evaluate, coordinate, measure, and improve performance-driven campaigns.
|
|
77
|
+
|
|
78
|
+
Its domain includes:
|
|
79
|
+
|
|
80
|
+
- campaign objectives;
|
|
81
|
+
- audience selection and segmentation;
|
|
82
|
+
- acquisition;
|
|
83
|
+
- retention;
|
|
84
|
+
- reactivation;
|
|
85
|
+
- launches;
|
|
86
|
+
- promotions;
|
|
87
|
+
- offers;
|
|
88
|
+
- SEO and search opportunity;
|
|
89
|
+
- organic promotion;
|
|
90
|
+
- paid promotion strategy;
|
|
91
|
+
- messaging;
|
|
92
|
+
- channel selection;
|
|
93
|
+
- merchandising strategy;
|
|
94
|
+
- campaign assortment recommendations;
|
|
95
|
+
- content requirements;
|
|
96
|
+
- creative requirements;
|
|
97
|
+
- campaign variants;
|
|
98
|
+
- experiments;
|
|
99
|
+
- conversion;
|
|
100
|
+
- traffic;
|
|
101
|
+
- campaign economics;
|
|
102
|
+
- inventory-aware campaign decisions;
|
|
103
|
+
- historical performance;
|
|
104
|
+
- attribution;
|
|
105
|
+
- measurement;
|
|
106
|
+
- post-campaign review;
|
|
107
|
+
- learning;
|
|
108
|
+
- optimization.
|
|
109
|
+
|
|
110
|
+
Campaign should answer questions such as:
|
|
111
|
+
|
|
112
|
+
> Which campaign should we run?
|
|
113
|
+
|
|
114
|
+
> Who should we target?
|
|
115
|
+
|
|
116
|
+
> What message is most likely to work?
|
|
117
|
+
|
|
118
|
+
> Should we offer a discount?
|
|
119
|
+
|
|
120
|
+
> Which channels make sense?
|
|
121
|
+
|
|
122
|
+
> What should we test?
|
|
123
|
+
|
|
124
|
+
> What did the campaign actually produce?
|
|
125
|
+
|
|
126
|
+
> What should we change next time?
|
|
127
|
+
|
|
128
|
+
AgentSam Campaign is not simply a copywriting or content-generation plugin.
|
|
129
|
+
|
|
130
|
+
Its defining characteristic is **performance-oriented decision making grounded in available evidence**.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
# Relationship between the plugins
|
|
135
|
+
|
|
136
|
+
The canonical relationship is:
|
|
137
|
+
|
|
138
|
+
```text
|
|
139
|
+
AgentSam Brand
|
|
140
|
+
│
|
|
141
|
+
│ BrandContract / approved identity system
|
|
142
|
+
▼
|
|
143
|
+
AgentSam Campaign
|
|
144
|
+
│
|
|
145
|
+
│ campaign objective + evidence
|
|
146
|
+
▼
|
|
147
|
+
performance strategy
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Brand answers:
|
|
151
|
+
|
|
152
|
+
```text
|
|
153
|
+
Who are we?
|
|
154
|
+
What makes us distinct?
|
|
155
|
+
How should we look?
|
|
156
|
+
How should we sound?
|
|
157
|
+
What is canonical?
|
|
158
|
+
What variation is legitimate?
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Campaign answers:
|
|
162
|
+
|
|
163
|
+
```text
|
|
164
|
+
What are we trying to achieve?
|
|
165
|
+
Who should we reach?
|
|
166
|
+
What should we say right now?
|
|
167
|
+
Where should we say it?
|
|
168
|
+
What should we promote?
|
|
169
|
+
What should we test?
|
|
170
|
+
What is likely to perform?
|
|
171
|
+
What happened?
|
|
172
|
+
What did we learn?
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Campaign may consume BrandContract as evidence and constraint.
|
|
176
|
+
|
|
177
|
+
Campaign must not silently redefine the canonical BrandContract.
|
|
178
|
+
|
|
179
|
+
If campaign work reveals a potentially valuable new brand expression, Campaign may propose a Brand extension or request Brand involvement.
|
|
180
|
+
|
|
181
|
+
Example:
|
|
182
|
+
|
|
183
|
+
```text
|
|
184
|
+
Campaign:
|
|
185
|
+
"We need a more energetic visual treatment for this seasonal launch."
|
|
186
|
+
|
|
187
|
+
↓
|
|
188
|
+
|
|
189
|
+
Brand:
|
|
190
|
+
"That treatment can be formalized as an approved seasonal extension."
|
|
191
|
+
|
|
192
|
+
↓
|
|
193
|
+
|
|
194
|
+
Campaign:
|
|
195
|
+
uses that approved extension
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
# Brand fit is not campaign performance
|
|
201
|
+
|
|
202
|
+
Campaign evaluation may include `brand_fit`, but Brand fit is only one dimension.
|
|
203
|
+
|
|
204
|
+
A campaign can be:
|
|
205
|
+
|
|
206
|
+
- perfectly on-brand but commercially weak;
|
|
207
|
+
- highly performant but damaging to brand identity;
|
|
208
|
+
- strong for acquisition but poor for retention;
|
|
209
|
+
- effective on one channel but ineffective on another.
|
|
210
|
+
|
|
211
|
+
Campaign therefore evaluates multiple dimensions.
|
|
212
|
+
|
|
213
|
+
Possible evaluation families include:
|
|
214
|
+
|
|
215
|
+
```text
|
|
216
|
+
objective_fit
|
|
217
|
+
brand_fit
|
|
218
|
+
audience_fit
|
|
219
|
+
message_fit
|
|
220
|
+
channel_fit
|
|
221
|
+
search_opportunity
|
|
222
|
+
offer_strength
|
|
223
|
+
conversion_evidence
|
|
224
|
+
historical_performance
|
|
225
|
+
inventory_fit
|
|
226
|
+
margin_fit
|
|
227
|
+
seasonality
|
|
228
|
+
creative_feasibility
|
|
229
|
+
execution_cost
|
|
230
|
+
evidence_quality
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
No single dimension is synonymous with campaign quality.
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
# Campaign may vary Brand without redefining Brand
|
|
238
|
+
|
|
239
|
+
Brand should establish the acceptable creative territory.
|
|
240
|
+
|
|
241
|
+
Campaign should be able to explore within that territory.
|
|
242
|
+
|
|
243
|
+
For example, one BrandContract may support:
|
|
244
|
+
|
|
245
|
+
```text
|
|
246
|
+
Acquisition campaign
|
|
247
|
+
- explicit product value
|
|
248
|
+
- strong CTA
|
|
249
|
+
- search-oriented copy
|
|
250
|
+
- utility-focused creative
|
|
251
|
+
|
|
252
|
+
Retention campaign
|
|
253
|
+
- insider language
|
|
254
|
+
- lower-pressure CTA
|
|
255
|
+
- collection storytelling
|
|
256
|
+
- customer familiarity
|
|
257
|
+
|
|
258
|
+
Seasonal campaign
|
|
259
|
+
- higher energy
|
|
260
|
+
- temporary visual motif
|
|
261
|
+
- urgency
|
|
262
|
+
- seasonal vocabulary
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
These may look significantly different while remaining legitimate expressions of the same brand.
|
|
266
|
+
|
|
267
|
+
Variation is not inconsistency when it is intentional and governed.
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
# Product creation is not owned by Campaign
|
|
272
|
+
|
|
273
|
+
Campaign may recommend:
|
|
274
|
+
|
|
275
|
+
- a bundle;
|
|
276
|
+
- a launch-exclusive assortment;
|
|
277
|
+
- a seasonal colorway;
|
|
278
|
+
- a promotional package;
|
|
279
|
+
- a collection;
|
|
280
|
+
- a product focus;
|
|
281
|
+
- a price test;
|
|
282
|
+
- an offer;
|
|
283
|
+
- a cross-sell;
|
|
284
|
+
- an upsell.
|
|
285
|
+
|
|
286
|
+
But Campaign does not become the canonical product creation or manufacturing engine.
|
|
287
|
+
|
|
288
|
+
Product creation, manufacturing readiness, variants, fulfillment, catalog mutation, and commerce operations belong to appropriate sibling capabilities such as:
|
|
289
|
+
|
|
290
|
+
```text
|
|
291
|
+
AgentSam Commerce
|
|
292
|
+
AgentSam Merch
|
|
293
|
+
AgentSam Content
|
|
294
|
+
provider-specific commerce adapters
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
Campaign expresses the commercial need.
|
|
298
|
+
|
|
299
|
+
The appropriate domain capability performs the operation.
|
|
300
|
+
|
|
301
|
+
Example:
|
|
302
|
+
|
|
303
|
+
```text
|
|
304
|
+
Campaign
|
|
305
|
+
"Create a three-product starter bundle
|
|
306
|
+
for first-time customers."
|
|
307
|
+
|
|
308
|
+
↓
|
|
309
|
+
|
|
310
|
+
Commerce / Merch
|
|
311
|
+
validates products
|
|
312
|
+
pricing
|
|
313
|
+
variants
|
|
314
|
+
inventory
|
|
315
|
+
production
|
|
316
|
+
provider capability
|
|
317
|
+
|
|
318
|
+
↓
|
|
319
|
+
|
|
320
|
+
Campaign
|
|
321
|
+
uses resulting product/offer
|
|
322
|
+
inside the campaign
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
# Content production is not owned by Campaign
|
|
328
|
+
|
|
329
|
+
Campaign may determine:
|
|
330
|
+
|
|
331
|
+
```text
|
|
332
|
+
We need:
|
|
333
|
+
- landing-page hero
|
|
334
|
+
- three product-detail images
|
|
335
|
+
- two short-form videos
|
|
336
|
+
- email hero
|
|
337
|
+
- paid-social variants
|
|
338
|
+
- SEO landing copy
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
Campaign owns the requirement.
|
|
342
|
+
|
|
343
|
+
Content Studio, Brand, asset tooling, media generation, or other appropriate capabilities produce or prepare the actual artifacts.
|
|
344
|
+
|
|
345
|
+
Campaign therefore coordinates output requirements without becoming a giant CMS or media editor.
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
# SEO belongs in Campaign as a performance discipline
|
|
350
|
+
|
|
351
|
+
SEO is not merely metadata.
|
|
352
|
+
|
|
353
|
+
Campaign may reason about:
|
|
354
|
+
|
|
355
|
+
- search intent;
|
|
356
|
+
- demand;
|
|
357
|
+
- organic acquisition;
|
|
358
|
+
- keyword/topic opportunity;
|
|
359
|
+
- landing-page strategy;
|
|
360
|
+
- product/category discoverability;
|
|
361
|
+
- content opportunity;
|
|
362
|
+
- query-to-offer fit;
|
|
363
|
+
- organic versus paid channel interaction;
|
|
364
|
+
- measurable search performance.
|
|
365
|
+
|
|
366
|
+
Content Studio may own the actual content and metadata operations.
|
|
367
|
+
|
|
368
|
+
Campaign owns the strategic question:
|
|
369
|
+
|
|
370
|
+
> **What search opportunity should we pursue, and how should it support this campaign objective?**
|
|
371
|
+
|
|
372
|
+
Campaign must never guarantee ranking outcomes.
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
# Shared evidence
|
|
377
|
+
|
|
378
|
+
Campaign may use:
|
|
379
|
+
|
|
380
|
+
```text
|
|
381
|
+
BrandContract
|
|
382
|
+
product catalog
|
|
383
|
+
inventory
|
|
384
|
+
COGS
|
|
385
|
+
retail price
|
|
386
|
+
orders
|
|
387
|
+
traffic
|
|
388
|
+
conversion
|
|
389
|
+
customer segments
|
|
390
|
+
content
|
|
391
|
+
media
|
|
392
|
+
campaign history
|
|
393
|
+
channel history
|
|
394
|
+
SEO/search data
|
|
395
|
+
seasonality
|
|
396
|
+
operational constraints
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
Not every installation will have every source.
|
|
400
|
+
|
|
401
|
+
Campaign must degrade gracefully.
|
|
402
|
+
|
|
403
|
+
More evidence increases confidence.
|
|
404
|
+
|
|
405
|
+
Missing evidence must reduce confidence rather than trigger fabricated assumptions.
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
# Plugin independence
|
|
410
|
+
|
|
411
|
+
Both Brand and Campaign are independently installable products.
|
|
412
|
+
|
|
413
|
+
```text
|
|
414
|
+
plugins/
|
|
415
|
+
agentsam-brand/
|
|
416
|
+
plugin.json
|
|
417
|
+
skills/
|
|
418
|
+
mcp.json
|
|
419
|
+
assets/
|
|
420
|
+
|
|
421
|
+
agentsam-campaign/
|
|
422
|
+
plugin.json
|
|
423
|
+
skills/
|
|
424
|
+
mcp.json
|
|
425
|
+
assets/
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
A user may install Brand without Campaign.
|
|
429
|
+
|
|
430
|
+
A user may install Campaign without Brand.
|
|
431
|
+
|
|
432
|
+
When Campaign has no Brand plugin or BrandContract available, it may still operate using supplied campaign context, but must clearly report the absence of canonical brand intelligence.
|
|
433
|
+
|
|
434
|
+
When both are installed, they should compose.
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
438
|
+
# Domain package independence
|
|
439
|
+
|
|
440
|
+
Plugin packaging must not swallow the underlying deterministic packages.
|
|
441
|
+
|
|
442
|
+
Example:
|
|
443
|
+
|
|
444
|
+
```text
|
|
445
|
+
@inneranimalmedia/agentsam-brand
|
|
446
|
+
↓
|
|
447
|
+
AgentSam Brand plugin
|
|
448
|
+
|
|
449
|
+
@inneranimalmedia/agentsam-campaign
|
|
450
|
+
↓
|
|
451
|
+
AgentSam Campaign plugin
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
The package is the reusable domain capability.
|
|
455
|
+
|
|
456
|
+
The plugin is the installable user-facing workflow and capability surface.
|
|
457
|
+
|
|
458
|
+
---
|
|
459
|
+
|
|
460
|
+
# Public MCP boundary
|
|
461
|
+
|
|
462
|
+
Both plugins may use `agentsam-plugin-mcp`.
|
|
463
|
+
|
|
464
|
+
They share infrastructure, not domain identity.
|
|
465
|
+
|
|
466
|
+
Conceptually:
|
|
467
|
+
|
|
468
|
+
```text
|
|
469
|
+
ChatGPT / Local Studio / MCP host
|
|
470
|
+
│
|
|
471
|
+
▼
|
|
472
|
+
agentsam-plugin-mcp
|
|
473
|
+
│
|
|
474
|
+
┌───────┴────────┐
|
|
475
|
+
▼ ▼
|
|
476
|
+
Brand module Campaign module
|
|
477
|
+
│ │
|
|
478
|
+
▼ ▼
|
|
479
|
+
agentsam-brand agentsam-campaign
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
Public MCP must remain allowlisted and least-privilege.
|
|
483
|
+
|
|
484
|
+
There must be no implicit bridge to the internal `inneranimalmedia-mcp-server`.
|
|
485
|
+
|
|
486
|
+
Shared code is acceptable.
|
|
487
|
+
|
|
488
|
+
Shared authority is not.
|
|
489
|
+
|
|
490
|
+
---
|
|
491
|
+
|
|
492
|
+
# Data authority
|
|
493
|
+
|
|
494
|
+
Brand is authoritative for canonical brand state.
|
|
495
|
+
|
|
496
|
+
Campaign is authoritative for campaign state.
|
|
497
|
+
|
|
498
|
+
Examples:
|
|
499
|
+
|
|
500
|
+
```text
|
|
501
|
+
BrandContract
|
|
502
|
+
brand decisions
|
|
503
|
+
canonical assets
|
|
504
|
+
approved extensions
|
|
505
|
+
→ Brand authority
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
```text
|
|
509
|
+
campaign briefs
|
|
510
|
+
campaign concepts
|
|
511
|
+
campaign plans
|
|
512
|
+
experiments
|
|
513
|
+
campaign outcomes
|
|
514
|
+
performance learnings
|
|
515
|
+
→ Campaign authority
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
Commerce systems remain authoritative for live products, inventory, orders, etc.
|
|
519
|
+
|
|
520
|
+
Analytics systems remain authoritative for observed performance facts.
|
|
521
|
+
|
|
522
|
+
Plugins may project or consume those facts without pretending to own them.
|
|
523
|
+
|
|
524
|
+
---
|
|
525
|
+
|
|
526
|
+
# Campaign learning loop
|
|
527
|
+
|
|
528
|
+
Campaign should form a durable closed loop:
|
|
529
|
+
|
|
530
|
+
```text
|
|
531
|
+
objective
|
|
532
|
+
↓
|
|
533
|
+
context
|
|
534
|
+
↓
|
|
535
|
+
hypothesis
|
|
536
|
+
↓
|
|
537
|
+
campaign concept
|
|
538
|
+
↓
|
|
539
|
+
campaign plan
|
|
540
|
+
↓
|
|
541
|
+
execution
|
|
542
|
+
↓
|
|
543
|
+
measurement
|
|
544
|
+
↓
|
|
545
|
+
evaluation
|
|
546
|
+
↓
|
|
547
|
+
learning
|
|
548
|
+
↓
|
|
549
|
+
future campaign
|
|
550
|
+
```
|
|
551
|
+
|
|
552
|
+
This loop is a defining product characteristic.
|
|
553
|
+
|
|
554
|
+
Campaign history should become progressively more useful as actual outcomes accumulate.
|
|
555
|
+
|
|
556
|
+
---
|
|
557
|
+
|
|
558
|
+
# Architectural invariants
|
|
559
|
+
|
|
560
|
+
1. AgentSam Brand and AgentSam Campaign are separate plugins.
|
|
561
|
+
|
|
562
|
+
2. Brand owns identity, creative system, brand standards, and brand extensions.
|
|
563
|
+
|
|
564
|
+
3. Campaign owns campaign strategy, performance, experimentation, measurement, and optimization.
|
|
565
|
+
|
|
566
|
+
4. Campaign may consume BrandContract but cannot silently rewrite it.
|
|
567
|
+
|
|
568
|
+
5. Campaign may recommend products, bundles, assortments, or creative needs but does not absorb Commerce, Merch, Content, or Brand engines.
|
|
569
|
+
|
|
570
|
+
6. Provider-specific APIs remain adapters beneath user-recognizable domain operations.
|
|
571
|
+
|
|
572
|
+
7. Campaign scores must expose evidence and should never become unexplained AI-generated numbers.
|
|
573
|
+
|
|
574
|
+
8. Missing evidence reduces confidence rather than creating invented facts.
|
|
575
|
+
|
|
576
|
+
9. Public MCP and internal InnerAnimalMedia MCP remain separate trust boundaries.
|
|
577
|
+
|
|
578
|
+
10. Plugin composition should replace monolithic plugin expansion.
|
|
579
|
+
|
|
580
|
+
---
|
|
581
|
+
|
|
582
|
+
# Decision summary
|
|
583
|
+
|
|
584
|
+
The product family should be understood as:
|
|
585
|
+
|
|
586
|
+
```text
|
|
587
|
+
AgentSam Brand
|
|
588
|
+
Distinctive identity.
|
|
589
|
+
|
|
590
|
+
AgentSam Campaign
|
|
591
|
+
Measured performance.
|
|
592
|
+
|
|
593
|
+
AgentSam Content
|
|
594
|
+
Content and media operations.
|
|
595
|
+
|
|
596
|
+
AgentSam Commerce / Merch
|
|
597
|
+
Products and commerce operations.
|
|
598
|
+
|
|
599
|
+
AgentSam
|
|
600
|
+
The host/runtime that allows them to cooperate.
|
|
601
|
+
```
|
|
602
|
+
|
|
603
|
+
This separation allows each plugin to become excellent at one coherent user problem while still combining into a much more capable system.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# ADR: CoPro Clean-Room Product Architecture
|
|
2
|
+
|
|
3
|
+
Status: Accepted
|
|
4
|
+
|
|
5
|
+
CoPro is a real visual creation product built from portable packages. MovieMode is donor evidence, not an upstream dependency.
|
|
6
|
+
|
|
7
|
+
A saved copro.project.v1 document contains creative intent and uses one integer microsecond timebase. Clips reference assetId. Renderer identity, storage-provider fields, provider IDs, credentials, machine lanes, PTYs, Workers, and VM topology are forbidden from the creative project model.
|
|
8
|
+
|
|
9
|
+
Editing is exposed through a polished GUI. Canonical mutations are implemented once as deterministic headless commands so drag, trim, split, keyboard shortcuts, touch gestures, AgentSam, undo, and redo all share the same semantics.
|
|
10
|
+
|
|
11
|
+
## Creator UI law
|
|
12
|
+
|
|
13
|
+
CoPro is not a command-line video editor.
|
|
14
|
+
|
|
15
|
+
Mobile is a first-class editing surface, not a reduced viewer. It must support preview, play/pause and seeking, horizontal timeline, selecting and dragging clips, visible trim handles, split/duplicate/delete, speed and volume tools, text/audio/captions/effects/templates, undo/redo, and export.
|
|
16
|
+
|
|
17
|
+
Desktop may expose more simultaneous panels, but ordinary edits cannot require a terminal.
|
|
18
|
+
|
|
19
|
+
## Infrastructure law
|
|
20
|
+
|
|
21
|
+
Creators see Import, Edit, Generate, Preview, Render, and Export. Runtime/provider selection happens underneath according to capabilities and policy.
|
|
22
|
+
|
|
23
|
+
## Package boundaries
|
|
24
|
+
|
|
25
|
+
copro-project owns persisted creative intent.
|
|
26
|
+
copro-editor owns deterministic mutation and history.
|
|
27
|
+
copro-timeline owns timeline math/projection.
|
|
28
|
+
copro-media owns portable media identity/provenance.
|
|
29
|
+
copro-render owns RenderPlan and backend selection.
|
|
30
|
+
copro-templates owns structured creative templates.
|
|
31
|
+
copro-provider-contracts owns provider-neutral capabilities.
|
|
32
|
+
copro-ui owns direct visual editing surfaces.
|
|
33
|
+
copro-proof owns cross-package acceptance proof.
|
|
34
|
+
agentsam-copro-studio composes the product.
|