settld 0.1.2 → 0.2.0

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.
Files changed (483) hide show
  1. package/README.md +93 -3
  2. package/SETTLD_VERSION +1 -1
  3. package/bin/settld-mcp +2 -0
  4. package/bin/settld.js +71 -0
  5. package/conformance/kernel-v0/README.md +7 -0
  6. package/conformance/kernel-v0/run.mjs +292 -4
  7. package/docs/ACCESS.md +57 -0
  8. package/docs/ADOPTION_CHECKLIST.md +44 -0
  9. package/docs/ALERTS.md +198 -0
  10. package/docs/ARCHITECTURE.md +69 -0
  11. package/docs/ARCHITECTURE_FOUNDER_GUIDE.md +284 -0
  12. package/docs/ARTIFACTS.md +60 -0
  13. package/docs/CERTIFICATION_CHECKLIST.md +33 -0
  14. package/docs/CIRCLE_SANDBOX_E2E.md +152 -0
  15. package/docs/CONFIG.md +297 -0
  16. package/docs/CONTRACTS_APIS.md +23 -0
  17. package/docs/DEPRECATION.md +31 -0
  18. package/docs/DOMAIN_MODEL.md +92 -0
  19. package/docs/EVENT_ENVELOPE.md +53 -0
  20. package/docs/FINANCE_PACK_FORMAT.md +53 -0
  21. package/docs/INCIDENT_TAXONOMY.md +30 -0
  22. package/docs/JOB_STATE_MACHINE.md +66 -0
  23. package/docs/KERNEL_COMPATIBLE.md +60 -0
  24. package/docs/KERNEL_V0.md +40 -0
  25. package/docs/KEY_ROTATION.md +80 -0
  26. package/docs/LEDGER.md +82 -0
  27. package/docs/LIVENESS.md +76 -0
  28. package/docs/MVP_BUILD_ORDER.md +36 -0
  29. package/docs/ONCALL_PLAYBOOK.md +39 -0
  30. package/docs/OPERATIONS_SIGNING.md +20 -0
  31. package/docs/OVERVIEW.md +190 -0
  32. package/docs/PERF_BASELINE.md +85 -0
  33. package/docs/PRD.md +77 -0
  34. package/docs/QUICKSTART_KERNEL_V0.md +96 -0
  35. package/docs/QUICKSTART_MCP.md +377 -0
  36. package/docs/QUICKSTART_MCP_HOSTS.md +210 -0
  37. package/docs/QUICKSTART_POLICY_PACKS.md +65 -0
  38. package/docs/QUICKSTART_PRODUCE.md +61 -0
  39. package/docs/QUICKSTART_PROFILES.md +198 -0
  40. package/docs/QUICKSTART_RELEASE_VERIFY.md +39 -0
  41. package/docs/QUICKSTART_SDK.md +125 -0
  42. package/docs/QUICKSTART_SDK_PYTHON.md +111 -0
  43. package/docs/QUICKSTART_VERIFY.md +54 -0
  44. package/docs/QUICKSTART_X402_GATEWAY.md +317 -0
  45. package/docs/README.md +33 -0
  46. package/docs/RELEASE_CHECKLIST.md +182 -0
  47. package/docs/RELEASING.md +82 -0
  48. package/docs/REPO_SETTINGS.md +37 -0
  49. package/docs/RUNBOOK.md +86 -0
  50. package/docs/SKILLS.md +42 -0
  51. package/docs/SKILL_BUNDLE_FORMAT.md +48 -0
  52. package/docs/SLO.md +131 -0
  53. package/docs/SUMMARY.md +17 -0
  54. package/docs/SUPPORT.md +31 -0
  55. package/docs/THREAT_MODEL.md +36 -0
  56. package/docs/TRUST.md +59 -0
  57. package/docs/WORKFLOW.md +35 -0
  58. package/docs/X402_BATCH_SETTLEMENT.md +126 -0
  59. package/docs/blog/2026-02-14-your-ai-agent-just-spent-500-where-is-the-receipt.md +73 -0
  60. package/docs/examples/x402-provider-payout-registry.example.json +14 -0
  61. package/docs/gitbook/README.md +64 -0
  62. package/docs/gitbook/SETUP.md +25 -0
  63. package/docs/gitbook/SUMMARY.md +15 -0
  64. package/docs/gitbook/api-reference.md +73 -0
  65. package/docs/gitbook/closepacks.md +55 -0
  66. package/docs/gitbook/conformance.md +59 -0
  67. package/docs/gitbook/core-primitives.md +85 -0
  68. package/docs/gitbook/dispute-lifecycle.md +33 -0
  69. package/docs/gitbook/faq.md +21 -0
  70. package/docs/gitbook/guides.md +49 -0
  71. package/docs/gitbook/operations-runbook.md +36 -0
  72. package/docs/gitbook/quickstart.md +103 -0
  73. package/docs/gitbook/replay-and-audit.md +30 -0
  74. package/docs/gitbook/sdk-reference.md +35 -0
  75. package/docs/gitbook/security-model.md +58 -0
  76. package/docs/integrations/README.md +15 -0
  77. package/docs/integrations/github-actions-verify.yml +31 -0
  78. package/docs/integrations/github-actions.md +34 -0
  79. package/docs/integrations/openclaw/CLAWHUB_PUBLISH_CHECKLIST.md +65 -0
  80. package/docs/integrations/openclaw/PUBLIC_QUICKSTART.md +95 -0
  81. package/docs/integrations/openclaw/settld-mcp-skill/SKILL.md +69 -0
  82. package/docs/integrations/openclaw/settld-mcp-skill/mcp-server.example.json +12 -0
  83. package/docs/kernel-compatible/capabilities.json +36 -0
  84. package/docs/marketing/agent-commerce-substrate.md +78 -0
  85. package/docs/marketing/hn-repost-2026-02-17.md +102 -0
  86. package/docs/marketing/show-hn-post.md +45 -0
  87. package/docs/ops/ARTIFACT_VERIFICATION_STATUS.md +43 -0
  88. package/docs/ops/BILLING_WEBHOOK_REPLAY.md +105 -0
  89. package/docs/ops/CI_FLAKE_BUDGET.md +31 -0
  90. package/docs/ops/DISPUTE_FINANCE_RECONCILIATION_PACKET.md +56 -0
  91. package/docs/ops/GO_LIVE_GATE_S13.md +27 -0
  92. package/docs/ops/HOSTED_BASELINE_R2.md +129 -0
  93. package/docs/ops/KERNEL_V0_SHIP_GATE.md +69 -0
  94. package/docs/ops/LIGHTHOUSE_PRODUCTION_CLOSE.md +51 -0
  95. package/docs/ops/MCP_COMPATIBILITY_MATRIX.md +30 -0
  96. package/docs/ops/MINIMUM_PRODUCTION_TOPOLOGY.md +89 -0
  97. package/docs/ops/P0_BACKEND_PROGRESS.md +150 -0
  98. package/docs/ops/PAYMENTS_ALPHA_R5.md +105 -0
  99. package/docs/ops/PILOT_ONBOARDING_RUNBOOK.md +112 -0
  100. package/docs/ops/PRODUCTION_DEPLOYMENT_CHECKLIST.md +140 -0
  101. package/docs/ops/R1_SLOS.md +66 -0
  102. package/docs/ops/RELEASE_SIGNING_INCIDENT.md +58 -0
  103. package/docs/ops/SELF_SERVE_LAUNCH_AUTOMATION.md +89 -0
  104. package/docs/ops/THROUGHPUT_DRILL_10X.md +48 -0
  105. package/docs/ops/TRUST_CONFIG_WIZARD.md +60 -0
  106. package/docs/ops/X402_PILOT_WEEKLY_METRICS.md +76 -0
  107. package/docs/ops/tool-call-disputes-holdback.md +52 -0
  108. package/docs/pilot-kit/PILOT_PACKAGE_SCORECARD_X402.md +46 -0
  109. package/docs/pilot-kit/README.md +29 -0
  110. package/docs/pilot-kit/architecture-one-pager.md +48 -0
  111. package/docs/pilot-kit/buyer-email.txt +19 -0
  112. package/docs/pilot-kit/buyer-one-pager.md +31 -0
  113. package/docs/pilot-kit/gtm-pilot-playbook.md +182 -0
  114. package/docs/pilot-kit/offline-verify.md +33 -0
  115. package/docs/pilot-kit/procurement-one-pager.md +50 -0
  116. package/docs/pilot-kit/rfp-clause.md +46 -0
  117. package/docs/pilot-kit/roi-calculator-template.csv +2 -0
  118. package/docs/pilot-kit/security-qa.md +153 -0
  119. package/docs/pilot-kit/security-summary.md +35 -0
  120. package/docs/plans/2026-02-13-mcp-spike-design.md +113 -0
  121. package/docs/plans/2026-02-20-trust-os-v1-jira-backlog.md +348 -0
  122. package/docs/plans/2026-02-21-agent-economic-actor-operating-model.md +169 -0
  123. package/docs/plans/2026-02-21-trust-os-v1-strategy.md +241 -0
  124. package/docs/research/2026-02-21-agent-spend-host-landscape.md +57 -0
  125. package/docs/spec/AcceptanceCriteria.v1.md +17 -0
  126. package/docs/spec/AcceptanceEvaluation.v1.md +10 -0
  127. package/docs/spec/AgentEvent.v1.md +47 -0
  128. package/docs/spec/AgentIdentity.v1.md +62 -0
  129. package/docs/spec/AgentPassport.v1.md +95 -0
  130. package/docs/spec/AgentReputation.v1.md +59 -0
  131. package/docs/spec/AgentReputation.v2.md +52 -0
  132. package/docs/spec/AgentRun.v1.md +47 -0
  133. package/docs/spec/AgentRunSettlement.v1.md +52 -0
  134. package/docs/spec/AgentWallet.v1.md +43 -0
  135. package/docs/spec/AgreementDelegation.v1.md +109 -0
  136. package/docs/spec/ArbitrationCase.v1.md +67 -0
  137. package/docs/spec/ArbitrationOutcomeMapping.v1.md +62 -0
  138. package/docs/spec/ArbitrationVerdict.v1.md +60 -0
  139. package/docs/spec/BundleHeadAttestation.v1.md +32 -0
  140. package/docs/spec/CANONICAL_JSON.md +31 -0
  141. package/docs/spec/CRYPTOGRAPHY.md +61 -0
  142. package/docs/spec/ClosePack.v1.md +49 -0
  143. package/docs/spec/ClosePackManifest.v1.md +24 -0
  144. package/docs/spec/DelegationGrant.v1.md +90 -0
  145. package/docs/spec/DisputeCaseLifecycle.v1.md +51 -0
  146. package/docs/spec/DisputeOpenEnvelope.v1.md +43 -0
  147. package/docs/spec/ERRORS.md +76 -0
  148. package/docs/spec/ESCROW_NETTING_INVARIANTS.md +71 -0
  149. package/docs/spec/EvidenceIndex.v1.md +20 -0
  150. package/docs/spec/ExecutionIntent.v1.md +90 -0
  151. package/docs/spec/FinancePackBundleManifest.v1.md +24 -0
  152. package/docs/spec/FundingHold.v1.md +60 -0
  153. package/docs/spec/GovernancePolicy.v1.md +34 -0
  154. package/docs/spec/GovernancePolicy.v2.md +30 -0
  155. package/docs/spec/INVARIANTS.md +389 -0
  156. package/docs/spec/InteractionDirectionMatrix.v1.md +30 -0
  157. package/docs/spec/InvoiceBundleManifest.v1.md +24 -0
  158. package/docs/spec/InvoiceClaim.v1.md +11 -0
  159. package/docs/spec/MONEY_RAIL_STATE_MACHINE.md +58 -0
  160. package/docs/spec/MarketplaceAcceptance.v2.md +46 -0
  161. package/docs/spec/MarketplaceOffer.v2.md +54 -0
  162. package/docs/spec/MeteringReport.v1.md +18 -0
  163. package/docs/spec/OperatorAction.v1.md +90 -0
  164. package/docs/spec/PRODUCER_ERRORS.md +42 -0
  165. package/docs/spec/PolicyDecision.v1.md +83 -0
  166. package/docs/spec/PricingMatrix.v1.md +20 -0
  167. package/docs/spec/PricingMatrixSignatures.v1.md +30 -0
  168. package/docs/spec/PricingMatrixSignatures.v2.md +29 -0
  169. package/docs/spec/ProduceCliOutput.v1.md +46 -0
  170. package/docs/spec/ProofBundleManifest.v1.md +24 -0
  171. package/docs/spec/README.md +109 -0
  172. package/docs/spec/REFERENCE_IMPLEMENTATIONS.md +29 -0
  173. package/docs/spec/REFERENCE_VERIFIER_BEHAVIOR.md +68 -0
  174. package/docs/spec/REMOTE_SIGNER.md +66 -0
  175. package/docs/spec/ReleaseIndex.v1.md +32 -0
  176. package/docs/spec/ReleaseIndexSignatures.v1.md +17 -0
  177. package/docs/spec/ReleaseTrust.v1.md +13 -0
  178. package/docs/spec/ReleaseTrust.v2.md +26 -0
  179. package/docs/spec/RemoteSignerRequest.v1.md +21 -0
  180. package/docs/spec/RemoteSignerResponse.v1.md +16 -0
  181. package/docs/spec/ReputationEvent.v1.md +63 -0
  182. package/docs/spec/RevocationList.v1.md +28 -0
  183. package/docs/spec/SIGNER_PROVIDER_PLUGIN.md +32 -0
  184. package/docs/spec/STRICTNESS.md +68 -0
  185. package/docs/spec/SUPPLY_CHAIN.md +33 -0
  186. package/docs/spec/SettlementAdjustment.v1.md +45 -0
  187. package/docs/spec/SettlementDecisionRecord.v1.md +48 -0
  188. package/docs/spec/SettlementDecisionRecord.v2.md +53 -0
  189. package/docs/spec/SettlementDecisionReport.v1.md +44 -0
  190. package/docs/spec/SettlementKernel.v1.md +59 -0
  191. package/docs/spec/SettlementReceipt.v1.md +63 -0
  192. package/docs/spec/SlaDefinition.v1.md +24 -0
  193. package/docs/spec/SlaEvaluation.v1.md +12 -0
  194. package/docs/spec/THREAT_MODEL.md +113 -0
  195. package/docs/spec/TOOL_PROVENANCE.md +30 -0
  196. package/docs/spec/TRUST_ANCHORS.md +84 -0
  197. package/docs/spec/TenantSettings.v1.md +90 -0
  198. package/docs/spec/TenantSettings.v2.md +99 -0
  199. package/docs/spec/TimestampProof.v1.md +25 -0
  200. package/docs/spec/ToolCallAgreement.v1.md +34 -0
  201. package/docs/spec/ToolCallEvidence.v1.md +47 -0
  202. package/docs/spec/ToolManifest.v1.md +47 -0
  203. package/docs/spec/VERIFIER_ENVIRONMENT.md +38 -0
  204. package/docs/spec/VERSIONING.md +107 -0
  205. package/docs/spec/VerificationReport.v1.md +50 -0
  206. package/docs/spec/VerifyAboutOutput.v1.md +10 -0
  207. package/docs/spec/VerifyCliOutput.v1.md +28 -0
  208. package/docs/spec/WARNINGS.md +83 -0
  209. package/docs/spec/error-codes.v1.txt +285 -0
  210. package/docs/spec/examples/agreement_delegation_v1.example.json +21 -0
  211. package/docs/spec/examples/arbitration_case_v1.example.json +26 -0
  212. package/docs/spec/examples/arbitration_verdict_v1.example.json +32 -0
  213. package/docs/spec/examples/dispute_open_envelope_v1.example.json +18 -0
  214. package/docs/spec/examples/produce_cli_output_v1.example.json +32 -0
  215. package/docs/spec/examples/release_index_signature_v1.example.json +9 -0
  216. package/docs/spec/examples/release_index_signatures_v1.example.json +14 -0
  217. package/docs/spec/examples/release_index_v1.example.json +15 -0
  218. package/docs/spec/examples/release_trust_v1.example.json +7 -0
  219. package/docs/spec/examples/release_trust_v2.example.json +22 -0
  220. package/docs/spec/examples/remote_signer_request_v1.example.json +18 -0
  221. package/docs/spec/examples/remote_signer_response_v1.example.json +8 -0
  222. package/docs/spec/examples/reputation_event_v1.example.json +29 -0
  223. package/docs/spec/examples/verification_report_v1.example.json +24 -0
  224. package/docs/spec/examples/verify_about_output_v1.example.json +29 -0
  225. package/docs/spec/examples/verify_cli_output_v1.example.json +13 -0
  226. package/docs/spec/legacy/MarketplaceAcceptance.v1.md +48 -0
  227. package/docs/spec/legacy/MarketplaceOffer.v1.md +56 -0
  228. package/docs/spec/legacy/schemas/MarketplaceAcceptance.v1.schema.json +53 -0
  229. package/docs/spec/legacy/schemas/MarketplaceOffer.v1.schema.json +61 -0
  230. package/docs/spec/producer-error-codes.v1.txt +14 -0
  231. package/docs/spec/schemas/AcceptanceCriteria.v1.schema.json +24 -0
  232. package/docs/spec/schemas/AcceptanceEvaluation.v1.schema.json +26 -0
  233. package/docs/spec/schemas/AgentEvent.v1.schema.json +49 -0
  234. package/docs/spec/schemas/AgentIdentity.v1.schema.json +129 -0
  235. package/docs/spec/schemas/AgentPassport.v1.schema.json +112 -0
  236. package/docs/spec/schemas/AgentReputation.v1.schema.json +151 -0
  237. package/docs/spec/schemas/AgentReputation.v2.schema.json +120 -0
  238. package/docs/spec/schemas/AgentRun.v1.schema.json +71 -0
  239. package/docs/spec/schemas/AgentRunSettlement.v1.schema.json +75 -0
  240. package/docs/spec/schemas/AgentWallet.v1.schema.json +54 -0
  241. package/docs/spec/schemas/AgreementDelegation.v1.schema.json +50 -0
  242. package/docs/spec/schemas/ArbitrationCase.v1.schema.json +133 -0
  243. package/docs/spec/schemas/ArbitrationVerdict.v1.schema.json +149 -0
  244. package/docs/spec/schemas/BundleHeadAttestation.v1.schema.json +21 -0
  245. package/docs/spec/schemas/ClosePackManifest.v1.schema.json +38 -0
  246. package/docs/spec/schemas/DelegationGrant.v1.schema.json +102 -0
  247. package/docs/spec/schemas/DisputeOpenEnvelope.v1.schema.json +78 -0
  248. package/docs/spec/schemas/EvidenceIndex.v1.schema.json +41 -0
  249. package/docs/spec/schemas/ExecutionIntent.v1.schema.json +85 -0
  250. package/docs/spec/schemas/FinancePackBundleManifest.v1.schema.json +38 -0
  251. package/docs/spec/schemas/FundingHold.v1.schema.json +46 -0
  252. package/docs/spec/schemas/GovernancePolicy.v1.schema.json +45 -0
  253. package/docs/spec/schemas/GovernancePolicy.v2.schema.json +70 -0
  254. package/docs/spec/schemas/InteractionDirectionMatrix.v1.schema.json +43 -0
  255. package/docs/spec/schemas/InvoiceBundleManifest.v1.schema.json +38 -0
  256. package/docs/spec/schemas/InvoiceClaim.v1.schema.json +39 -0
  257. package/docs/spec/schemas/MarketplaceAcceptance.v2.schema.json +53 -0
  258. package/docs/spec/schemas/MarketplaceOffer.v2.schema.json +61 -0
  259. package/docs/spec/schemas/MeteringReport.v1.schema.json +45 -0
  260. package/docs/spec/schemas/OperatorAction.v1.schema.json +113 -0
  261. package/docs/spec/schemas/PolicyDecision.v1.schema.json +74 -0
  262. package/docs/spec/schemas/PricingMatrix.v1.schema.json +24 -0
  263. package/docs/spec/schemas/PricingMatrixSignatures.v1.schema.json +24 -0
  264. package/docs/spec/schemas/PricingMatrixSignatures.v2.schema.json +24 -0
  265. package/docs/spec/schemas/ProduceCliOutput.v1.schema.json +107 -0
  266. package/docs/spec/schemas/ProofBundleManifest.v1.schema.json +37 -0
  267. package/docs/spec/schemas/PublicKeys.v1.schema.json +33 -0
  268. package/docs/spec/schemas/ReleaseIndex.v1.schema.json +45 -0
  269. package/docs/spec/schemas/ReleaseIndexSignature.v1.schema.json +16 -0
  270. package/docs/spec/schemas/ReleaseIndexSignatures.v1.schema.json +16 -0
  271. package/docs/spec/schemas/ReleaseTrust.v1.schema.json +15 -0
  272. package/docs/spec/schemas/ReleaseTrust.v2.schema.json +37 -0
  273. package/docs/spec/schemas/RemoteSignerPublicKeyResponse.v1.schema.json +14 -0
  274. package/docs/spec/schemas/RemoteSignerRequest.v1.schema.json +24 -0
  275. package/docs/spec/schemas/RemoteSignerResponse.v1.schema.json +10 -0
  276. package/docs/spec/schemas/RemoteSignerSignRequest.v1.schema.json +27 -0
  277. package/docs/spec/schemas/RemoteSignerSignResponse.v1.schema.json +16 -0
  278. package/docs/spec/schemas/ReputationEvent.v1.schema.json +164 -0
  279. package/docs/spec/schemas/RevocationList.v1.schema.json +51 -0
  280. package/docs/spec/schemas/SettlementAdjustment.v1.schema.json +44 -0
  281. package/docs/spec/schemas/SettlementDecisionRecord.v1.schema.json +66 -0
  282. package/docs/spec/schemas/SettlementDecisionRecord.v2.schema.json +149 -0
  283. package/docs/spec/schemas/SettlementDecisionReport.v1.schema.json +61 -0
  284. package/docs/spec/schemas/SettlementReceipt.v1.schema.json +135 -0
  285. package/docs/spec/schemas/SlaDefinition.v1.schema.json +33 -0
  286. package/docs/spec/schemas/SlaEvaluation.v1.schema.json +26 -0
  287. package/docs/spec/schemas/TenantSettings.v1.schema.json +90 -0
  288. package/docs/spec/schemas/TenantSettings.v2.schema.json +161 -0
  289. package/docs/spec/schemas/TimestampProof.v1.schema.json +17 -0
  290. package/docs/spec/schemas/ToolCallAgreement.v1.schema.json +34 -0
  291. package/docs/spec/schemas/ToolCallEvidence.v1.schema.json +45 -0
  292. package/docs/spec/schemas/ToolManifest.v1.schema.json +54 -0
  293. package/docs/spec/schemas/VerificationReport.v1.schema.json +83 -0
  294. package/docs/spec/schemas/VerifyAboutOutput.v1.schema.json +54 -0
  295. package/docs/spec/schemas/VerifyCliOutput.v1.schema.json +75 -0
  296. package/docs/spec/schemas/VerifyReleaseOutput.v1.schema.json +47 -0
  297. package/docs/spec/x402-error-codes.v1.txt +35 -0
  298. package/docs/templates/buyer-email.txt +18 -0
  299. package/docs/templates/buyer-one-pager.md +24 -0
  300. package/package.json +53 -6
  301. package/scripts/acceptance/full-stack.mjs +734 -0
  302. package/scripts/acceptance/full-stack.sh +99 -0
  303. package/scripts/audit/build-audit-packet.mjs +242 -0
  304. package/scripts/backup-pg.sh +45 -0
  305. package/scripts/backup-restore/README.md +18 -0
  306. package/scripts/backup-restore/capture-state.mjs +130 -0
  307. package/scripts/backup-restore/client.mjs +97 -0
  308. package/scripts/backup-restore/seed-workload.mjs +235 -0
  309. package/scripts/backup-restore/verify-state.mjs +139 -0
  310. package/scripts/backup-restore-test.sh +217 -0
  311. package/scripts/chaos.js +221 -0
  312. package/scripts/ci/build-launch-cutover-packet.mjs +304 -0
  313. package/scripts/ci/build-self-serve-benchmark-report.mjs +122 -0
  314. package/scripts/ci/changelog-guard.mjs +145 -0
  315. package/scripts/ci/check-kernel-v0-launch-gate.mjs +233 -0
  316. package/scripts/ci/check-secret-hygiene.mjs +78 -0
  317. package/scripts/ci/check-version-consistency.mjs +42 -0
  318. package/scripts/ci/cli-pack-smoke.mjs +160 -0
  319. package/scripts/ci/flake-budget-guard.mjs +68 -0
  320. package/scripts/ci/generate-error-codes.mjs +54 -0
  321. package/scripts/ci/lib/lighthouse-tracker.mjs +90 -0
  322. package/scripts/ci/lib/self-serve-launch-gate.mjs +89 -0
  323. package/scripts/ci/npm-pack-smoke.mjs +454 -0
  324. package/scripts/ci/run-10x-throughput-drill.mjs +318 -0
  325. package/scripts/ci/run-10x-throughput-incident-rehearsal.mjs +368 -0
  326. package/scripts/ci/run-arbitration-workspace-browser-e2e.sh +22 -0
  327. package/scripts/ci/run-circle-sandbox-smoke.mjs +237 -0
  328. package/scripts/ci/run-go-live-gate.mjs +150 -0
  329. package/scripts/ci/run-kernel-v0-ship-gate.mjs +97 -0
  330. package/scripts/ci/run-mcp-host-cert-matrix.mjs +201 -0
  331. package/scripts/ci/run-mcp-host-smoke.mjs +473 -0
  332. package/scripts/ci/run-offline-verification-parity-gate.mjs +762 -0
  333. package/scripts/ci/run-onboarding-host-success-gate.mjs +516 -0
  334. package/scripts/ci/run-onboarding-policy-slo-gate.mjs +537 -0
  335. package/scripts/ci/run-production-cutover-gate.mjs +540 -0
  336. package/scripts/ci/run-public-openclaw-npx-smoke.mjs +148 -0
  337. package/scripts/ci/run-release-promotion-guard.mjs +756 -0
  338. package/scripts/ci/run-self-serve-launch-gate.mjs +56 -0
  339. package/scripts/ci/runtime-import-smoke.mjs +58 -0
  340. package/scripts/ci/update-lighthouse-tracker.mjs +112 -0
  341. package/scripts/closepack/lib.mjs +286 -0
  342. package/scripts/collect-debug.sh +263 -0
  343. package/scripts/demo/compositional-settlement-3hop.mjs +237 -0
  344. package/scripts/demo/delivery-robot/export-ui-fixture.mjs +188 -0
  345. package/scripts/demo/delivery-robot/generate.mjs +377 -0
  346. package/scripts/demo/kernel-agent-goes-shopping.mjs +202 -0
  347. package/scripts/demo/magic-link-first-green.mjs +118 -0
  348. package/scripts/demo/magic-link-kind-smoke.mjs +577 -0
  349. package/scripts/demo/mcp-paid-exa.mjs +1110 -0
  350. package/scripts/dev/billing-doctor.sh +145 -0
  351. package/scripts/dev/billing-smoke-prod.sh +219 -0
  352. package/scripts/dev/billing-webhook-replay.sh +161 -0
  353. package/scripts/dev/env.dev.example +29 -0
  354. package/scripts/dev/env.sh +37 -0
  355. package/scripts/dev/new-sdk-key.sh +81 -0
  356. package/scripts/dev/sdk-first-run.sh +21 -0
  357. package/scripts/dev/smoke-x402-gateway.sh +115 -0
  358. package/scripts/dev/start-api.sh +24 -0
  359. package/scripts/doctor/mcp-host.mjs +120 -0
  360. package/scripts/examples/produce-and-verify-jobproof.mjs +191 -0
  361. package/scripts/examples/sdk-first-paid-rfq.py +105 -0
  362. package/scripts/examples/sdk-first-verified-run.mjs +85 -0
  363. package/scripts/examples/sdk-first-verified-run.py +99 -0
  364. package/scripts/examples/sdk-tenant-analytics.mjs +103 -0
  365. package/scripts/examples/sdk-tenant-analytics.py +118 -0
  366. package/scripts/finance-pack/bundle.mjs +284 -0
  367. package/scripts/fixtures/generate-bundle-fixtures.mjs +877 -0
  368. package/scripts/governance/export.mjs +169 -0
  369. package/scripts/load/delivery-stress.k6.js +183 -0
  370. package/scripts/load/ingest-burst.k6.js +236 -0
  371. package/scripts/load/run-delivery-load.js +66 -0
  372. package/scripts/load/webhook-receiver.js +131 -0
  373. package/scripts/magic-link/migrate-run-records-to-db.mjs +35 -0
  374. package/scripts/mcp/probe.mjs +238 -0
  375. package/scripts/mcp/settld-mcp-http-gateway.mjs +178 -0
  376. package/scripts/mcp/settld-mcp-server.mjs +1511 -0
  377. package/scripts/openapi/write.mjs +13 -0
  378. package/scripts/ops/bootstrap-tenant-conformance.mjs +185 -0
  379. package/scripts/ops/build-x402-pilot-reliability-report.mjs +489 -0
  380. package/scripts/ops/check-x402-receipt-sample.mjs +181 -0
  381. package/scripts/ops/design-partner-run-packet.mjs +466 -0
  382. package/scripts/ops/dispute-finance-reconciliation-packet.mjs +313 -0
  383. package/scripts/ops/hosted-baseline-evidence.mjs +890 -0
  384. package/scripts/ops/money-rails-chargeback-evidence.mjs +509 -0
  385. package/scripts/ops/money-rails-reconcile-evidence.mjs +180 -0
  386. package/scripts/ops/p0-seed-money-rail-operation.mjs +432 -0
  387. package/scripts/ops/run-x402-hitl-smoke.mjs +607 -0
  388. package/scripts/pilot/finance-pack.mjs +495 -0
  389. package/scripts/pilot/fixtures/robot-keypair.json +4 -0
  390. package/scripts/pilot/fixtures/server-signer.json +4 -0
  391. package/scripts/policy/cli.mjs +600 -0
  392. package/scripts/profile/cli.mjs +1324 -0
  393. package/scripts/proof-bundle/job.mjs +109 -0
  394. package/scripts/proof-bundle/lib.mjs +92 -0
  395. package/scripts/proof-bundle/month.mjs +103 -0
  396. package/scripts/provider/conformance-run.mjs +159 -0
  397. package/scripts/provider/keys-generate.mjs +135 -0
  398. package/scripts/provider/publish.mjs +420 -0
  399. package/scripts/quickstart/x402.mjs +334 -0
  400. package/scripts/register-entity-secret.mjs +102 -0
  401. package/scripts/release/build-artifacts.mjs +181 -0
  402. package/scripts/release/generate-release-index.mjs +112 -0
  403. package/scripts/release/release-index-lib.mjs +232 -0
  404. package/scripts/release/sign-release-index.mjs +85 -0
  405. package/scripts/release/validate-release-assets.mjs +170 -0
  406. package/scripts/release/verify-release.mjs +261 -0
  407. package/scripts/restore-pg.sh +34 -0
  408. package/scripts/scaffold/create-settld-paid-tool.mjs +19 -0
  409. package/scripts/sdk/smoke-python.py +30 -0
  410. package/scripts/sdk/smoke.mjs +16 -0
  411. package/scripts/settlement/x402-batch-worker.mjs +1091 -0
  412. package/scripts/setup/circle-bootstrap.mjs +310 -0
  413. package/scripts/setup/host-config.mjs +617 -0
  414. package/scripts/setup/onboard.mjs +1337 -0
  415. package/scripts/setup/openclaw-onboard.mjs +423 -0
  416. package/scripts/setup/wizard.mjs +986 -0
  417. package/scripts/slo/check.mjs +239 -0
  418. package/scripts/smoke/k8s-smoke.mjs +214 -0
  419. package/scripts/spec/generate-protocol-vectors.mjs +1019 -0
  420. package/scripts/test/check-no-generated-artifacts.sh +12 -0
  421. package/scripts/test/run.sh +59 -0
  422. package/scripts/trust/validate-trust-file.mjs +57 -0
  423. package/scripts/trust-config/rotate-settld-pay.mjs +277 -0
  424. package/scripts/trust-config/wizard.mjs +161 -0
  425. package/scripts/vendor-contract-test-lib.mjs +182 -0
  426. package/scripts/vendor-contract-test.mjs +55 -0
  427. package/scripts/vercel/build-mkdocs.sh +9 -0
  428. package/scripts/vercel/ignore-mkdocs.sh +25 -0
  429. package/scripts/vercel/install-mkdocs.sh +6 -0
  430. package/scripts/verify-pg.js +217 -0
  431. package/scripts/x402/receipt-verify.mjs +289 -0
  432. package/services/finance-sink/src/dedupe-store.js +29 -6
  433. package/services/receiver/src/dedupe-store.js +29 -5
  434. package/services/x402-gateway/Dockerfile +13 -0
  435. package/services/x402-gateway/README.md +58 -0
  436. package/services/x402-gateway/examples/upstream-mock.js +337 -0
  437. package/services/x402-gateway/src/server.js +1058 -0
  438. package/src/api/app.js +34658 -16940
  439. package/src/api/maintenance.js +70 -0
  440. package/src/api/middleware/trust-kernel.js +114 -0
  441. package/src/api/openapi.js +1778 -70
  442. package/src/api/persistence.js +456 -0
  443. package/src/api/server.js +81 -5
  444. package/src/api/store.js +1581 -62
  445. package/src/api/workers/deliveries.js +99 -4
  446. package/src/api/workers/insolvency-sweep.js +159 -0
  447. package/src/core/agent-card.js +69 -0
  448. package/src/core/agent-wallets.js +231 -0
  449. package/src/core/agreement-delegation.js +549 -0
  450. package/src/core/billing-plans.js +40 -6
  451. package/src/core/circle-reserve-adapter.js +845 -0
  452. package/src/core/event-policy.js +21 -2
  453. package/src/core/maintenance-locks.js +1 -0
  454. package/src/core/operator-action.js +303 -0
  455. package/src/core/paid-tool-manifest.js +318 -0
  456. package/src/core/policy-decision.js +322 -0
  457. package/src/core/policy-packs.js +207 -0
  458. package/src/core/profile-fingerprint.js +27 -0
  459. package/src/core/profile-simulation-reasons.js +84 -0
  460. package/src/core/profile-templates.js +242 -0
  461. package/src/core/provider-publish-conformance.js +525 -0
  462. package/src/core/provider-publish-proof.js +396 -0
  463. package/src/core/provider-quote-signature.js +170 -0
  464. package/src/core/settld-keys.js +112 -0
  465. package/src/core/settld-pay-token.js +344 -0
  466. package/src/core/settlement-kernel.js +239 -2
  467. package/src/core/settlement-verifier.js +335 -0
  468. package/src/core/tool-call-agreement.js +112 -0
  469. package/src/core/tool-call-evidence.js +144 -0
  470. package/src/core/tool-provider-signature.js +98 -0
  471. package/src/core/wallet-assignment-resolver.js +129 -0
  472. package/src/core/wallet-provider-bootstrap.js +365 -0
  473. package/src/core/x402-escalation-override.js +258 -0
  474. package/src/core/x402-gate.js +118 -0
  475. package/src/core/x402-provider-refund-decision.js +220 -0
  476. package/src/core/x402-receipt-verifier.js +708 -0
  477. package/src/core/x402-reversal-command.js +251 -0
  478. package/src/core/x402-wallet-issuer-decision.js +252 -0
  479. package/src/core/zk-verifier.js +300 -0
  480. package/src/db/migrations/029_reputation_event_index.sql +54 -0
  481. package/src/db/migrations/030_artifacts_source_event_unique_job_only.sql +15 -0
  482. package/src/db/pg.js +18 -7
  483. package/src/db/store-pg.js +1508 -111
@@ -0,0 +1,348 @@
1
+ # Trust OS v1 (Jira-Ready Backlog)
2
+
3
+ Date: 2026-02-20
4
+ Owner: CEO / Product / Platform
5
+ Release Name: `Trust OS v1`
6
+ Release Objective: Ship a production-grade, rail-agnostic inter-agent trust kernel with deterministic policy enforcement, dispute/reversal handling, auditable receipts, and operator controls.
7
+
8
+ ## Scope Boundaries (v1)
9
+
10
+ In scope:
11
+ - Runtime decisions: `allow`, `challenge`, `deny`, `escalate`.
12
+ - Request binding, policy hash pinning, deterministic evidence/receipt export.
13
+ - Dispute lifecycle + arbitration verdict + automatic settlement/reversal outcome.
14
+ - Operator inbox (approval/escalation controls).
15
+ - One hardened rail adapter path.
16
+ - Three starter vertical profiles.
17
+
18
+ Out of scope:
19
+ - Policy marketplace and monetization.
20
+ - Full open discovery network.
21
+ - Building a new wallet rail.
22
+
23
+ ## Program Milestones
24
+
25
+ - Milestone M1 (Sprint 1): Enforcement core + request binding + receipt schema freeze.
26
+ - Milestone M2 (Sprint 2): Dispute/reversal runtime + operator inbox MVP.
27
+ - Milestone M3 (Sprint 3): Rail adapter hardening + profile system + release gate.
28
+
29
+ ## Epics
30
+
31
+ - `STLD-E2401` Policy Runtime Enforcement
32
+ - `STLD-E2402` Execution Binding + Evidence + Receipts
33
+ - `STLD-E2403` Dispute Court + Reversal Engine
34
+ - `STLD-E2404` Operator Inbox + Controls
35
+ - `STLD-E2405` Rail Adapter Hardening
36
+ - `STLD-E2406` Vertical Policy Profiles
37
+ - `STLD-E2407` QA, Conformance, and Release Gates
38
+
39
+ ## Jira Ticket Backlog
40
+
41
+ ### Epic `STLD-E2401` Policy Runtime Enforcement
42
+
43
+ #### `STLD-T2401`
44
+ - Type: Story
45
+ - Priority: P0
46
+ - Summary: Implement canonical runtime policy decision point (`allow/challenge/deny/escalate`) for all paid action paths.
47
+ - Owner: Backend Platform
48
+ - Estimate: 5d
49
+ - Dependencies: None
50
+ - Acceptance Criteria:
51
+ - Every paid action path calls policy runtime before execution.
52
+ - Decision output includes `decision`, `reasonCode`, `policyHash`, `policyVersion`, `decisionId`.
53
+ - Deterministic decision output for same input and policy version.
54
+
55
+ #### `STLD-T2402`
56
+ - Type: Story
57
+ - Priority: P0
58
+ - Summary: Add stable reason code registry and API surface for denied/challenged/escalated actions.
59
+ - Owner: Backend Platform
60
+ - Estimate: 3d
61
+ - Dependencies: `STLD-T2401`
62
+ - Acceptance Criteria:
63
+ - Reason codes are schema-validated and documented.
64
+ - API responses expose reason code and remediation hints.
65
+ - CLI/SDK map reason codes consistently.
66
+
67
+ #### `STLD-T2403`
68
+ - Type: Story
69
+ - Priority: P0
70
+ - Summary: Enforce policy evaluation at MCP entry points and bridge paths.
71
+ - Owner: MCP / Integrations
72
+ - Estimate: 3d
73
+ - Dependencies: `STLD-T2401`
74
+ - Acceptance Criteria:
75
+ - MCP tool calls cannot bypass policy runtime.
76
+ - MCP responses return policy decision metadata.
77
+ - Integration tests cover allowed/challenged/denied flows.
78
+
79
+ #### `STLD-T2404`
80
+ - Type: Task
81
+ - Priority: P1
82
+ - Summary: Add policy decision metrics and latency SLO instrumentation.
83
+ - Owner: DevOps / Observability
84
+ - Estimate: 2d
85
+ - Dependencies: `STLD-T2401`
86
+ - Acceptance Criteria:
87
+ - Metrics emitted: decision count by type/reason, eval latency p50/p95.
88
+ - Dashboard and alert thresholds configured.
89
+
90
+ ### Epic `STLD-E2402` Execution Binding + Evidence + Receipts
91
+
92
+ #### `STLD-T2410`
93
+ - Type: Story
94
+ - Priority: P0
95
+ - Summary: Enforce request binding between authorization token and canonical request fingerprint.
96
+ - Owner: Backend Platform
97
+ - Estimate: 4d
98
+ - Dependencies: `STLD-T2401`
99
+ - Acceptance Criteria:
100
+ - Request mutation/replay attempts fail with deterministic error code.
101
+ - Fingerprint algorithm is stable and versioned.
102
+ - Test vectors added for strict and side-effecting modes.
103
+
104
+ #### `STLD-T2411`
105
+ - Type: Story
106
+ - Priority: P0
107
+ - Summary: Bind policy hash/version and request hash into settlement decision records.
108
+ - Owner: Backend Platform
109
+ - Estimate: 2d
110
+ - Dependencies: `STLD-T2410`
111
+ - Acceptance Criteria:
112
+ - Decision records include policy/version/request binding fields.
113
+ - Offline verifier validates these bindings.
114
+
115
+ #### `STLD-T2412`
116
+ - Type: Story
117
+ - Priority: P0
118
+ - Summary: Ship `ReceiptBundle.v1` export with deterministic manifest and verification output.
119
+ - Owner: Protocol / Backend
120
+ - Estimate: 4d
121
+ - Dependencies: `STLD-T2411`
122
+ - Acceptance Criteria:
123
+ - Receipt bundle includes decision, settlement, and verification artifacts.
124
+ - Bundle verifies offline with strict mode.
125
+ - Repeat export produces identical canonical hashes.
126
+
127
+ #### `STLD-T2413`
128
+ - Type: Task
129
+ - Priority: P1
130
+ - Summary: Add SDK helpers for receipt retrieval/export across JS and Python.
131
+ - Owner: SDK
132
+ - Estimate: 3d
133
+ - Dependencies: `STLD-T2412`
134
+ - Acceptance Criteria:
135
+ - JS and Python SDK expose receipt export APIs.
136
+ - SDK smoke tests cover end-to-end retrieval and verification.
137
+
138
+ ### Epic `STLD-E2403` Dispute Court + Reversal Engine
139
+
140
+ #### `STLD-T2420`
141
+ - Type: Story
142
+ - Priority: P0
143
+ - Summary: Implement dispute case state machine (`opened`, `evidence_collected`, `under_review`, `verdict_issued`, `closed`).
144
+ - Owner: Backend Platform
145
+ - Estimate: 4d
146
+ - Dependencies: `STLD-T2411`
147
+ - Acceptance Criteria:
148
+ - State transitions are deterministic and idempotent.
149
+ - Invalid transitions are blocked with stable error codes.
150
+ - Case timeline is append-only and signed.
151
+
152
+ #### `STLD-T2421`
153
+ - Type: Story
154
+ - Priority: P0
155
+ - Summary: Implement verdict application pipeline to trigger automatic release/refund/reversal outcomes.
156
+ - Owner: Backend Platform
157
+ - Estimate: 4d
158
+ - Dependencies: `STLD-T2420`
159
+ - Acceptance Criteria:
160
+ - Verdict maps to deterministic financial outcome.
161
+ - Reversal entries are balanced and idempotent.
162
+ - Duplicate verdict processing does not double-settle.
163
+
164
+ #### `STLD-T2422`
165
+ - Type: Story
166
+ - Priority: P0
167
+ - Summary: Add dispute APIs and SDK wrappers for open/attach evidence/issue verdict.
168
+ - Owner: API + SDK
169
+ - Estimate: 3d
170
+ - Dependencies: `STLD-T2420`
171
+ - Acceptance Criteria:
172
+ - APIs exposed with authz enforcement.
173
+ - SDK wrappers for JS/Python and MCP tool surface.
174
+ - Contract tests cover happy and failure cases.
175
+
176
+ #### `STLD-T2423`
177
+ - Type: Task
178
+ - Priority: P1
179
+ - Summary: Add dispute SLA timers and escalation triggers.
180
+ - Owner: Backend Platform
181
+ - Estimate: 2d
182
+ - Dependencies: `STLD-T2420`
183
+ - Acceptance Criteria:
184
+ - Time-window breaches emit escalation events.
185
+ - Alerts and dashboards for aging disputes.
186
+
187
+ ### Epic `STLD-E2404` Operator Inbox + Controls
188
+
189
+ #### `STLD-T2430`
190
+ - Type: Story
191
+ - Priority: P0
192
+ - Summary: Build operator inbox page for challenged/escalated actions with approve/deny actions.
193
+ - Owner: Frontend
194
+ - Estimate: 5d
195
+ - Dependencies: `STLD-T2401`, `STLD-T2422`
196
+ - Acceptance Criteria:
197
+ - Operators can view pending items with policy context and evidence refs.
198
+ - Approve/deny writes signed operator action events.
199
+ - Pagination/filtering by tenant and severity.
200
+
201
+ #### `STLD-T2431`
202
+ - Type: Story
203
+ - Priority: P0
204
+ - Summary: Implement emergency controls: pause agent, quarantine, revoke delegation, kill switch.
205
+ - Owner: Backend + Frontend
206
+ - Estimate: 4d
207
+ - Dependencies: `STLD-T2430`
208
+ - Acceptance Criteria:
209
+ - Emergency actions are auditable and idempotent.
210
+ - Paused/quarantined agents cannot execute paid actions.
211
+ - Recovery flow documented and tested.
212
+
213
+ #### `STLD-T2432`
214
+ - Type: Task
215
+ - Priority: P1
216
+ - Summary: Add operator decision audit export for finance and compliance.
217
+ - Owner: Backend
218
+ - Estimate: 2d
219
+ - Dependencies: `STLD-T2430`
220
+ - Acceptance Criteria:
221
+ - Export contains decision metadata, actor, timestamp, reason, linked receipt/case IDs.
222
+
223
+ ### Epic `STLD-E2405` Rail Adapter Hardening
224
+
225
+ #### `STLD-T2440`
226
+ - Type: Story
227
+ - Priority: P0
228
+ - Summary: Harden one production adapter lane (`x402 + Stripe` or `x402 + AWAL`) under Trust OS enforcement.
229
+ - Owner: Integrations
230
+ - Estimate: 5d
231
+ - Dependencies: `STLD-T2403`, `STLD-T2412`, `STLD-T2421`
232
+ - Acceptance Criteria:
233
+ - End-to-end flow uses adapter with Trust OS decisions.
234
+ - Settlement and receipts remain deterministic.
235
+ - Replay and mutation attacks are rejected in adapter path.
236
+
237
+ #### `STLD-T2441`
238
+ - Type: Task
239
+ - Priority: P1
240
+ - Summary: Add adapter conformance tests and CI gate.
241
+ - Owner: QA / Integrations
242
+ - Estimate: 2d
243
+ - Dependencies: `STLD-T2440`
244
+ - Acceptance Criteria:
245
+ - CI fails on adapter regressions.
246
+ - Conformance report artifact uploaded per run.
247
+
248
+ ### Epic `STLD-E2406` Vertical Policy Profiles
249
+
250
+ #### `STLD-T2450`
251
+ - Type: Story
252
+ - Priority: P0
253
+ - Summary: Implement profile schema and profile hashing/signing contract.
254
+ - Owner: Protocol + Backend
255
+ - Estimate: 3d
256
+ - Dependencies: `STLD-T2401`
257
+ - Acceptance Criteria:
258
+ - Profile schema supports limits, allowlists, approval tiers, dispute defaults, compliance toggles.
259
+ - Profile hash is embedded in decisions/receipts.
260
+
261
+ #### `STLD-T2451`
262
+ - Type: Story
263
+ - Priority: P0
264
+ - Summary: Add CLI commands: `settld profile init`, `validate`, `simulate`.
265
+ - Owner: CLI
266
+ - Estimate: 4d
267
+ - Dependencies: `STLD-T2450`
268
+ - Acceptance Criteria:
269
+ - `init` scaffolds profile manifest and rules.
270
+ - `validate` performs schema + semantic checks.
271
+ - `simulate` runs policy against provided scenarios and outputs deterministic results.
272
+
273
+ #### `STLD-T2452`
274
+ - Type: Story
275
+ - Priority: P0
276
+ - Summary: Ship three starter profiles: `engineering-spend`, `procurement`, `data-api-buyer`.
277
+ - Owner: Product + Backend
278
+ - Estimate: 3d
279
+ - Dependencies: `STLD-T2451`
280
+ - Acceptance Criteria:
281
+ - Profiles are packaged and documented.
282
+ - Simulation fixtures pass in CI.
283
+
284
+ #### `STLD-T2453`
285
+ - Type: Task
286
+ - Priority: P1
287
+ - Summary: Add profile docs and quickstart guides in MkDocs/GitBook.
288
+ - Owner: Docs
289
+ - Estimate: 2d
290
+ - Dependencies: `STLD-T2452`
291
+ - Acceptance Criteria:
292
+ - Docs include usage, simulation examples, and troubleshooting.
293
+
294
+ ### Epic `STLD-E2407` QA, Conformance, and Release Gates
295
+
296
+ #### `STLD-T2460`
297
+ - Type: Story
298
+ - Priority: P0
299
+ - Summary: Add security regression tests for replay, token mutation, bypass attempts, and unauthorized escalation actions.
300
+ - Owner: QA / Security
301
+ - Estimate: 3d
302
+ - Dependencies: `STLD-T2410`, `STLD-T2431`
303
+ - Acceptance Criteria:
304
+ - Automated test suite covers top abuse paths.
305
+ - CI blocks release on failures.
306
+
307
+ #### `STLD-T2461`
308
+ - Type: Story
309
+ - Priority: P0
310
+ - Summary: Add end-to-end deterministic test: challenge -> operator approve -> execute -> receipt -> dispute -> verdict -> reversal.
311
+ - Owner: QA
312
+ - Estimate: 3d
313
+ - Dependencies: `STLD-T2422`, `STLD-T2430`
314
+ - Acceptance Criteria:
315
+ - E2E test runs in CI and emits artifact traces.
316
+ - Idempotency and deterministic output asserted.
317
+
318
+ #### `STLD-T2462`
319
+ - Type: Task
320
+ - Priority: P0
321
+ - Summary: Enforce release gate checklist for Trust OS v1 (conformance, receipts, disputes, adapters, docs).
322
+ - Owner: DevOps
323
+ - Estimate: 2d
324
+ - Dependencies: `STLD-T2460`, `STLD-T2461`, `STLD-T2441`, `STLD-T2453`
325
+ - Acceptance Criteria:
326
+ - Release workflow blocks tag publish if any gate fails.
327
+ - Release artifact bundle includes proof of all required checks.
328
+
329
+ ## Sprint Plan (Suggested)
330
+
331
+ ### Sprint 1 (Weeks 1-2)
332
+ - `STLD-T2401`, `STLD-T2402`, `STLD-T2403`, `STLD-T2410`, `STLD-T2411`, `STLD-T2460`
333
+
334
+ ### Sprint 2 (Weeks 3-4)
335
+ - `STLD-T2412`, `STLD-T2420`, `STLD-T2421`, `STLD-T2422`, `STLD-T2430`, `STLD-T2431`
336
+
337
+ ### Sprint 3 (Weeks 5-6)
338
+ - `STLD-T2440`, `STLD-T2441`, `STLD-T2450`, `STLD-T2451`, `STLD-T2452`, `STLD-T2461`, `STLD-T2462`, `STLD-T2453`
339
+
340
+ ## Release Exit Criteria (Trust OS v1)
341
+
342
+ - Runtime policy enforcement is mandatory for all paid actions.
343
+ - Request binding enforcement blocks replay/mutation attempts.
344
+ - Receipt bundle export verifies offline in strict mode.
345
+ - Dispute->verdict->financial outcome is deterministic and replay-safe.
346
+ - Operator emergency controls are audited and tested.
347
+ - One rail adapter path is production-hardened and conformance-gated.
348
+ - Three vertical profiles are documented and simulation-tested.
@@ -0,0 +1,169 @@
1
+ # Agent Economic Actor Operating Model (v1)
2
+
3
+ Date: 2026-02-21
4
+ Owner: Product + Platform + Risk
5
+
6
+ ## Why this model
7
+
8
+ Goal: let agents spend and act with much more autonomy while keeping actions bounded, auditable, and reversible.
9
+
10
+ Settld does this by treating autonomy as a controlled envelope:
11
+
12
+ 1. identity + delegation,
13
+ 2. policy-bound authorization,
14
+ 3. deterministic evidence + receipts,
15
+ 4. dispute/reversal recourse.
16
+
17
+ ## How customers are served
18
+
19
+ Primary user groups:
20
+
21
+ 1. Agent builders: quick setup, policy profiles, paid tool calls, receipts.
22
+ 2. Platform/runtime teams: central controls across hosts, no-bypass enforcement.
23
+ 3. Ops/finance/risk/compliance: audit exports, dispute workflows, deterministic reconciliation.
24
+ 4. Design partners: staged rollout with fail-closed release gates.
25
+
26
+ ## Deployment modes
27
+
28
+ ### Mode A: Hosted control plane + managed wallet (default)
29
+ - `settld setup --wallet-mode managed --wallet-bootstrap remote`
30
+ - Fastest time-to-first-paid-call, least wallet ops burden.
31
+
32
+ ### Mode B: Hosted control plane + BYO wallet
33
+ - `settld setup --wallet-mode byo`
34
+ - Customer controls custody while Settld enforces trust contract.
35
+
36
+ ### Mode C: Hosted/self-hosted control plane + no wallet rails
37
+ - `settld setup --wallet-mode none`
38
+ - Non-paid trust control path (proof/audit/dispute readiness before spend).
39
+
40
+ Reference flows:
41
+ - `docs/QUICKSTART_MCP_HOSTS.md`
42
+ - `scripts/setup/onboard.mjs`
43
+ - `services/magic-link/src/server.js`
44
+
45
+ ## Should Settld manage agent wallets?
46
+
47
+ Answer: optional and policy-dependent.
48
+
49
+ 1. Managed mode: Settld control plane bootstraps wallet provider config and returns runtime env.
50
+ 2. BYO mode: customer supplies wallet env/refs; Settld still enforces policy and receipts.
51
+ 3. No-wallet mode: only trust/evidence control path is active.
52
+
53
+ Wallet bootstrap and runtime bootstrap endpoints:
54
+ - `POST /v1/tenants/{tenantId}/onboarding/wallet-bootstrap`
55
+ - `POST /v1/tenants/{tenantId}/onboarding/runtime-bootstrap`
56
+ - `POST /v1/tenants/{tenantId}/onboarding/runtime-bootstrap/smoke-test`
57
+
58
+ ## Should every agent have identity?
59
+
60
+ Yes.
61
+
62
+ Identity model (already defined in spec surface):
63
+
64
+ 1. `AgentPassport.v1`: principal binding + active key anchors + delegation root + policy envelope.
65
+ 2. `DelegationGrant.v1`: bounded authority transfer (scope, spend limits, depth, revocation).
66
+ 3. `ExecutionIntent.v1`: canonical request/risk/spend/policy binding precondition.
67
+
68
+ Spec anchors:
69
+ - `docs/spec/AgentPassport.v1.md`
70
+ - `docs/spec/DelegationGrant.v1.md`
71
+ - `docs/spec/ExecutionIntent.v1.md`
72
+
73
+ Runtime anchors:
74
+ - `src/api/app.js` (passport validation, delegation lineage, wallet policy enforcement)
75
+ - `src/core/settlement-kernel.js`
76
+
77
+ ## How wallet assignment should work
78
+
79
+ Do not default to “1 wallet per agent.”
80
+ Default to deterministic assignment:
81
+
82
+ `tenant + environment + profile + risk tier + delegation depth -> sponsorWalletRef + policyRef + policyVersion`
83
+
84
+ Recommended rules:
85
+
86
+ 1. High-risk financial agents: dedicated sponsor wallet.
87
+ 2. Low-risk read/compute agents: pooled sponsor wallet with strict per-call and daily limits.
88
+ 3. Delegated child agents: inherited wallet policy with depth checks and tighter caps.
89
+ 4. Cross-team isolation: separate wallet by business unit + policy pack.
90
+
91
+ ## How agents get funded
92
+
93
+ Funding control should be policy-driven, not ad hoc:
94
+
95
+ 1. Prefund sponsor wallet.
96
+ 2. Enforce per-call, per-day, and cumulative limits.
97
+ 3. Add threshold-based top-up automation.
98
+ 4. Lock escrow before authorization where required.
99
+ 5. Require deterministic reserve and rollback semantics on failure.
100
+
101
+ Current code anchors:
102
+ - `src/api/app.js` (`computeX402DailyAuthorizedExposureCents`, wallet policy checks, reserve + rollback)
103
+ - `src/core/money-rail-adapters.js`
104
+ - `src/core/x402-gate.js`
105
+
106
+ ## Setup flow (operator runbook)
107
+
108
+ 1. Tenant bootstrap (runtime key material and tenant setup).
109
+ 2. Wallet bootstrap (`managed` local/remote or `byo` env resolution).
110
+ 3. Runtime bootstrap (MCP env + host config).
111
+ 4. Profile apply (`settld profile ...`) and passport generation.
112
+ 5. Host smoke test and first paid call run.
113
+ 6. Conformance matrix + release gate checks.
114
+
115
+ Command anchors:
116
+ - `settld setup`
117
+ - `settld profile init|validate|simulate|apply`
118
+ - `npm run mcp:probe`
119
+ - `settld doctor`
120
+
121
+ ## What this enables agents to do
122
+
123
+ As autonomy tiers increase, agents can do more actions safely:
124
+
125
+ ### Tier 0 (Observe)
126
+ - Read-only calls, no spend.
127
+
128
+ ### Tier 1 (Bounded spend)
129
+ - Paid tool calls under strict caps and allowlists.
130
+
131
+ ### Tier 2 (Delegated execution)
132
+ - Multi-step workflows with delegation lineage and challenge windows.
133
+
134
+ ### Tier 3 (Conditional autonomy)
135
+ - Challenge/escalate fallback and operator overrides.
136
+
137
+ ### Tier 4 (Programmatic economic actor)
138
+ - Cross-tool/cross-agent spend orchestration with deterministic receipts, disputes, and reversals.
139
+
140
+ ## Hard controls (must stay fail-closed)
141
+
142
+ 1. No policy bypass across MCP stdio, MCP HTTP bridge, and gateway paths.
143
+ 2. Authority boundaries: who can sign/revoke/pause/kill-switch.
144
+ 3. Adapter invariant conformance for every rail lane.
145
+ 4. Determinism soak checks for repeat export/verification.
146
+ 5. Onboarding SLO gates for real operator usability.
147
+
148
+ ## What still must be built
149
+
150
+ 1. No-bypass negative matrix as release blocker.
151
+ 2. Authority boundary and rollback drill automation.
152
+ 3. Shared adapter invariant gate for all rails.
153
+ 4. Deterministic repeat-run soak gate.
154
+ 5. Onboarding SLO CI gate tied to runtime metrics.
155
+
156
+ Execution artifacts:
157
+ - `planning/jira/trust-os-v1-gap-closure-backlog.json`
158
+ - `planning/jira/trust-os-v1-gap-closure-tickets.csv`
159
+ - `planning/jira/agent-economic-actor-backlog.json`
160
+
161
+ ## External research references
162
+
163
+ - Coinbase AgentKit docs: [https://docs.cdp.coinbase.com/agent-kit/docs/welcome](https://docs.cdp.coinbase.com/agent-kit/docs/welcome)
164
+ - Coinbase Agentic Wallet docs: [https://docs.cdp.coinbase.com/agentic-wallet/welcome](https://docs.cdp.coinbase.com/agentic-wallet/welcome)
165
+ - Circle docs: [https://developers.circle.com/](https://developers.circle.com/)
166
+ - Privy docs: [https://docs.privy.io/](https://docs.privy.io/)
167
+ - SPIFFE overview: [https://spiffe.io/docs/latest/spiffe-about/overview/](https://spiffe.io/docs/latest/spiffe-about/overview/)
168
+ - EIP-4337: [https://eips.ethereum.org/EIPS/eip-4337](https://eips.ethereum.org/EIPS/eip-4337)
169
+