@inneranimalmedia/agentsam-sdk 2.6.10 → 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/README.md +3 -0
- package/TRADEMARKS.md +22 -0
- package/apps/README.md +3 -0
- package/apps/cad-creator/LICENSE +21 -0
- package/apps/cad-creator/README.md +4 -1
- package/apps/cad-creator/shared/cad/package.json +1 -1
- package/apps/client-cms-editor/LICENSE +21 -0
- package/apps/client-cms-editor/README.md +3 -0
- 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-lock.json +43 -43
- package/apps/client-cms-editor/package.json +3 -3
- package/apps/client-cms-editor/reference/harvest/HARVEST_RECEIPT.json +1 -1
- package/apps/client-cms-editor/reference/harvest/README.md +1 -1
- package/apps/client-cms-editor/reference/harvest/plans/ARCHIVE-INTAKE.md +1 -1
- package/apps/client-cms-editor/reference/harvest/plans/HARVEST-INDEX.md +1 -1
- package/apps/client-cms-editor/reference/harvest/plans/INNERANIMALS-CONTENT-001.md +1 -1
- package/apps/client-cms-editor/reference/harvest/plans/TOOLING-LAB.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/MINI.md +4 -2
- package/docs/PRODUCT_LIFECYCLE.md +38 -38
- package/docs/REPO_FILE_MAP.txt +2 -3
- package/docs/SOURCE_ARCHITECTURE.md +1 -1
- 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 +140 -0
- package/docs/content-studio/HOST_MOUNT_CHECKLIST.md +1 -1
- package/docs/content-studio/REVISION_GATE_2026-09-27.md +4 -4
- package/docs/contracts/google-cloud-oauth-setup.md +1 -1
- package/docs/engineering/go-portability/01-product-project-deployment-authority.md +69 -0
- package/docs/engineering/provider-internal-renames/01-lane-initialization.md +20 -0
- package/docs/engineering/provider-internal-renames/01a-runtime-environment-contract.md +115 -0
- package/docs/engineering/provider-internal-renames/02-cfoa.md +57 -0
- package/docs/engineering/provider-internal-renames/03-gclioa.md +32 -0
- package/docs/engineering/provider-internal-renames/04-goaude.md +50 -0
- package/docs/engineering/provider-internal-renames/05-gdrv.md +33 -0
- package/docs/engineering/provider-internal-renames/06-verification.md +103 -0
- package/docs/engineering/provider-internal-renames/README.md +77 -0
- package/docs/engineering/provider-internal-renames/runtime-environment-contract.json +220 -0
- package/docs/engineering/test-diagnostics/go-cli-test-hang-20261003.md +49 -0
- package/docs/engineering/test-diagnostics/go-skip-deploy-docker-fix.md +90 -0
- package/docs/knowledge-service-verification.md +3 -3
- package/docs/local-studio/WORKMODE_DONOR_NOTES.md +3 -3
- package/docs/plans/AGENTSAM-SUSPEND-QUEUE-KNOWLEDGE-RDP-2026-10-03.md +870 -0
- package/docs/plans/ASTRA-BRIEF-2026-09-18.md +1 -1
- package/docs/plans/LOCAL-STUDIO-GRADUATION-2026-09-26.md +9 -9
- 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 +12 -12
- package/docs/plans/NEXT-AGENT-HANDOFF.md +2 -2
- package/docs/plans/RECONCILIATION-2026-09-19.md +6 -6
- package/docs/plans/SAM_WORK_PROTOCOL.md +667 -0
- package/docs/plans/TOMORROW-EXTENSIVE-TODO-2026-09-26.md +70 -70
- package/docs/plans/TOMORROW-MACHINE-FIRST-BRIEFING.md +1 -1
- package/docs/plans/UNIVERSAL-INGEST-MACHINE-FIRST-2026-09-24.md +4 -4
- 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/examples/hyperspace-demo/src/main.tsx +227 -110
- package/migrations/d1/0020_agentsam_receipt_catalog.sql +35 -0
- package/migrations/runtime/0006_agent_run_suspend_activity.sql +53 -0
- package/migrations/runtime/0007_queue_control.sql +40 -0
- package/migrations/runtime/0008_agent_run_dependencies.sql +24 -0
- package/migrations/runtime/0008_analytics_legacy_bootstrap.sql +43 -0
- package/migrations/runtime/0009_analytics_authority.sql +108 -0
- package/native/agentsam-machine/core/src/lib.rs +2 -2
- package/package.json +78 -43
- package/packages/agentsam-brand/README.md +3 -0
- package/packages/agentsam-brand/package.json +4 -3
- package/packages/agentsam-brand/src/public.js +192 -0
- package/packages/agentsam-contracts/README.md +1 -1
- package/packages/agentsam-contracts/dist/adapter.d.ts +22 -0
- package/packages/agentsam-contracts/dist/adapter.js +0 -0
- package/packages/agentsam-contracts/dist/agent.d.ts +66 -0
- package/packages/agentsam-contracts/dist/agent.js +15 -0
- package/packages/agentsam-contracts/dist/artifacts.d.ts +70 -0
- package/packages/agentsam-contracts/dist/artifacts.js +0 -0
- package/packages/agentsam-contracts/dist/authority.d.ts +21 -0
- package/packages/agentsam-contracts/dist/authority.js +0 -0
- package/packages/agentsam-contracts/dist/context.d.ts +14 -0
- package/packages/agentsam-contracts/dist/context.js +0 -0
- package/packages/agentsam-contracts/dist/errors.d.ts +121 -0
- package/packages/agentsam-contracts/dist/errors.js +5 -0
- package/packages/agentsam-contracts/dist/events.d.ts +53 -0
- package/packages/agentsam-contracts/dist/events.js +0 -0
- package/packages/agentsam-contracts/dist/execution.d.ts +38 -0
- package/packages/agentsam-contracts/dist/execution.js +0 -0
- package/packages/agentsam-contracts/dist/hooks.d.ts +31 -0
- package/packages/agentsam-contracts/dist/hooks.js +0 -0
- package/packages/agentsam-contracts/dist/identity.d.ts +15 -0
- package/packages/agentsam-contracts/dist/identity.js +0 -0
- package/packages/agentsam-contracts/dist/index.d.ts +16 -0
- package/packages/agentsam-contracts/dist/index.js +164 -0
- package/packages/agentsam-contracts/dist/models.d.ts +9 -0
- package/packages/agentsam-contracts/dist/models.js +0 -0
- package/packages/agentsam-contracts/dist/providers.d.ts +27 -0
- package/packages/agentsam-contracts/dist/providers.js +0 -0
- package/packages/agentsam-contracts/dist/repository.d.ts +56 -0
- package/packages/agentsam-contracts/dist/repository.js +15 -0
- package/packages/agentsam-contracts/dist/run.d.ts +113 -0
- package/packages/agentsam-contracts/dist/run.js +132 -0
- package/packages/agentsam-contracts/dist/tools.d.ts +82 -0
- package/packages/agentsam-contracts/dist/tools.js +0 -0
- package/packages/agentsam-contracts/dist/widgets.d.ts +38 -0
- package/packages/agentsam-contracts/dist/widgets.js +0 -0
- package/packages/agentsam-contracts/package.json +9 -1
- package/packages/agentsam-contracts/scripts/build.mjs +1 -1
- package/packages/agentsam-contracts/src/agent.ts +78 -3
- package/packages/agentsam-contracts/src/index.ts +2 -0
- package/packages/agentsam-contracts/src/run.ts +320 -0
- package/packages/agentsam-contracts/src/widgets.ts +58 -0
- package/packages/agentsam-contracts/test/contracts.test.mjs +1 -1
- package/packages/agentsam-contracts/test/run-contract.test.mjs +94 -0
- package/packages/agentsam-errors/package.json +1 -1
- package/packages/agentsam-goap/README.md +3 -0
- package/packages/agentsam-goap/package.json +2 -2
- package/packages/agentsam-hooks/package.json +2 -2
- package/packages/agentsam-hooks/src/adapters/agents.js +48 -22
- package/packages/agentsam-hooks/src/index.d.ts +16 -0
- package/packages/agentsam-knowledge/package.json +1 -1
- package/packages/agentsam-knowledge/src/backends/index.js +1 -1
- package/packages/agentsam-merch/README.md +62 -0
- package/packages/agentsam-merch/bin/agentsam-merch.mjs +16 -0
- package/packages/agentsam-merch/package.json +65 -0
- package/packages/agentsam-merch/profiles/completeful/dtg-back-large.json +42 -0
- package/packages/agentsam-merch/profiles/completeful/laser-engraving.json +39 -0
- package/packages/agentsam-merch/profiles/generic/embroidery-digitization.json +22 -0
- package/packages/agentsam-merch/schemas/collection-candidate.schema.json +66 -0
- package/packages/agentsam-merch/schemas/manufacturing-profile.schema.json +221 -0
- package/packages/agentsam-merch/src/adapters-completeful.js +50 -0
- package/packages/agentsam-merch/src/cli.js +93 -0
- package/packages/agentsam-merch/src/collection-lab.js +60 -0
- package/packages/agentsam-merch/src/compatibility.js +501 -0
- package/packages/agentsam-merch/src/derivatives.js +112 -0
- package/packages/agentsam-merch/src/index.d.ts +316 -0
- package/packages/agentsam-merch/src/index.js +46 -0
- package/packages/agentsam-merch/src/node/index.d.ts +58 -0
- package/packages/agentsam-merch/src/node/index.js +6 -0
- package/packages/agentsam-merch/src/node/raster.js +142 -0
- package/packages/agentsam-merch/src/node/vector.js +239 -0
- package/packages/agentsam-merch/src/product-concepts.js +118 -0
- package/packages/agentsam-merch/src/profile-registry.js +104 -0
- package/packages/agentsam-merch/src/profile.js +158 -0
- package/packages/agentsam-merch/src/transforms.js +215 -0
- package/packages/agentsam-merch/test/merch.test.mjs +332 -0
- package/packages/agentsam-merch/test/node-transforms.test.mjs +149 -0
- package/packages/agentsam-nav/package.json +1 -1
- package/packages/agentsam-queue-control/README.md +4 -1
- package/packages/agentsam-queue-control/package.json +4 -3
- package/packages/agentsam-queue-control/schemas/job-envelope.schema.json +111 -11
- package/packages/agentsam-queue-control/src/adapters/cloudflare.js +34 -6
- package/packages/agentsam-queue-control/src/adapters/memory.js +11 -2
- package/packages/agentsam-queue-control/src/adapters/sqlite.js +259 -0
- package/packages/agentsam-queue-control/src/contracts.js +207 -3
- package/packages/agentsam-queue-control/src/control-plane.js +62 -2
- package/packages/agentsam-queue-control/src/index.js +1 -0
- package/packages/agentsam-queue-control/test/queue-control.test.mjs +310 -0
- package/packages/agentsam-queue-control/test/sqlite-adapter.test.mjs +91 -0
- package/packages/agentsam-rapid-rust/README.md +3 -0
- package/packages/agentsam-repository/README.md +3 -0
- package/packages/agentsam-repository/package.json +1 -1
- package/packages/agentsam-vault/package.json +1 -1
- package/packages/agentsam-workbench/README.md +43 -0
- package/packages/agentsam-workbench/package.json +15 -4
- package/packages/agentsam-workbench/src/agent/AgentConversationSurface.tsx +108 -0
- package/packages/agentsam-workbench/src/agent/AgentPanel.tsx +25 -8
- package/packages/agentsam-workbench/src/agent/AgentRuntimeField.tsx +152 -0
- package/packages/agentsam-workbench/src/agent/Composer.tsx +10 -1
- package/packages/agentsam-workbench/src/agent/MiniAgentSam.tsx +28 -4
- package/packages/agentsam-workbench/src/agent/RunMode.ts +26 -0
- package/packages/agentsam-workbench/src/agent/Thread.tsx +18 -3
- package/packages/agentsam-workbench/src/agent/contextual-composer.css +72 -70
- package/packages/agentsam-workbench/src/agent/index.ts +3 -0
- package/packages/agentsam-workbench/src/agent/mini-agentsam.css +228 -10
- package/packages/agentsam-workbench/src/index.ts +4 -0
- package/packages/agentsam-workbench/src/manufacturing/PreflightIndicator.tsx +203 -0
- package/packages/agentsam-workbench/src/manufacturing/index.ts +2 -0
- package/packages/agentsam-workbench/src/manufacturing/loading.ts +147 -0
- package/packages/agentsam-workbench/src/widgets/BuiltinWidget.tsx +22 -0
- package/packages/agentsam-workbench/src/widgets/CountdownWidget.tsx +68 -0
- package/packages/agentsam-workbench/src/widgets/WidgetFrame.tsx +56 -0
- package/packages/agentsam-workbench/src/widgets/countdown.ts +25 -0
- package/packages/agentsam-workbench/src/widgets/index.ts +6 -0
- package/packages/agentsam-workbench/src/widgets/registry.ts +13 -0
- package/packages/agentsam-workbench/src/widgets/useCountdown.ts +128 -0
- package/packages/agentsam-workbench/src/widgets/widgets.css +102 -0
- package/packages/connectors/{cloudflare → cfoa}/package.json +3 -3
- package/packages/heuristic-theme/package.json +1 -1
- package/packages/identity/README.md +3 -0
- package/packages/identity/backend/README.md +3 -0
- package/packages/identity/package.json +1 -1
- package/packages/identity/src/frontend/auth-portal/README.md +3 -0
- 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/src/index.js +1 -1
- package/packages/identity/src/oauth/README.md +4 -1
- package/packages/identity/src/oauth/credentials.js +1 -1
- package/packages/identity/src/server/worker-router.js +1 -1
- package/packages/identity/tests/chatgpt-provider.test.mjs +3 -3
- package/packages/identity/tests/google-desktop-identity-login.test.mjs +1 -1
- package/packages/identity/tests/lane1-packed-consumer.test.mjs +1 -1
- package/packages/identity/tests/oauth-consent-view.test.mjs +11 -11
- package/packages/identity/tests/oauth-presets-accounts-ssot.test.mjs +1 -1
- 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/models/README.md +3 -0
- package/protocol/presets/catalog.json +1 -1
- package/protocol/receipts/agentsam.receipt.v1.json +95 -0
- 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/skills/README.md +3 -0
- package/src/acp/agent-executor.js +106 -0
- package/src/acp/client.js +316 -0
- package/src/acp/dependencies.js +426 -0
- package/src/acp/http.js +207 -0
- package/src/acp/index.js +22 -0
- package/src/acp/runs.js +125 -0
- package/src/acp/runtime-selection.js +180 -0
- package/src/cli/command-catalog.js +3 -0
- package/src/cli.js +24 -0
- package/src/commands/cloudflare-login.js +1 -1
- package/src/commands/cloudflare.js +2 -2
- package/src/commands/connections.js +1 -1
- package/src/commands/go.js +76 -6
- package/src/commands/merch.js +5 -0
- package/src/commands/mini.js +1 -1
- package/src/commands/receipts.js +140 -0
- package/src/commands/run.js +253 -0
- package/src/go/container.js +1 -1
- package/src/go/contract.js +61 -18
- package/src/go/discover.js +0 -4
- package/src/go/index.js +13 -1
- package/src/go/probe.js +109 -0
- package/src/go/{cloudflare.js → providers/cloudflare.js} +36 -136
- package/src/go/verify.js +1 -1
- package/src/indexing/ingest/inventory.js +1 -1
- package/src/lib/deploy/local-studio.js +2 -2
- package/src/lib/mini/scaffold.js +1 -1
- package/src/lib/whoami-capabilities.js +1 -1
- package/src/local/runtime-store.js +8 -0
- package/src/mcp/cloudflare-bundles.js +1 -1
- package/src/plugins/completeful.js +2 -2
- package/src/plugins/index.js +1 -0
- package/src/plugins/registry.js +59 -6
- package/src/receipts/contract.js +68 -0
- package/src/receipts/index.js +20 -0
- package/src/receipts/prune.js +64 -0
- package/src/receipts/sinks.js +285 -0
- package/templates/mini/gadget/app.js +15 -40
- package/templates/mini/gadget/index.html +7 -7
- package/templates/mini/shared/style.css +1 -1
- 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
- /package/packages/connectors/{cloudflare → cfoa}/OAUTH_STORAGE_AUDIT.md +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/api-client.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/capabilities.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/credential.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/brand-protection.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/keyless.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/pages.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/scanner.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/snippets.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/tag-gateway.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/tags.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/token-validation.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/vectorize.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/workflows.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/index.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/oauth-persist.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/owner.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/permission-options.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/routes.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/scope-catalog.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/vault.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/tests/capabilities.test.mjs +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/tests/connector.test.mjs +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/tests/oauth-persist.test.mjs +0 -0
- /package/packages/identity/src/oauth/{google-desktop-exchange.js → goaude.js} +0 -0
|
@@ -0,0 +1,667 @@
|
|
|
1
|
+
# SAM Work Protocol proposal
|
|
2
|
+
|
|
3
|
+
**Status:** proposal; no runtime or package split is authorized by this document
|
|
4
|
+
**Protocol family:** `agentsam.work.v1`
|
|
5
|
+
**Product language:** Task, Steps, Parallel work, Review, Evidence, Feedback, Revision, Approval, Result
|
|
6
|
+
|
|
7
|
+
## Decision summary
|
|
8
|
+
|
|
9
|
+
SAM Work Protocol is **not a new agent framework**. It is a provider-neutral contract layer over the WorkGraph, GOAP, runtime, queue, scoring, receipt, and error machinery already owned by AgentSam.
|
|
10
|
+
|
|
11
|
+
A model response is not the unit of work. The unit of work is a typed task with explicit inputs, outputs, evidence, acceptance criteria, and feedback. Models, tools, subprocesses, automated validators, and people are participants in completing that task.
|
|
12
|
+
|
|
13
|
+
Decomposition is execution structure, not user complexity. A user describes the result they want; SAM may sequence, parallelize, reduce, review, or revise internally while presenting ordinary progress language.
|
|
14
|
+
|
|
15
|
+
Feedback is evidence about a run. It does not automatically rewrite prompts, skills, routing, presets, policies, or memory.
|
|
16
|
+
|
|
17
|
+
## Scope and boundaries
|
|
18
|
+
|
|
19
|
+
This proposal defines a shared vocabulary and versioned wire contracts. It does not:
|
|
20
|
+
|
|
21
|
+
- replace `@inneranimalmedia/agentsam-work-graph`, GOAP, queues, or runtime scheduling;
|
|
22
|
+
- expose model-vendor or research-framework terminology in durable APIs;
|
|
23
|
+
- make hidden reasoning or full model transcripts part of the contract;
|
|
24
|
+
- create one package for every execution strategy;
|
|
25
|
+
- treat model review as proof;
|
|
26
|
+
- permit an unbounded review/revision loop;
|
|
27
|
+
- infer legal conclusions from brand-policy findings;
|
|
28
|
+
- promote feedback into learned behavior without evaluation and human approval.
|
|
29
|
+
|
|
30
|
+
## Conceptual flow
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
User intent
|
|
34
|
+
|
|
|
35
|
+
v
|
|
36
|
+
Typed task contract
|
|
37
|
+
|
|
|
38
|
+
v
|
|
39
|
+
Work decomposition
|
|
40
|
+
|
|
|
41
|
+
+---- Steps -------------------+
|
|
42
|
+
| |
|
|
43
|
+
+---- Parallel work ----+ |
|
|
44
|
+
| v v
|
|
45
|
+
| Outputs Output
|
|
46
|
+
| | |
|
|
47
|
+
| +--+---+
|
|
48
|
+
| v
|
|
49
|
+
| Reduce
|
|
50
|
+
| |
|
|
51
|
+
v v
|
|
52
|
+
Evidence ------------------> Review
|
|
53
|
+
|
|
|
54
|
+
+-----+-----+
|
|
55
|
+
v v
|
|
56
|
+
Accept Revise
|
|
57
|
+
|
|
|
58
|
+
+-- bounded loop
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
The public execution vocabulary has five composable strategies:
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
type SamNodeStrategy =
|
|
65
|
+
| "execute"
|
|
66
|
+
| "sequence"
|
|
67
|
+
| "fanout"
|
|
68
|
+
| "reduce"
|
|
69
|
+
| "review";
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
- **execute** performs one bounded unit of work.
|
|
73
|
+
- **sequence** orders work when a later step consumes an earlier output.
|
|
74
|
+
- **fanout** permits independent work to run concurrently.
|
|
75
|
+
- **reduce** combines typed outputs and preserves unresolved conflicts.
|
|
76
|
+
- **review** evaluates an artifact against explicit acceptance criteria.
|
|
77
|
+
|
|
78
|
+
A graph is composition of these primitives, not a sixth reasoning metaphor.
|
|
79
|
+
|
|
80
|
+
## Normative laws
|
|
81
|
+
|
|
82
|
+
1. **Contracts before prompts.** A task is canonical; provider requests are compiled representations.
|
|
83
|
+
2. **Typed boundaries.** Every node states what it consumes, produces, and what can prove success.
|
|
84
|
+
3. **Least context.** A node receives only required bindings, not the complete prior transcript by default.
|
|
85
|
+
4. **Trust is explicit.** Context carries provenance and trust; instructions found inside untrusted context are data, not authority.
|
|
86
|
+
5. **Evidence and opinion differ.** A review may recommend, evidence may prove, and acceptance decides.
|
|
87
|
+
6. **Hard gates stay hard.** A weighted score cannot override a failed required criterion.
|
|
88
|
+
7. **Revision is bounded.** Every loop has limits, budgets, and an explicit stop reason.
|
|
89
|
+
8. **Disagreement is retained.** A reducer may not silently erase conflicting outputs or evidence.
|
|
90
|
+
9. **Receipts describe reality.** A receipt records what ran, what was observed, and why execution stopped.
|
|
91
|
+
10. **Learning requires promotion.** Run feedback enters a ledger; evaluated, approved changes alter durable behavior.
|
|
92
|
+
|
|
93
|
+
## Contract family
|
|
94
|
+
|
|
95
|
+
The initial family should use independently versioned schemas:
|
|
96
|
+
|
|
97
|
+
| Schema | Responsibility |
|
|
98
|
+
|---|---|
|
|
99
|
+
| `agentsam.task.v1` | user objective, context, constraints, output, acceptance, execution policy |
|
|
100
|
+
| `agentsam.prompt.v1` | provider-neutral prompt compilation input |
|
|
101
|
+
| `agentsam.workgraph.v1` | typed nodes, dependencies, bindings, and strategies |
|
|
102
|
+
| `agentsam.feedback.v1` | verdicts and structured findings |
|
|
103
|
+
| `agentsam.evidence.v1` | observations and proof references |
|
|
104
|
+
| `agentsam.rubric.v1` | reusable evaluation criteria |
|
|
105
|
+
| `agentsam.run-state.v1` | durable execution state and budgets |
|
|
106
|
+
| `agentsam.receipt.v1` | immutable closeout summary |
|
|
107
|
+
| `agentsam.skill.v1` | one reusable capability contract |
|
|
108
|
+
| `agentsam.cookbook.v1` | declarative composition of skills |
|
|
109
|
+
|
|
110
|
+
`agentsam.work.v1` names the protocol family; it should not become a vague envelope that duplicates all member schemas.
|
|
111
|
+
|
|
112
|
+
## Task contract
|
|
113
|
+
|
|
114
|
+
```ts
|
|
115
|
+
interface SamTaskV1 {
|
|
116
|
+
schema: "agentsam.task.v1";
|
|
117
|
+
id: string;
|
|
118
|
+
objective: string;
|
|
119
|
+
context?: SamContextRef[];
|
|
120
|
+
instructions?: string[];
|
|
121
|
+
constraints?: SamConstraint[];
|
|
122
|
+
expectedOutput?: SamOutputContract;
|
|
123
|
+
acceptance?: SamAcceptanceContract;
|
|
124
|
+
execution?: {
|
|
125
|
+
strategy: "single" | "sequence" | "fanout" | "map_reduce" | "graph";
|
|
126
|
+
budget?: SamWorkBudget;
|
|
127
|
+
};
|
|
128
|
+
feedback?: SamFeedbackPolicy;
|
|
129
|
+
metadata?: Record<string, JsonValue>;
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
The contract stores intent. It must not store provider-specific message arrays as its authoritative form.
|
|
134
|
+
|
|
135
|
+
## Context and prompt compilation
|
|
136
|
+
|
|
137
|
+
```ts
|
|
138
|
+
interface SamContextRef {
|
|
139
|
+
id: string;
|
|
140
|
+
kind: "user" | "file" | "tool" | "web" | "memory" | "system";
|
|
141
|
+
trust: "trusted" | "user_supplied" | "external" | "untrusted";
|
|
142
|
+
contentRef: string;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
interface SamPromptSpecV1 {
|
|
146
|
+
schema: "agentsam.prompt.v1";
|
|
147
|
+
objective: string;
|
|
148
|
+
persona?: string;
|
|
149
|
+
instructions?: string[];
|
|
150
|
+
constraints?: string[];
|
|
151
|
+
context?: SamContextRef[];
|
|
152
|
+
examples?: SamExampleRef[];
|
|
153
|
+
output?: SamOutputContract;
|
|
154
|
+
recap?: string[];
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Compilation flow:
|
|
159
|
+
|
|
160
|
+
```text
|
|
161
|
+
SamTask + selected node + explicit bindings
|
|
162
|
+
-> PromptSpec
|
|
163
|
+
-> trust-aware PromptCompiler
|
|
164
|
+
-> provider/model request
|
|
165
|
+
-> validated typed output
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
A compiler must isolate external material, label its provenance, and prohibit instructions embedded in that material from overriding task or system authority. Raw prompts may be retained for controlled diagnostics only; they are not the portable API.
|
|
169
|
+
|
|
170
|
+
## Typed work nodes
|
|
171
|
+
|
|
172
|
+
```ts
|
|
173
|
+
interface SamWorkNodeV1 {
|
|
174
|
+
id: string;
|
|
175
|
+
strategy: SamNodeStrategy;
|
|
176
|
+
kind:
|
|
177
|
+
| "analysis"
|
|
178
|
+
| "research"
|
|
179
|
+
| "code"
|
|
180
|
+
| "transform"
|
|
181
|
+
| "tool"
|
|
182
|
+
| "test"
|
|
183
|
+
| "review"
|
|
184
|
+
| "approval"
|
|
185
|
+
| "aggregate";
|
|
186
|
+
objective: string;
|
|
187
|
+
inputs: SamInputBinding[];
|
|
188
|
+
output: SamOutputContract;
|
|
189
|
+
acceptance?: SamAcceptanceContract;
|
|
190
|
+
dependsOn?: string[];
|
|
191
|
+
execution?: SamExecutionPolicy;
|
|
192
|
+
feedback?: SamFeedbackPolicy;
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Input bindings should point to task fields, artifacts, evidence, or named outputs. They should not imply that all prior conversation is inherited.
|
|
197
|
+
|
|
198
|
+
Fanout adds concurrency and failure semantics:
|
|
199
|
+
|
|
200
|
+
```ts
|
|
201
|
+
interface SamFanoutPolicy {
|
|
202
|
+
concurrency?: number;
|
|
203
|
+
failurePolicy?: "fail_fast" | "collect_all" | "minimum_success";
|
|
204
|
+
minimumSuccess?: number;
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Reduce adds explicit conflict handling:
|
|
209
|
+
|
|
210
|
+
```ts
|
|
211
|
+
interface SamReducePolicy {
|
|
212
|
+
conflictPolicy: "surface" | "prefer_evidence" | "request_review";
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
`prefer_evidence` means prefer the claim with stronger admissible evidence, not the claim repeated by more workers.
|
|
217
|
+
|
|
218
|
+
## Feedback protocol
|
|
219
|
+
|
|
220
|
+
Feedback has four sources:
|
|
221
|
+
|
|
222
|
+
- **human** — operator reaction, annotation, correction, or approval;
|
|
223
|
+
- **machine** — tests, schemas, builds, probes, policies, and metrics;
|
|
224
|
+
- **review** — an agent's judgment against a named rubric;
|
|
225
|
+
- **outcome** — observed behavior after delivery or use.
|
|
226
|
+
|
|
227
|
+
```ts
|
|
228
|
+
interface SamFeedbackV1 {
|
|
229
|
+
schema: "agentsam.feedback.v1";
|
|
230
|
+
id: string;
|
|
231
|
+
subject: {
|
|
232
|
+
type: "run" | "node" | "artifact" | "output" | "decision";
|
|
233
|
+
id: string;
|
|
234
|
+
};
|
|
235
|
+
source: "human" | "machine" | "review" | "outcome";
|
|
236
|
+
verdict: "pass" | "pass_with_notes" | "revise" | "fail" | "unknown";
|
|
237
|
+
findings: SamFinding[];
|
|
238
|
+
evidence?: SamEvidenceRef[];
|
|
239
|
+
scores?: SamScore[];
|
|
240
|
+
recommendedActions?: SamActionSuggestion[];
|
|
241
|
+
createdAt: string;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
interface SamFinding {
|
|
245
|
+
id: string;
|
|
246
|
+
severity: "info" | "warning" | "error" | "critical";
|
|
247
|
+
category: string;
|
|
248
|
+
message: string;
|
|
249
|
+
location?: SamLocation;
|
|
250
|
+
evidence?: SamEvidenceRef[];
|
|
251
|
+
confidence?: number;
|
|
252
|
+
}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Finding categories should be dotted, stable identifiers such as `test.failure`, `schema.invalid`, `requirement.missing`, `performance.regression`, `ui.accessibility`, `brand.naming`, or `license.risk`. Runtime errors continue to use `@inneranimalmedia/agentsam-errors`; findings reference applicable error codes rather than creating a competing error ontology.
|
|
256
|
+
|
|
257
|
+
## Evidence and acceptance
|
|
258
|
+
|
|
259
|
+
```ts
|
|
260
|
+
interface SamEvidenceV1 {
|
|
261
|
+
schema: "agentsam.evidence.v1";
|
|
262
|
+
id: string;
|
|
263
|
+
kind:
|
|
264
|
+
| "test"
|
|
265
|
+
| "command"
|
|
266
|
+
| "file"
|
|
267
|
+
| "diff"
|
|
268
|
+
| "screenshot"
|
|
269
|
+
| "metric"
|
|
270
|
+
| "http"
|
|
271
|
+
| "user_confirmation";
|
|
272
|
+
status?: "pass" | "fail" | "unknown";
|
|
273
|
+
summary: string;
|
|
274
|
+
ref?: string;
|
|
275
|
+
data?: JsonValue;
|
|
276
|
+
producedAt: string;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
interface SamAcceptanceCriterion {
|
|
280
|
+
id: string;
|
|
281
|
+
description: string;
|
|
282
|
+
evaluator:
|
|
283
|
+
| { type: "command"; commandRef: string }
|
|
284
|
+
| { type: "schema"; schemaRef: string }
|
|
285
|
+
| { type: "review"; rubricRef: string }
|
|
286
|
+
| { type: "human" };
|
|
287
|
+
required: boolean;
|
|
288
|
+
weight?: number;
|
|
289
|
+
}
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
Acceptance evaluation order:
|
|
293
|
+
|
|
294
|
+
1. evaluate required criteria;
|
|
295
|
+
2. mark any failed or unevaluated required criterion as blocking according to policy;
|
|
296
|
+
3. calculate advisory score if weights exist;
|
|
297
|
+
4. report both score and gate status;
|
|
298
|
+
5. accept only when every hard gate satisfies its contract.
|
|
299
|
+
|
|
300
|
+
A review statement is not automatically evidence. A machine result should include a command/schema/probe identity, bounded output, status, and artifact reference where available.
|
|
301
|
+
|
|
302
|
+
## Bounded revision
|
|
303
|
+
|
|
304
|
+
```ts
|
|
305
|
+
interface SamFeedbackPolicy {
|
|
306
|
+
reviewers?: SamReviewerPolicy[];
|
|
307
|
+
reviseOn?: Array<"warning" | "error" | "critical" | "acceptance_failure">;
|
|
308
|
+
maxRevisions?: number;
|
|
309
|
+
requireNewEvidenceAfterRevision?: boolean;
|
|
310
|
+
stopOnRepeatedFailure?: boolean;
|
|
311
|
+
}
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Every run ends with one explicit stop reason:
|
|
315
|
+
|
|
316
|
+
```ts
|
|
317
|
+
type SamStopReason =
|
|
318
|
+
| "accepted"
|
|
319
|
+
| "revision_limit"
|
|
320
|
+
| "budget_exhausted"
|
|
321
|
+
| "blocked"
|
|
322
|
+
| "needs_human"
|
|
323
|
+
| "cancelled"
|
|
324
|
+
| "failed";
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
Repeated failure detection should compare criterion IDs, finding categories/locations, and relevant artifact identities rather than rely only on matching prose.
|
|
328
|
+
|
|
329
|
+
## Unified run state
|
|
330
|
+
|
|
331
|
+
```ts
|
|
332
|
+
interface SamRunStateV1 {
|
|
333
|
+
schema: "agentsam.run-state.v1";
|
|
334
|
+
runId: string;
|
|
335
|
+
taskId: string;
|
|
336
|
+
status:
|
|
337
|
+
| "queued"
|
|
338
|
+
| "running"
|
|
339
|
+
| "waiting"
|
|
340
|
+
| "review"
|
|
341
|
+
| "approval"
|
|
342
|
+
| "completed"
|
|
343
|
+
| "failed"
|
|
344
|
+
| "cancelled";
|
|
345
|
+
nodes: Record<string, SamNodeState>;
|
|
346
|
+
artifacts: SamArtifactRef[];
|
|
347
|
+
evidence: SamEvidenceRef[];
|
|
348
|
+
feedback: SamFeedbackRef[];
|
|
349
|
+
revision: number;
|
|
350
|
+
budget: {
|
|
351
|
+
modelCalls?: number;
|
|
352
|
+
toolCalls?: number;
|
|
353
|
+
elapsedMs?: number;
|
|
354
|
+
cost?: number;
|
|
355
|
+
};
|
|
356
|
+
stopReason?: SamStopReason;
|
|
357
|
+
}
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
This state is the coordination seam for WorkGraph, queues, approvals, retries, model routing, and receipts. Implementations should extend existing state/receipt contracts rather than build a second scheduler.
|
|
361
|
+
|
|
362
|
+
## Skills, cookbooks, presets, rubrics, and receipts
|
|
363
|
+
|
|
364
|
+
| Artifact | Meaning | Example AgentSam ID |
|
|
365
|
+
|---|---|---|
|
|
366
|
+
| Protocol | stable machine-readable contract | `agentsam.feedback.v1` |
|
|
367
|
+
| Skill | reusable capability, required tools, and I/O | `package-quality` |
|
|
368
|
+
| Cookbook | proven declarative workflow | `build-feature` |
|
|
369
|
+
| Preset | tuned cookbook configuration | `npm-library-strict` |
|
|
370
|
+
| Rubric | named evaluation criteria | `package-quality.v1` |
|
|
371
|
+
| Receipt | record of what actually happened | run receipt |
|
|
372
|
+
|
|
373
|
+
A skill is not merely a long instruction file:
|
|
374
|
+
|
|
375
|
+
```yaml
|
|
376
|
+
schema: agentsam.skill.v1
|
|
377
|
+
id: package-quality
|
|
378
|
+
name: Package Quality Review
|
|
379
|
+
version: 1
|
|
380
|
+
objective: >
|
|
381
|
+
Verify that a reusable package is independently buildable, tested,
|
|
382
|
+
documented, and free of forbidden dependency leakage.
|
|
383
|
+
inputs:
|
|
384
|
+
required: [package_path]
|
|
385
|
+
tools:
|
|
386
|
+
required: [filesystem.read, terminal.exec]
|
|
387
|
+
outputs:
|
|
388
|
+
schema: agentsam.feedback.v1
|
|
389
|
+
acceptance:
|
|
390
|
+
rubric: package-quality.v1
|
|
391
|
+
constraints:
|
|
392
|
+
- Do not modify source files.
|
|
393
|
+
- Do not treat documentation claims as execution evidence.
|
|
394
|
+
- Prefer executable evidence over reviewer judgment.
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
`SKILL.md` remains human-readable operating guidance for the manifest. The manifest is the machine contract.
|
|
398
|
+
|
|
399
|
+
A cookbook is declarative composition, not model code:
|
|
400
|
+
|
|
401
|
+
```yaml
|
|
402
|
+
schema: agentsam.cookbook.v1
|
|
403
|
+
id: build-feature
|
|
404
|
+
inputs: [request, workspace]
|
|
405
|
+
steps:
|
|
406
|
+
- id: inspect
|
|
407
|
+
skill: repo-audit
|
|
408
|
+
- id: design
|
|
409
|
+
skill: implementation-design
|
|
410
|
+
depends_on: [inspect]
|
|
411
|
+
- id: implement
|
|
412
|
+
skill: implementation
|
|
413
|
+
depends_on: [design]
|
|
414
|
+
- id: verify
|
|
415
|
+
skill: package-quality
|
|
416
|
+
depends_on: [implement]
|
|
417
|
+
- id: review
|
|
418
|
+
skill: evidence-review
|
|
419
|
+
depends_on: [verify]
|
|
420
|
+
acceptance:
|
|
421
|
+
require: [build, tests, requirements]
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
## Initial AgentSam-owned catalog
|
|
425
|
+
|
|
426
|
+
Keep the first catalog narrow and prove it before expansion.
|
|
427
|
+
|
|
428
|
+
### Protocol schemas
|
|
429
|
+
|
|
430
|
+
- task, prompt, workgraph;
|
|
431
|
+
- feedback, evidence, rubric;
|
|
432
|
+
- run state and receipt;
|
|
433
|
+
- skill and cookbook.
|
|
434
|
+
|
|
435
|
+
### Skills
|
|
436
|
+
|
|
437
|
+
- `task-decompose` — produce a typed work plan from a task;
|
|
438
|
+
- `evidence-review` — evaluate evidence against acceptance criteria;
|
|
439
|
+
- `implementation-review` — inspect a change without modifying it;
|
|
440
|
+
- `package-quality` — build/test/boundary verification;
|
|
441
|
+
- `brand-compliance` — policy-driven naming, claims, licensing, and provenance findings;
|
|
442
|
+
- `dependency-audit` — dependency and package-boundary evidence;
|
|
443
|
+
- `regression-review` — compare candidate evidence to the promoted baseline.
|
|
444
|
+
|
|
445
|
+
### Cookbooks
|
|
446
|
+
|
|
447
|
+
- `build-feature`;
|
|
448
|
+
- `investigate-bug`;
|
|
449
|
+
- `package-release`;
|
|
450
|
+
- `ui-polish`;
|
|
451
|
+
- `repo-audit`;
|
|
452
|
+
- `migration-review`.
|
|
453
|
+
|
|
454
|
+
These IDs describe AgentSam capabilities and outcomes. Integration target names belong in adapter identifiers, configuration, or factual compatibility documentation—not in generic skill/cookbook product names.
|
|
455
|
+
|
|
456
|
+
## Brand compliance as a protocol participant
|
|
457
|
+
|
|
458
|
+
Brand compliance should produce the same `agentsam.feedback.v1` records as tests and other validators. It is a policy scanner and evidence producer, not a legal adjudicator.
|
|
459
|
+
|
|
460
|
+
Separate concerns into composable policy documents:
|
|
461
|
+
|
|
462
|
+
```text
|
|
463
|
+
brand/
|
|
464
|
+
policy.json
|
|
465
|
+
marks.json
|
|
466
|
+
naming.json
|
|
467
|
+
claims.json
|
|
468
|
+
licensing.json
|
|
469
|
+
provenance.json
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
```json
|
|
473
|
+
{
|
|
474
|
+
"schema": "agentsam.brand-policy.v1",
|
|
475
|
+
"project": "AgentSam",
|
|
476
|
+
"includes": [
|
|
477
|
+
"./marks.json",
|
|
478
|
+
"./naming.json",
|
|
479
|
+
"./claims.json",
|
|
480
|
+
"./licensing.json",
|
|
481
|
+
"./provenance.json"
|
|
482
|
+
]
|
|
483
|
+
}
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
Policy must distinguish factual references from product identity. Legitimate references include adapter IDs, environment variables, compatibility documentation, citations, and recorded provenance. Higher-scrutiny uses include package/product naming, logos and visual assets, affiliation claims, copied presentation systems, and unrecorded third-party material.
|
|
487
|
+
|
|
488
|
+
Example normalized result:
|
|
489
|
+
|
|
490
|
+
```json
|
|
491
|
+
{
|
|
492
|
+
"schema": "agentsam.feedback.v1",
|
|
493
|
+
"id": "feedback_brand_01",
|
|
494
|
+
"subject": { "type": "artifact", "id": "package_manifest" },
|
|
495
|
+
"source": "machine",
|
|
496
|
+
"verdict": "revise",
|
|
497
|
+
"findings": [
|
|
498
|
+
{
|
|
499
|
+
"id": "finding_brand_01",
|
|
500
|
+
"severity": "error",
|
|
501
|
+
"category": "brand.naming",
|
|
502
|
+
"message": "The package identity contains a mark restricted by project naming policy."
|
|
503
|
+
}
|
|
504
|
+
],
|
|
505
|
+
"createdAt": "2026-10-04T00:00:00Z"
|
|
506
|
+
}
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
Generated trademark/attribution material should clearly mark generated ownership, allow deliberate manual takeover, state project independence, use factual compatibility language, preserve required attributions, and include an informational-not-legal-advice limitation. Project-specific marks and affiliations remain configuration, not hardcoded SDK policy.
|
|
510
|
+
|
|
511
|
+
## Package ownership proposal
|
|
512
|
+
|
|
513
|
+
Do not create these packages until at least one end-to-end cookbook proves the seams.
|
|
514
|
+
|
|
515
|
+
| Potential package | Owns | Does not own |
|
|
516
|
+
|---|---|---|
|
|
517
|
+
| `@inneranimalmedia/agentsam-prompt` | task/prompt contracts and compilation | scheduling or model registry |
|
|
518
|
+
| `@inneranimalmedia/agentsam-feedback` | feedback, findings, evidence, rubrics | runtime errors or orchestration |
|
|
519
|
+
| `@inneranimalmedia/agentsam-evals` | evaluators, scoring, acceptance gates | generic work graph |
|
|
520
|
+
| `@inneranimalmedia/agentsam-brand-compliance` | brand policy validation, reports, safe fix plans | legal conclusions or generic feedback |
|
|
521
|
+
|
|
522
|
+
Existing WorkGraph/GOAP/runtime remain orchestration authorities. `@inneranimalmedia/agentsam-errors` remains error authority. Execution primitives such as sequence, fanout, reducer, reviewer, or revision loop must not become standalone packages.
|
|
523
|
+
|
|
524
|
+
## Human-facing UI
|
|
525
|
+
|
|
526
|
+
The interface should display meaningful progress, not graph implementation details:
|
|
527
|
+
|
|
528
|
+
```text
|
|
529
|
+
Building package
|
|
530
|
+
|
|
531
|
+
✓ Inspect structure
|
|
532
|
+
✓ Define public API
|
|
533
|
+
● Implement
|
|
534
|
+
○ Tests
|
|
535
|
+
○ Review
|
|
536
|
+
○ Complete
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
Parallel review can show named areas and their status. Human feedback remains simple:
|
|
540
|
+
|
|
541
|
+
- **Looks good** -> `pass`
|
|
542
|
+
- **Needs changes** -> `revise`
|
|
543
|
+
- **Something is wrong** -> `fail`
|
|
544
|
+
|
|
545
|
+
A note, annotation, or screenshot becomes a finding/evidence attachment. Creative preference controls such as “keep this,” “more like this,” and “not this style” are outcome/preference observations scoped to the relevant project unless explicitly promoted.
|
|
546
|
+
|
|
547
|
+
## Feedback ledger and controlled learning
|
|
548
|
+
|
|
549
|
+
```text
|
|
550
|
+
feedback
|
|
551
|
+
-> append-only feedback ledger
|
|
552
|
+
-> periodic analysis
|
|
553
|
+
-> candidate skill/preset/policy change
|
|
554
|
+
-> evaluation against fixtures and prior failures
|
|
555
|
+
-> human approval
|
|
556
|
+
-> versioned promotion
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
```ts
|
|
560
|
+
interface SamFeedbackObservation {
|
|
561
|
+
skillId?: string;
|
|
562
|
+
cookbookId?: string;
|
|
563
|
+
modelId?: string;
|
|
564
|
+
criterion?: string;
|
|
565
|
+
outcome: string;
|
|
566
|
+
feedbackRef: string;
|
|
567
|
+
runRef: string;
|
|
568
|
+
}
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
Raw run feedback must not mutate shared instructions, memory, or policy. Promotion requires traceable evaluation and a receipt.
|
|
572
|
+
|
|
573
|
+
## Proposed repository shape
|
|
574
|
+
|
|
575
|
+
This is a target layout, not a request to create empty directories:
|
|
576
|
+
|
|
577
|
+
```text
|
|
578
|
+
protocol/work/
|
|
579
|
+
README.md
|
|
580
|
+
schemas/
|
|
581
|
+
agentsam.task.v1.schema.json
|
|
582
|
+
agentsam.prompt.v1.schema.json
|
|
583
|
+
agentsam.workgraph.v1.schema.json
|
|
584
|
+
agentsam.feedback.v1.schema.json
|
|
585
|
+
agentsam.evidence.v1.schema.json
|
|
586
|
+
agentsam.rubric.v1.schema.json
|
|
587
|
+
agentsam.run-state.v1.schema.json
|
|
588
|
+
agentsam.receipt.v1.schema.json
|
|
589
|
+
agentsam.cookbook.v1.schema.json
|
|
590
|
+
rubrics/
|
|
591
|
+
presets/
|
|
592
|
+
|
|
593
|
+
skills/
|
|
594
|
+
task-decompose/
|
|
595
|
+
evidence-review/
|
|
596
|
+
package-quality/
|
|
597
|
+
brand-compliance/
|
|
598
|
+
|
|
599
|
+
cookbooks/
|
|
600
|
+
build-feature/
|
|
601
|
+
investigate-bug/
|
|
602
|
+
package-release/
|
|
603
|
+
repo-audit/
|
|
604
|
+
```
|
|
605
|
+
|
|
606
|
+
Before adopting that shape, reconcile it with the current `protocol/sam`, `protocol/skills`, `protocol/presets`, `packages/agentsam-work`, and `packages/work-graph` authorities. Prefer extending canonical homes over parallel copies.
|
|
607
|
+
|
|
608
|
+
## Trial plan: prove before splitting
|
|
609
|
+
|
|
610
|
+
### Phase 0 — contract review
|
|
611
|
+
|
|
612
|
+
- inventory overlapping current schemas and runtime state;
|
|
613
|
+
- map each proposed field to an existing owner or identify a genuine gap;
|
|
614
|
+
- decide compatibility and migration rules;
|
|
615
|
+
- approve terminology and brand naming.
|
|
616
|
+
|
|
617
|
+
Deliverable: field/authority matrix. No new runtime.
|
|
618
|
+
|
|
619
|
+
### Phase 1 — one vertical trial
|
|
620
|
+
|
|
621
|
+
Use one internal, repeatable workflow such as package quality review:
|
|
622
|
+
|
|
623
|
+
1. accept one typed task;
|
|
624
|
+
2. compile a small inspect/verify/review graph;
|
|
625
|
+
3. gather command and file evidence;
|
|
626
|
+
4. evaluate required acceptance gates;
|
|
627
|
+
5. allow at most one revision;
|
|
628
|
+
6. emit feedback and a closeout receipt;
|
|
629
|
+
7. render human-readable progress.
|
|
630
|
+
|
|
631
|
+
Success requires that typed artifacts can be replayed and inspected without reading hidden model reasoning.
|
|
632
|
+
|
|
633
|
+
### Phase 2 — second shape
|
|
634
|
+
|
|
635
|
+
Trial one fanout/reduce workflow to test concurrency, partial failure, and conflict surfacing. Do not expand the schema solely to accommodate speculative cases.
|
|
636
|
+
|
|
637
|
+
### Phase 3 — extraction decision
|
|
638
|
+
|
|
639
|
+
Only split packages if the trials show independent ownership, consumers, and release cadence. Otherwise retain modules beside the current WorkGraph/runtime owners.
|
|
640
|
+
|
|
641
|
+
## Acceptance criteria for adopting the protocol
|
|
642
|
+
|
|
643
|
+
- one task runs through sequence, machine evidence, review, bounded revision, and receipt;
|
|
644
|
+
- one task runs through fanout/reduce and surfaces a genuine conflict;
|
|
645
|
+
- all required criteria enforce hard gates independent of weighted scores;
|
|
646
|
+
- context trust labels survive prompt compilation;
|
|
647
|
+
- no full-transcript dependency is required between nodes;
|
|
648
|
+
- existing WorkGraph and error authorities are reused rather than forked;
|
|
649
|
+
- UI progress can be rendered from run state alone;
|
|
650
|
+
- feedback can be recorded without changing shared behavior;
|
|
651
|
+
- brand findings use normalized feedback and retain informational scope;
|
|
652
|
+
- schemas validate fixtures and have explicit forward-compatibility rules.
|
|
653
|
+
|
|
654
|
+
## Open decisions
|
|
655
|
+
|
|
656
|
+
1. Should the canonical schemas extend current `protocol/sam/*` contracts or introduce a nested `protocol/work/` family?
|
|
657
|
+
2. Which current WorkGraph node/state fields can be adopted unchanged?
|
|
658
|
+
3. Is `map_reduce` useful in the task shorthand, or should it compile from `fanout` plus `reduce` only?
|
|
659
|
+
4. Which evidence data must be inline versus content-addressed?
|
|
660
|
+
5. What is the retention/redaction policy for prompt requests, tool logs, and screenshots?
|
|
661
|
+
6. Which acceptance evaluator registry owns command references and sandbox policy?
|
|
662
|
+
7. What compatibility promise applies to skill and cookbook manifests?
|
|
663
|
+
8. What one existing workflow is stable enough to serve as the first trial?
|
|
664
|
+
|
|
665
|
+
## Recommendation
|
|
666
|
+
|
|
667
|
+
Adopt the vocabulary and laws now as design guidance, but defer package creation and broad schema implementation. First map the proposal onto existing contracts, then prove one sequence/review loop and one fanout/reduce workflow. Promote only the fields and package boundaries demonstrated by those trials.
|