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.
- package/README.md +93 -3
- package/SETTLD_VERSION +1 -1
- package/bin/settld-mcp +2 -0
- package/bin/settld.js +71 -0
- package/conformance/kernel-v0/README.md +7 -0
- package/conformance/kernel-v0/run.mjs +292 -4
- package/docs/ACCESS.md +57 -0
- package/docs/ADOPTION_CHECKLIST.md +44 -0
- package/docs/ALERTS.md +198 -0
- package/docs/ARCHITECTURE.md +69 -0
- package/docs/ARCHITECTURE_FOUNDER_GUIDE.md +284 -0
- package/docs/ARTIFACTS.md +60 -0
- package/docs/CERTIFICATION_CHECKLIST.md +33 -0
- package/docs/CIRCLE_SANDBOX_E2E.md +152 -0
- package/docs/CONFIG.md +297 -0
- package/docs/CONTRACTS_APIS.md +23 -0
- package/docs/DEPRECATION.md +31 -0
- package/docs/DOMAIN_MODEL.md +92 -0
- package/docs/EVENT_ENVELOPE.md +53 -0
- package/docs/FINANCE_PACK_FORMAT.md +53 -0
- package/docs/INCIDENT_TAXONOMY.md +30 -0
- package/docs/JOB_STATE_MACHINE.md +66 -0
- package/docs/KERNEL_COMPATIBLE.md +60 -0
- package/docs/KERNEL_V0.md +40 -0
- package/docs/KEY_ROTATION.md +80 -0
- package/docs/LEDGER.md +82 -0
- package/docs/LIVENESS.md +76 -0
- package/docs/MVP_BUILD_ORDER.md +36 -0
- package/docs/ONCALL_PLAYBOOK.md +39 -0
- package/docs/OPERATIONS_SIGNING.md +20 -0
- package/docs/OVERVIEW.md +190 -0
- package/docs/PERF_BASELINE.md +85 -0
- package/docs/PRD.md +77 -0
- package/docs/QUICKSTART_KERNEL_V0.md +96 -0
- package/docs/QUICKSTART_MCP.md +377 -0
- package/docs/QUICKSTART_MCP_HOSTS.md +210 -0
- package/docs/QUICKSTART_POLICY_PACKS.md +65 -0
- package/docs/QUICKSTART_PRODUCE.md +61 -0
- package/docs/QUICKSTART_PROFILES.md +198 -0
- package/docs/QUICKSTART_RELEASE_VERIFY.md +39 -0
- package/docs/QUICKSTART_SDK.md +125 -0
- package/docs/QUICKSTART_SDK_PYTHON.md +111 -0
- package/docs/QUICKSTART_VERIFY.md +54 -0
- package/docs/QUICKSTART_X402_GATEWAY.md +317 -0
- package/docs/README.md +33 -0
- package/docs/RELEASE_CHECKLIST.md +182 -0
- package/docs/RELEASING.md +82 -0
- package/docs/REPO_SETTINGS.md +37 -0
- package/docs/RUNBOOK.md +86 -0
- package/docs/SKILLS.md +42 -0
- package/docs/SKILL_BUNDLE_FORMAT.md +48 -0
- package/docs/SLO.md +131 -0
- package/docs/SUMMARY.md +17 -0
- package/docs/SUPPORT.md +31 -0
- package/docs/THREAT_MODEL.md +36 -0
- package/docs/TRUST.md +59 -0
- package/docs/WORKFLOW.md +35 -0
- package/docs/X402_BATCH_SETTLEMENT.md +126 -0
- package/docs/blog/2026-02-14-your-ai-agent-just-spent-500-where-is-the-receipt.md +73 -0
- package/docs/examples/x402-provider-payout-registry.example.json +14 -0
- package/docs/gitbook/README.md +64 -0
- package/docs/gitbook/SETUP.md +25 -0
- package/docs/gitbook/SUMMARY.md +15 -0
- package/docs/gitbook/api-reference.md +73 -0
- package/docs/gitbook/closepacks.md +55 -0
- package/docs/gitbook/conformance.md +59 -0
- package/docs/gitbook/core-primitives.md +85 -0
- package/docs/gitbook/dispute-lifecycle.md +33 -0
- package/docs/gitbook/faq.md +21 -0
- package/docs/gitbook/guides.md +49 -0
- package/docs/gitbook/operations-runbook.md +36 -0
- package/docs/gitbook/quickstart.md +103 -0
- package/docs/gitbook/replay-and-audit.md +30 -0
- package/docs/gitbook/sdk-reference.md +35 -0
- package/docs/gitbook/security-model.md +58 -0
- package/docs/integrations/README.md +15 -0
- package/docs/integrations/github-actions-verify.yml +31 -0
- package/docs/integrations/github-actions.md +34 -0
- package/docs/integrations/openclaw/CLAWHUB_PUBLISH_CHECKLIST.md +65 -0
- package/docs/integrations/openclaw/PUBLIC_QUICKSTART.md +95 -0
- package/docs/integrations/openclaw/settld-mcp-skill/SKILL.md +69 -0
- package/docs/integrations/openclaw/settld-mcp-skill/mcp-server.example.json +12 -0
- package/docs/kernel-compatible/capabilities.json +36 -0
- package/docs/marketing/agent-commerce-substrate.md +78 -0
- package/docs/marketing/hn-repost-2026-02-17.md +102 -0
- package/docs/marketing/show-hn-post.md +45 -0
- package/docs/ops/ARTIFACT_VERIFICATION_STATUS.md +43 -0
- package/docs/ops/BILLING_WEBHOOK_REPLAY.md +105 -0
- package/docs/ops/CI_FLAKE_BUDGET.md +31 -0
- package/docs/ops/DISPUTE_FINANCE_RECONCILIATION_PACKET.md +56 -0
- package/docs/ops/GO_LIVE_GATE_S13.md +27 -0
- package/docs/ops/HOSTED_BASELINE_R2.md +129 -0
- package/docs/ops/KERNEL_V0_SHIP_GATE.md +69 -0
- package/docs/ops/LIGHTHOUSE_PRODUCTION_CLOSE.md +51 -0
- package/docs/ops/MCP_COMPATIBILITY_MATRIX.md +30 -0
- package/docs/ops/MINIMUM_PRODUCTION_TOPOLOGY.md +89 -0
- package/docs/ops/P0_BACKEND_PROGRESS.md +150 -0
- package/docs/ops/PAYMENTS_ALPHA_R5.md +105 -0
- package/docs/ops/PILOT_ONBOARDING_RUNBOOK.md +112 -0
- package/docs/ops/PRODUCTION_DEPLOYMENT_CHECKLIST.md +140 -0
- package/docs/ops/R1_SLOS.md +66 -0
- package/docs/ops/RELEASE_SIGNING_INCIDENT.md +58 -0
- package/docs/ops/SELF_SERVE_LAUNCH_AUTOMATION.md +89 -0
- package/docs/ops/THROUGHPUT_DRILL_10X.md +48 -0
- package/docs/ops/TRUST_CONFIG_WIZARD.md +60 -0
- package/docs/ops/X402_PILOT_WEEKLY_METRICS.md +76 -0
- package/docs/ops/tool-call-disputes-holdback.md +52 -0
- package/docs/pilot-kit/PILOT_PACKAGE_SCORECARD_X402.md +46 -0
- package/docs/pilot-kit/README.md +29 -0
- package/docs/pilot-kit/architecture-one-pager.md +48 -0
- package/docs/pilot-kit/buyer-email.txt +19 -0
- package/docs/pilot-kit/buyer-one-pager.md +31 -0
- package/docs/pilot-kit/gtm-pilot-playbook.md +182 -0
- package/docs/pilot-kit/offline-verify.md +33 -0
- package/docs/pilot-kit/procurement-one-pager.md +50 -0
- package/docs/pilot-kit/rfp-clause.md +46 -0
- package/docs/pilot-kit/roi-calculator-template.csv +2 -0
- package/docs/pilot-kit/security-qa.md +153 -0
- package/docs/pilot-kit/security-summary.md +35 -0
- package/docs/plans/2026-02-13-mcp-spike-design.md +113 -0
- package/docs/plans/2026-02-20-trust-os-v1-jira-backlog.md +348 -0
- package/docs/plans/2026-02-21-agent-economic-actor-operating-model.md +169 -0
- package/docs/plans/2026-02-21-trust-os-v1-strategy.md +241 -0
- package/docs/research/2026-02-21-agent-spend-host-landscape.md +57 -0
- package/docs/spec/AcceptanceCriteria.v1.md +17 -0
- package/docs/spec/AcceptanceEvaluation.v1.md +10 -0
- package/docs/spec/AgentEvent.v1.md +47 -0
- package/docs/spec/AgentIdentity.v1.md +62 -0
- package/docs/spec/AgentPassport.v1.md +95 -0
- package/docs/spec/AgentReputation.v1.md +59 -0
- package/docs/spec/AgentReputation.v2.md +52 -0
- package/docs/spec/AgentRun.v1.md +47 -0
- package/docs/spec/AgentRunSettlement.v1.md +52 -0
- package/docs/spec/AgentWallet.v1.md +43 -0
- package/docs/spec/AgreementDelegation.v1.md +109 -0
- package/docs/spec/ArbitrationCase.v1.md +67 -0
- package/docs/spec/ArbitrationOutcomeMapping.v1.md +62 -0
- package/docs/spec/ArbitrationVerdict.v1.md +60 -0
- package/docs/spec/BundleHeadAttestation.v1.md +32 -0
- package/docs/spec/CANONICAL_JSON.md +31 -0
- package/docs/spec/CRYPTOGRAPHY.md +61 -0
- package/docs/spec/ClosePack.v1.md +49 -0
- package/docs/spec/ClosePackManifest.v1.md +24 -0
- package/docs/spec/DelegationGrant.v1.md +90 -0
- package/docs/spec/DisputeCaseLifecycle.v1.md +51 -0
- package/docs/spec/DisputeOpenEnvelope.v1.md +43 -0
- package/docs/spec/ERRORS.md +76 -0
- package/docs/spec/ESCROW_NETTING_INVARIANTS.md +71 -0
- package/docs/spec/EvidenceIndex.v1.md +20 -0
- package/docs/spec/ExecutionIntent.v1.md +90 -0
- package/docs/spec/FinancePackBundleManifest.v1.md +24 -0
- package/docs/spec/FundingHold.v1.md +60 -0
- package/docs/spec/GovernancePolicy.v1.md +34 -0
- package/docs/spec/GovernancePolicy.v2.md +30 -0
- package/docs/spec/INVARIANTS.md +389 -0
- package/docs/spec/InteractionDirectionMatrix.v1.md +30 -0
- package/docs/spec/InvoiceBundleManifest.v1.md +24 -0
- package/docs/spec/InvoiceClaim.v1.md +11 -0
- package/docs/spec/MONEY_RAIL_STATE_MACHINE.md +58 -0
- package/docs/spec/MarketplaceAcceptance.v2.md +46 -0
- package/docs/spec/MarketplaceOffer.v2.md +54 -0
- package/docs/spec/MeteringReport.v1.md +18 -0
- package/docs/spec/OperatorAction.v1.md +90 -0
- package/docs/spec/PRODUCER_ERRORS.md +42 -0
- package/docs/spec/PolicyDecision.v1.md +83 -0
- package/docs/spec/PricingMatrix.v1.md +20 -0
- package/docs/spec/PricingMatrixSignatures.v1.md +30 -0
- package/docs/spec/PricingMatrixSignatures.v2.md +29 -0
- package/docs/spec/ProduceCliOutput.v1.md +46 -0
- package/docs/spec/ProofBundleManifest.v1.md +24 -0
- package/docs/spec/README.md +109 -0
- package/docs/spec/REFERENCE_IMPLEMENTATIONS.md +29 -0
- package/docs/spec/REFERENCE_VERIFIER_BEHAVIOR.md +68 -0
- package/docs/spec/REMOTE_SIGNER.md +66 -0
- package/docs/spec/ReleaseIndex.v1.md +32 -0
- package/docs/spec/ReleaseIndexSignatures.v1.md +17 -0
- package/docs/spec/ReleaseTrust.v1.md +13 -0
- package/docs/spec/ReleaseTrust.v2.md +26 -0
- package/docs/spec/RemoteSignerRequest.v1.md +21 -0
- package/docs/spec/RemoteSignerResponse.v1.md +16 -0
- package/docs/spec/ReputationEvent.v1.md +63 -0
- package/docs/spec/RevocationList.v1.md +28 -0
- package/docs/spec/SIGNER_PROVIDER_PLUGIN.md +32 -0
- package/docs/spec/STRICTNESS.md +68 -0
- package/docs/spec/SUPPLY_CHAIN.md +33 -0
- package/docs/spec/SettlementAdjustment.v1.md +45 -0
- package/docs/spec/SettlementDecisionRecord.v1.md +48 -0
- package/docs/spec/SettlementDecisionRecord.v2.md +53 -0
- package/docs/spec/SettlementDecisionReport.v1.md +44 -0
- package/docs/spec/SettlementKernel.v1.md +59 -0
- package/docs/spec/SettlementReceipt.v1.md +63 -0
- package/docs/spec/SlaDefinition.v1.md +24 -0
- package/docs/spec/SlaEvaluation.v1.md +12 -0
- package/docs/spec/THREAT_MODEL.md +113 -0
- package/docs/spec/TOOL_PROVENANCE.md +30 -0
- package/docs/spec/TRUST_ANCHORS.md +84 -0
- package/docs/spec/TenantSettings.v1.md +90 -0
- package/docs/spec/TenantSettings.v2.md +99 -0
- package/docs/spec/TimestampProof.v1.md +25 -0
- package/docs/spec/ToolCallAgreement.v1.md +34 -0
- package/docs/spec/ToolCallEvidence.v1.md +47 -0
- package/docs/spec/ToolManifest.v1.md +47 -0
- package/docs/spec/VERIFIER_ENVIRONMENT.md +38 -0
- package/docs/spec/VERSIONING.md +107 -0
- package/docs/spec/VerificationReport.v1.md +50 -0
- package/docs/spec/VerifyAboutOutput.v1.md +10 -0
- package/docs/spec/VerifyCliOutput.v1.md +28 -0
- package/docs/spec/WARNINGS.md +83 -0
- package/docs/spec/error-codes.v1.txt +285 -0
- package/docs/spec/examples/agreement_delegation_v1.example.json +21 -0
- package/docs/spec/examples/arbitration_case_v1.example.json +26 -0
- package/docs/spec/examples/arbitration_verdict_v1.example.json +32 -0
- package/docs/spec/examples/dispute_open_envelope_v1.example.json +18 -0
- package/docs/spec/examples/produce_cli_output_v1.example.json +32 -0
- package/docs/spec/examples/release_index_signature_v1.example.json +9 -0
- package/docs/spec/examples/release_index_signatures_v1.example.json +14 -0
- package/docs/spec/examples/release_index_v1.example.json +15 -0
- package/docs/spec/examples/release_trust_v1.example.json +7 -0
- package/docs/spec/examples/release_trust_v2.example.json +22 -0
- package/docs/spec/examples/remote_signer_request_v1.example.json +18 -0
- package/docs/spec/examples/remote_signer_response_v1.example.json +8 -0
- package/docs/spec/examples/reputation_event_v1.example.json +29 -0
- package/docs/spec/examples/verification_report_v1.example.json +24 -0
- package/docs/spec/examples/verify_about_output_v1.example.json +29 -0
- package/docs/spec/examples/verify_cli_output_v1.example.json +13 -0
- package/docs/spec/legacy/MarketplaceAcceptance.v1.md +48 -0
- package/docs/spec/legacy/MarketplaceOffer.v1.md +56 -0
- package/docs/spec/legacy/schemas/MarketplaceAcceptance.v1.schema.json +53 -0
- package/docs/spec/legacy/schemas/MarketplaceOffer.v1.schema.json +61 -0
- package/docs/spec/producer-error-codes.v1.txt +14 -0
- package/docs/spec/schemas/AcceptanceCriteria.v1.schema.json +24 -0
- package/docs/spec/schemas/AcceptanceEvaluation.v1.schema.json +26 -0
- package/docs/spec/schemas/AgentEvent.v1.schema.json +49 -0
- package/docs/spec/schemas/AgentIdentity.v1.schema.json +129 -0
- package/docs/spec/schemas/AgentPassport.v1.schema.json +112 -0
- package/docs/spec/schemas/AgentReputation.v1.schema.json +151 -0
- package/docs/spec/schemas/AgentReputation.v2.schema.json +120 -0
- package/docs/spec/schemas/AgentRun.v1.schema.json +71 -0
- package/docs/spec/schemas/AgentRunSettlement.v1.schema.json +75 -0
- package/docs/spec/schemas/AgentWallet.v1.schema.json +54 -0
- package/docs/spec/schemas/AgreementDelegation.v1.schema.json +50 -0
- package/docs/spec/schemas/ArbitrationCase.v1.schema.json +133 -0
- package/docs/spec/schemas/ArbitrationVerdict.v1.schema.json +149 -0
- package/docs/spec/schemas/BundleHeadAttestation.v1.schema.json +21 -0
- package/docs/spec/schemas/ClosePackManifest.v1.schema.json +38 -0
- package/docs/spec/schemas/DelegationGrant.v1.schema.json +102 -0
- package/docs/spec/schemas/DisputeOpenEnvelope.v1.schema.json +78 -0
- package/docs/spec/schemas/EvidenceIndex.v1.schema.json +41 -0
- package/docs/spec/schemas/ExecutionIntent.v1.schema.json +85 -0
- package/docs/spec/schemas/FinancePackBundleManifest.v1.schema.json +38 -0
- package/docs/spec/schemas/FundingHold.v1.schema.json +46 -0
- package/docs/spec/schemas/GovernancePolicy.v1.schema.json +45 -0
- package/docs/spec/schemas/GovernancePolicy.v2.schema.json +70 -0
- package/docs/spec/schemas/InteractionDirectionMatrix.v1.schema.json +43 -0
- package/docs/spec/schemas/InvoiceBundleManifest.v1.schema.json +38 -0
- package/docs/spec/schemas/InvoiceClaim.v1.schema.json +39 -0
- package/docs/spec/schemas/MarketplaceAcceptance.v2.schema.json +53 -0
- package/docs/spec/schemas/MarketplaceOffer.v2.schema.json +61 -0
- package/docs/spec/schemas/MeteringReport.v1.schema.json +45 -0
- package/docs/spec/schemas/OperatorAction.v1.schema.json +113 -0
- package/docs/spec/schemas/PolicyDecision.v1.schema.json +74 -0
- package/docs/spec/schemas/PricingMatrix.v1.schema.json +24 -0
- package/docs/spec/schemas/PricingMatrixSignatures.v1.schema.json +24 -0
- package/docs/spec/schemas/PricingMatrixSignatures.v2.schema.json +24 -0
- package/docs/spec/schemas/ProduceCliOutput.v1.schema.json +107 -0
- package/docs/spec/schemas/ProofBundleManifest.v1.schema.json +37 -0
- package/docs/spec/schemas/PublicKeys.v1.schema.json +33 -0
- package/docs/spec/schemas/ReleaseIndex.v1.schema.json +45 -0
- package/docs/spec/schemas/ReleaseIndexSignature.v1.schema.json +16 -0
- package/docs/spec/schemas/ReleaseIndexSignatures.v1.schema.json +16 -0
- package/docs/spec/schemas/ReleaseTrust.v1.schema.json +15 -0
- package/docs/spec/schemas/ReleaseTrust.v2.schema.json +37 -0
- package/docs/spec/schemas/RemoteSignerPublicKeyResponse.v1.schema.json +14 -0
- package/docs/spec/schemas/RemoteSignerRequest.v1.schema.json +24 -0
- package/docs/spec/schemas/RemoteSignerResponse.v1.schema.json +10 -0
- package/docs/spec/schemas/RemoteSignerSignRequest.v1.schema.json +27 -0
- package/docs/spec/schemas/RemoteSignerSignResponse.v1.schema.json +16 -0
- package/docs/spec/schemas/ReputationEvent.v1.schema.json +164 -0
- package/docs/spec/schemas/RevocationList.v1.schema.json +51 -0
- package/docs/spec/schemas/SettlementAdjustment.v1.schema.json +44 -0
- package/docs/spec/schemas/SettlementDecisionRecord.v1.schema.json +66 -0
- package/docs/spec/schemas/SettlementDecisionRecord.v2.schema.json +149 -0
- package/docs/spec/schemas/SettlementDecisionReport.v1.schema.json +61 -0
- package/docs/spec/schemas/SettlementReceipt.v1.schema.json +135 -0
- package/docs/spec/schemas/SlaDefinition.v1.schema.json +33 -0
- package/docs/spec/schemas/SlaEvaluation.v1.schema.json +26 -0
- package/docs/spec/schemas/TenantSettings.v1.schema.json +90 -0
- package/docs/spec/schemas/TenantSettings.v2.schema.json +161 -0
- package/docs/spec/schemas/TimestampProof.v1.schema.json +17 -0
- package/docs/spec/schemas/ToolCallAgreement.v1.schema.json +34 -0
- package/docs/spec/schemas/ToolCallEvidence.v1.schema.json +45 -0
- package/docs/spec/schemas/ToolManifest.v1.schema.json +54 -0
- package/docs/spec/schemas/VerificationReport.v1.schema.json +83 -0
- package/docs/spec/schemas/VerifyAboutOutput.v1.schema.json +54 -0
- package/docs/spec/schemas/VerifyCliOutput.v1.schema.json +75 -0
- package/docs/spec/schemas/VerifyReleaseOutput.v1.schema.json +47 -0
- package/docs/spec/x402-error-codes.v1.txt +35 -0
- package/docs/templates/buyer-email.txt +18 -0
- package/docs/templates/buyer-one-pager.md +24 -0
- package/package.json +53 -6
- package/scripts/acceptance/full-stack.mjs +734 -0
- package/scripts/acceptance/full-stack.sh +99 -0
- package/scripts/audit/build-audit-packet.mjs +242 -0
- package/scripts/backup-pg.sh +45 -0
- package/scripts/backup-restore/README.md +18 -0
- package/scripts/backup-restore/capture-state.mjs +130 -0
- package/scripts/backup-restore/client.mjs +97 -0
- package/scripts/backup-restore/seed-workload.mjs +235 -0
- package/scripts/backup-restore/verify-state.mjs +139 -0
- package/scripts/backup-restore-test.sh +217 -0
- package/scripts/chaos.js +221 -0
- package/scripts/ci/build-launch-cutover-packet.mjs +304 -0
- package/scripts/ci/build-self-serve-benchmark-report.mjs +122 -0
- package/scripts/ci/changelog-guard.mjs +145 -0
- package/scripts/ci/check-kernel-v0-launch-gate.mjs +233 -0
- package/scripts/ci/check-secret-hygiene.mjs +78 -0
- package/scripts/ci/check-version-consistency.mjs +42 -0
- package/scripts/ci/cli-pack-smoke.mjs +160 -0
- package/scripts/ci/flake-budget-guard.mjs +68 -0
- package/scripts/ci/generate-error-codes.mjs +54 -0
- package/scripts/ci/lib/lighthouse-tracker.mjs +90 -0
- package/scripts/ci/lib/self-serve-launch-gate.mjs +89 -0
- package/scripts/ci/npm-pack-smoke.mjs +454 -0
- package/scripts/ci/run-10x-throughput-drill.mjs +318 -0
- package/scripts/ci/run-10x-throughput-incident-rehearsal.mjs +368 -0
- package/scripts/ci/run-arbitration-workspace-browser-e2e.sh +22 -0
- package/scripts/ci/run-circle-sandbox-smoke.mjs +237 -0
- package/scripts/ci/run-go-live-gate.mjs +150 -0
- package/scripts/ci/run-kernel-v0-ship-gate.mjs +97 -0
- package/scripts/ci/run-mcp-host-cert-matrix.mjs +201 -0
- package/scripts/ci/run-mcp-host-smoke.mjs +473 -0
- package/scripts/ci/run-offline-verification-parity-gate.mjs +762 -0
- package/scripts/ci/run-onboarding-host-success-gate.mjs +516 -0
- package/scripts/ci/run-onboarding-policy-slo-gate.mjs +537 -0
- package/scripts/ci/run-production-cutover-gate.mjs +540 -0
- package/scripts/ci/run-public-openclaw-npx-smoke.mjs +148 -0
- package/scripts/ci/run-release-promotion-guard.mjs +756 -0
- package/scripts/ci/run-self-serve-launch-gate.mjs +56 -0
- package/scripts/ci/runtime-import-smoke.mjs +58 -0
- package/scripts/ci/update-lighthouse-tracker.mjs +112 -0
- package/scripts/closepack/lib.mjs +286 -0
- package/scripts/collect-debug.sh +263 -0
- package/scripts/demo/compositional-settlement-3hop.mjs +237 -0
- package/scripts/demo/delivery-robot/export-ui-fixture.mjs +188 -0
- package/scripts/demo/delivery-robot/generate.mjs +377 -0
- package/scripts/demo/kernel-agent-goes-shopping.mjs +202 -0
- package/scripts/demo/magic-link-first-green.mjs +118 -0
- package/scripts/demo/magic-link-kind-smoke.mjs +577 -0
- package/scripts/demo/mcp-paid-exa.mjs +1110 -0
- package/scripts/dev/billing-doctor.sh +145 -0
- package/scripts/dev/billing-smoke-prod.sh +219 -0
- package/scripts/dev/billing-webhook-replay.sh +161 -0
- package/scripts/dev/env.dev.example +29 -0
- package/scripts/dev/env.sh +37 -0
- package/scripts/dev/new-sdk-key.sh +81 -0
- package/scripts/dev/sdk-first-run.sh +21 -0
- package/scripts/dev/smoke-x402-gateway.sh +115 -0
- package/scripts/dev/start-api.sh +24 -0
- package/scripts/doctor/mcp-host.mjs +120 -0
- package/scripts/examples/produce-and-verify-jobproof.mjs +191 -0
- package/scripts/examples/sdk-first-paid-rfq.py +105 -0
- package/scripts/examples/sdk-first-verified-run.mjs +85 -0
- package/scripts/examples/sdk-first-verified-run.py +99 -0
- package/scripts/examples/sdk-tenant-analytics.mjs +103 -0
- package/scripts/examples/sdk-tenant-analytics.py +118 -0
- package/scripts/finance-pack/bundle.mjs +284 -0
- package/scripts/fixtures/generate-bundle-fixtures.mjs +877 -0
- package/scripts/governance/export.mjs +169 -0
- package/scripts/load/delivery-stress.k6.js +183 -0
- package/scripts/load/ingest-burst.k6.js +236 -0
- package/scripts/load/run-delivery-load.js +66 -0
- package/scripts/load/webhook-receiver.js +131 -0
- package/scripts/magic-link/migrate-run-records-to-db.mjs +35 -0
- package/scripts/mcp/probe.mjs +238 -0
- package/scripts/mcp/settld-mcp-http-gateway.mjs +178 -0
- package/scripts/mcp/settld-mcp-server.mjs +1511 -0
- package/scripts/openapi/write.mjs +13 -0
- package/scripts/ops/bootstrap-tenant-conformance.mjs +185 -0
- package/scripts/ops/build-x402-pilot-reliability-report.mjs +489 -0
- package/scripts/ops/check-x402-receipt-sample.mjs +181 -0
- package/scripts/ops/design-partner-run-packet.mjs +466 -0
- package/scripts/ops/dispute-finance-reconciliation-packet.mjs +313 -0
- package/scripts/ops/hosted-baseline-evidence.mjs +890 -0
- package/scripts/ops/money-rails-chargeback-evidence.mjs +509 -0
- package/scripts/ops/money-rails-reconcile-evidence.mjs +180 -0
- package/scripts/ops/p0-seed-money-rail-operation.mjs +432 -0
- package/scripts/ops/run-x402-hitl-smoke.mjs +607 -0
- package/scripts/pilot/finance-pack.mjs +495 -0
- package/scripts/pilot/fixtures/robot-keypair.json +4 -0
- package/scripts/pilot/fixtures/server-signer.json +4 -0
- package/scripts/policy/cli.mjs +600 -0
- package/scripts/profile/cli.mjs +1324 -0
- package/scripts/proof-bundle/job.mjs +109 -0
- package/scripts/proof-bundle/lib.mjs +92 -0
- package/scripts/proof-bundle/month.mjs +103 -0
- package/scripts/provider/conformance-run.mjs +159 -0
- package/scripts/provider/keys-generate.mjs +135 -0
- package/scripts/provider/publish.mjs +420 -0
- package/scripts/quickstart/x402.mjs +334 -0
- package/scripts/register-entity-secret.mjs +102 -0
- package/scripts/release/build-artifacts.mjs +181 -0
- package/scripts/release/generate-release-index.mjs +112 -0
- package/scripts/release/release-index-lib.mjs +232 -0
- package/scripts/release/sign-release-index.mjs +85 -0
- package/scripts/release/validate-release-assets.mjs +170 -0
- package/scripts/release/verify-release.mjs +261 -0
- package/scripts/restore-pg.sh +34 -0
- package/scripts/scaffold/create-settld-paid-tool.mjs +19 -0
- package/scripts/sdk/smoke-python.py +30 -0
- package/scripts/sdk/smoke.mjs +16 -0
- package/scripts/settlement/x402-batch-worker.mjs +1091 -0
- package/scripts/setup/circle-bootstrap.mjs +310 -0
- package/scripts/setup/host-config.mjs +617 -0
- package/scripts/setup/onboard.mjs +1337 -0
- package/scripts/setup/openclaw-onboard.mjs +423 -0
- package/scripts/setup/wizard.mjs +986 -0
- package/scripts/slo/check.mjs +239 -0
- package/scripts/smoke/k8s-smoke.mjs +214 -0
- package/scripts/spec/generate-protocol-vectors.mjs +1019 -0
- package/scripts/test/check-no-generated-artifacts.sh +12 -0
- package/scripts/test/run.sh +59 -0
- package/scripts/trust/validate-trust-file.mjs +57 -0
- package/scripts/trust-config/rotate-settld-pay.mjs +277 -0
- package/scripts/trust-config/wizard.mjs +161 -0
- package/scripts/vendor-contract-test-lib.mjs +182 -0
- package/scripts/vendor-contract-test.mjs +55 -0
- package/scripts/vercel/build-mkdocs.sh +9 -0
- package/scripts/vercel/ignore-mkdocs.sh +25 -0
- package/scripts/vercel/install-mkdocs.sh +6 -0
- package/scripts/verify-pg.js +217 -0
- package/scripts/x402/receipt-verify.mjs +289 -0
- package/services/finance-sink/src/dedupe-store.js +29 -6
- package/services/receiver/src/dedupe-store.js +29 -5
- package/services/x402-gateway/Dockerfile +13 -0
- package/services/x402-gateway/README.md +58 -0
- package/services/x402-gateway/examples/upstream-mock.js +337 -0
- package/services/x402-gateway/src/server.js +1058 -0
- package/src/api/app.js +34658 -16940
- package/src/api/maintenance.js +70 -0
- package/src/api/middleware/trust-kernel.js +114 -0
- package/src/api/openapi.js +1778 -70
- package/src/api/persistence.js +456 -0
- package/src/api/server.js +81 -5
- package/src/api/store.js +1581 -62
- package/src/api/workers/deliveries.js +99 -4
- package/src/api/workers/insolvency-sweep.js +159 -0
- package/src/core/agent-card.js +69 -0
- package/src/core/agent-wallets.js +231 -0
- package/src/core/agreement-delegation.js +549 -0
- package/src/core/billing-plans.js +40 -6
- package/src/core/circle-reserve-adapter.js +845 -0
- package/src/core/event-policy.js +21 -2
- package/src/core/maintenance-locks.js +1 -0
- package/src/core/operator-action.js +303 -0
- package/src/core/paid-tool-manifest.js +318 -0
- package/src/core/policy-decision.js +322 -0
- package/src/core/policy-packs.js +207 -0
- package/src/core/profile-fingerprint.js +27 -0
- package/src/core/profile-simulation-reasons.js +84 -0
- package/src/core/profile-templates.js +242 -0
- package/src/core/provider-publish-conformance.js +525 -0
- package/src/core/provider-publish-proof.js +396 -0
- package/src/core/provider-quote-signature.js +170 -0
- package/src/core/settld-keys.js +112 -0
- package/src/core/settld-pay-token.js +344 -0
- package/src/core/settlement-kernel.js +239 -2
- package/src/core/settlement-verifier.js +335 -0
- package/src/core/tool-call-agreement.js +112 -0
- package/src/core/tool-call-evidence.js +144 -0
- package/src/core/tool-provider-signature.js +98 -0
- package/src/core/wallet-assignment-resolver.js +129 -0
- package/src/core/wallet-provider-bootstrap.js +365 -0
- package/src/core/x402-escalation-override.js +258 -0
- package/src/core/x402-gate.js +118 -0
- package/src/core/x402-provider-refund-decision.js +220 -0
- package/src/core/x402-receipt-verifier.js +708 -0
- package/src/core/x402-reversal-command.js +251 -0
- package/src/core/x402-wallet-issuer-decision.js +252 -0
- package/src/core/zk-verifier.js +300 -0
- package/src/db/migrations/029_reputation_event_index.sql +54 -0
- package/src/db/migrations/030_artifacts_source_event_unique_job_only.sql +15 -0
- package/src/db/pg.js +18 -7
- package/src/db/store-pg.js +1508 -111
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
# Trust OS v1 Strategy
|
|
2
|
+
|
|
3
|
+
Date: 2026-02-21
|
|
4
|
+
Owner: Settld Product + Platform
|
|
5
|
+
|
|
6
|
+
## Positioning
|
|
7
|
+
|
|
8
|
+
Settld is a Trust OS for autonomous agent actions.
|
|
9
|
+
It is not a wallet replacement and not a prompt-only guardrail product.
|
|
10
|
+
|
|
11
|
+
Settld is the control plane that makes agent spending and execution:
|
|
12
|
+
|
|
13
|
+
1. enforceable,
|
|
14
|
+
2. auditable,
|
|
15
|
+
3. reversible when required,
|
|
16
|
+
4. portable across hosts and payment rails.
|
|
17
|
+
|
|
18
|
+
## Core Objective
|
|
19
|
+
|
|
20
|
+
Become the default trust and control layer for paid and high-risk autonomous actions.
|
|
21
|
+
|
|
22
|
+
Any agent integration should be able to:
|
|
23
|
+
|
|
24
|
+
1. act with bounded authority,
|
|
25
|
+
2. prove what happened,
|
|
26
|
+
3. emit deterministic receipts,
|
|
27
|
+
4. resolve disputes and apply reversals safely,
|
|
28
|
+
5. pass audit/compliance scrutiny,
|
|
29
|
+
6. plug into real operations workflows.
|
|
30
|
+
|
|
31
|
+
## Product Direction (Trust OS v1)
|
|
32
|
+
|
|
33
|
+
Current release focus: terminal-first onboarding + MCP host integration, with deterministic trust guarantees.
|
|
34
|
+
|
|
35
|
+
### Pillar 1: Policy Runtime Enforcement
|
|
36
|
+
|
|
37
|
+
Guarantee:
|
|
38
|
+
- Paid and high-risk actions are gated by deterministic decisions (`allow|challenge|deny|escalate`) and stable reason codes.
|
|
39
|
+
|
|
40
|
+
Implementation anchors:
|
|
41
|
+
- `src/api/app.js`
|
|
42
|
+
- `scripts/mcp/settld-mcp-server.mjs`
|
|
43
|
+
- `src/core/policy.js`
|
|
44
|
+
- `src/core/event-policy.js`
|
|
45
|
+
|
|
46
|
+
Test/gate anchors:
|
|
47
|
+
- `test/mcp-paid-exa-tool.test.js`
|
|
48
|
+
- `test/mcp-paid-weather-tool.test.js`
|
|
49
|
+
- `test/mcp-paid-llm-tool.test.js`
|
|
50
|
+
- `test/api-e2e-x402-authorize-payment.test.js`
|
|
51
|
+
|
|
52
|
+
### Pillar 2: Execution Binding + Evidence + Receipts
|
|
53
|
+
|
|
54
|
+
Guarantee:
|
|
55
|
+
- Request/authorization/policy/decision bindings are hash-addressable and replay/mutation failures are deterministic.
|
|
56
|
+
|
|
57
|
+
Implementation anchors:
|
|
58
|
+
- `src/core/settlement-kernel.js`
|
|
59
|
+
- `src/core/x402-receipt-verifier.js`
|
|
60
|
+
- `src/core/tool-call-agreement.js`
|
|
61
|
+
- `src/core/tool-call-evidence.js`
|
|
62
|
+
- `docs/spec/SettlementDecisionRecord.v2.md`
|
|
63
|
+
|
|
64
|
+
Test/gate anchors:
|
|
65
|
+
- `test/settlement-kernel.test.js`
|
|
66
|
+
- `test/x402-receipt-verifier.test.js`
|
|
67
|
+
- `test/api-e2e-proof-strict-settlement-gating.test.js`
|
|
68
|
+
- `test/api-e2e-idempotency-settlement-disputes.test.js`
|
|
69
|
+
|
|
70
|
+
### Pillar 3: Dispute + Reversal Engine
|
|
71
|
+
|
|
72
|
+
Guarantee:
|
|
73
|
+
- Dispute lifecycles and verdict outcomes are deterministic, idempotent, and financially safe.
|
|
74
|
+
|
|
75
|
+
Implementation anchors:
|
|
76
|
+
- `src/api/app.js`
|
|
77
|
+
- `src/core/dispute-open-envelope.js`
|
|
78
|
+
- `src/core/settlement-adjustment.js`
|
|
79
|
+
- `src/core/x402-reversal-command.js`
|
|
80
|
+
- `src/core/x402-provider-refund-decision.js`
|
|
81
|
+
|
|
82
|
+
Test/gate anchors:
|
|
83
|
+
- `test/api-e2e-tool-call-holdback-arbitration.test.js`
|
|
84
|
+
- `test/api-e2e-x402-gate-reversal.test.js`
|
|
85
|
+
- `test/x402-reversal-command.test.js`
|
|
86
|
+
- `test/arbitration-schemas.test.js`
|
|
87
|
+
|
|
88
|
+
### Pillar 4: Operator Controls
|
|
89
|
+
|
|
90
|
+
Guarantee:
|
|
91
|
+
- Challenged/escalated actions have auditable operator paths; emergency controls are explicit and recorded.
|
|
92
|
+
|
|
93
|
+
Implementation anchors:
|
|
94
|
+
- `src/api/app.js`
|
|
95
|
+
- `src/core/governance.js`
|
|
96
|
+
- `src/core/agent-wallets.js`
|
|
97
|
+
- `src/core/agreement-delegation.js`
|
|
98
|
+
|
|
99
|
+
Test/gate anchors:
|
|
100
|
+
- `test/api-e2e-ops-kernel-workspace.test.js`
|
|
101
|
+
- `test/api-e2e-ops-arbitration-workspace.test.js`
|
|
102
|
+
- `test/api-e2e-ops-arbitration-workspace-browser.test.js`
|
|
103
|
+
|
|
104
|
+
### Pillar 5: Rail Adapter Hardening
|
|
105
|
+
|
|
106
|
+
Guarantee:
|
|
107
|
+
- Rail adapters are pluggable but cannot bypass trust-kernel enforcement.
|
|
108
|
+
|
|
109
|
+
Implementation anchors:
|
|
110
|
+
- `services/x402-gateway/src/server.js`
|
|
111
|
+
- `src/core/money-rail-adapters.js`
|
|
112
|
+
- `src/core/x402-gate.js`
|
|
113
|
+
- `src/core/wallet-provider-bootstrap.js`
|
|
114
|
+
|
|
115
|
+
Test/gate anchors:
|
|
116
|
+
- `test/x402-gateway-autopay.test.js`
|
|
117
|
+
- `test/api-e2e-x402-provider-signature.test.js`
|
|
118
|
+
- `test/circle-sandbox-batch-settlement-e2e.test.js`
|
|
119
|
+
- `test/provider-conformance-strict-mode.test.js`
|
|
120
|
+
|
|
121
|
+
### Pillar 6: Profile-Based Policy UX
|
|
122
|
+
|
|
123
|
+
Guarantee:
|
|
124
|
+
- Policy profiles are deterministic, testable, and usable from terminal-first workflows.
|
|
125
|
+
|
|
126
|
+
Implementation anchors:
|
|
127
|
+
- `scripts/profile/cli.mjs`
|
|
128
|
+
- `src/core/profile-templates.js`
|
|
129
|
+
- `src/core/policy-packs.js`
|
|
130
|
+
- `scripts/setup/wizard.mjs`
|
|
131
|
+
|
|
132
|
+
Test/gate anchors:
|
|
133
|
+
- `test/cli-profile.test.js`
|
|
134
|
+
- `test/setup-wizard.test.js`
|
|
135
|
+
- `docs/QUICKSTART_PROFILES.md`
|
|
136
|
+
|
|
137
|
+
### Pillar 7: Production Gates
|
|
138
|
+
|
|
139
|
+
Guarantee:
|
|
140
|
+
- Release readiness is fail-closed when deterministic trust gates regress.
|
|
141
|
+
|
|
142
|
+
Implementation anchors:
|
|
143
|
+
- `.github/workflows/tests.yml`
|
|
144
|
+
- `.github/workflows/release.yml`
|
|
145
|
+
- `scripts/ci/run-kernel-v0-ship-gate.mjs`
|
|
146
|
+
- `scripts/ci/run-production-cutover-gate.mjs`
|
|
147
|
+
|
|
148
|
+
Test/gate anchors:
|
|
149
|
+
- `test/production-cutover-gate-script.test.js`
|
|
150
|
+
- `test/throughput-gate-script-reporting.test.js`
|
|
151
|
+
- `test/x402-hitl-smoke-script.test.js`
|
|
152
|
+
- `test/mcp-host-cert-matrix-script.test.js`
|
|
153
|
+
|
|
154
|
+
## Users (Near Term)
|
|
155
|
+
|
|
156
|
+
1. Developers and agent builders who need safe paid-action execution.
|
|
157
|
+
2. Platform/runtime teams requiring enforceable controls across hosts.
|
|
158
|
+
3. Finance, ops, risk, and compliance stakeholders needing deterministic evidence.
|
|
159
|
+
4. Design partners running real-money agent spend with incident controls.
|
|
160
|
+
|
|
161
|
+
## Priority Use Cases
|
|
162
|
+
|
|
163
|
+
1. Agent-to-tool paid calls with deterministic policy envelopes.
|
|
164
|
+
2. Agent-to-agent settlement with challenge windows and receipts.
|
|
165
|
+
3. Procurement-style bounded spending with approvals/escalations.
|
|
166
|
+
4. API/service consumption under budget and compliance constraints.
|
|
167
|
+
5. Multi-agent workflows with auditable and bounded hop-by-hop execution.
|
|
168
|
+
|
|
169
|
+
## Explicit Non-Goals
|
|
170
|
+
|
|
171
|
+
1. Replacing all wallet providers.
|
|
172
|
+
2. Replacing all agent frameworks.
|
|
173
|
+
3. Becoming a single-host feature.
|
|
174
|
+
4. Shipping prompt-only governance without deterministic settlement controls.
|
|
175
|
+
|
|
176
|
+
## Roadmap (Now -> Long Term)
|
|
177
|
+
|
|
178
|
+
### Phase 1: Production Core (Now)
|
|
179
|
+
- Close v1 backend gaps.
|
|
180
|
+
- Complete deterministic gates.
|
|
181
|
+
- Finalize terminal-first host onboarding.
|
|
182
|
+
- Harden evidence artifacts for production review.
|
|
183
|
+
|
|
184
|
+
### Phase 2: Frictionless Adoption (Next)
|
|
185
|
+
- Default managed wallet path where possible.
|
|
186
|
+
- One-command onboarding for Codex/Claude/Cursor/OpenClaw.
|
|
187
|
+
- Strong first verified receipt path.
|
|
188
|
+
- Better operator reliability workflows.
|
|
189
|
+
|
|
190
|
+
### Phase 3: Platform Expansion
|
|
191
|
+
- Multiple adapter lanes under one trust contract.
|
|
192
|
+
- Richer profile packs + simulation.
|
|
193
|
+
- Tenant automation and enterprise controls.
|
|
194
|
+
|
|
195
|
+
### Phase 4: Agentverse Infrastructure
|
|
196
|
+
- Cross-runtime inter-agent trust fabric.
|
|
197
|
+
- Cross-tenant dispute/reputation/attestation primitives.
|
|
198
|
+
- Open standards leadership for machine-native commerce trust.
|
|
199
|
+
|
|
200
|
+
## Decision Record
|
|
201
|
+
|
|
202
|
+
Chosen approach: trust-kernel-first (policy + evidence + recourse), then rail expansion.
|
|
203
|
+
|
|
204
|
+
Rejected alternatives:
|
|
205
|
+
1. Rail-first product strategy (faster demo surface but weak durable moat).
|
|
206
|
+
2. Host-specific product strategy (faster initial distribution but no cross-host trust portability).
|
|
207
|
+
|
|
208
|
+
## Rollout and Rollback
|
|
209
|
+
|
|
210
|
+
Rollout:
|
|
211
|
+
1. Gate by deterministic CI artifacts and ship-gate checks.
|
|
212
|
+
2. Progress environments only when policy/runtime + evidence + reversal checks pass.
|
|
213
|
+
3. Promote adapter lanes behind conformance and abuse-path coverage.
|
|
214
|
+
|
|
215
|
+
Rollback:
|
|
216
|
+
1. Fail closed on gate regressions.
|
|
217
|
+
2. Block release promotion if kernel-v0 ship gate or production cutover gate fails.
|
|
218
|
+
3. Revert adapter-specific rollout independently from trust-kernel contract.
|
|
219
|
+
|
|
220
|
+
## Observability Requirements
|
|
221
|
+
|
|
222
|
+
1. Policy runtime: decision mix + p50/p95 latency.
|
|
223
|
+
2. Evidence/receipt: deterministic hash drift rate.
|
|
224
|
+
3. Disputes: open backlog, SLA breaches, reversal completion latency.
|
|
225
|
+
4. Rails: authorization failure rates, insolvency/reversal events.
|
|
226
|
+
5. Adoption: time-to-first-verified-receipt, host onboarding success rate.
|
|
227
|
+
|
|
228
|
+
## Success Criteria
|
|
229
|
+
|
|
230
|
+
Near term:
|
|
231
|
+
1. Terminal onboarding with minimal off-terminal steps.
|
|
232
|
+
2. End-to-end paid flow with verified receipt and no policy bypass.
|
|
233
|
+
3. Deterministic dispute-to-reversal CI path.
|
|
234
|
+
4. Host compatibility matrix with evidence artifacts.
|
|
235
|
+
5. Production cutover gates green.
|
|
236
|
+
|
|
237
|
+
Long term:
|
|
238
|
+
1. Settld is the default trust layer across multiple ecosystems.
|
|
239
|
+
2. Teams adopt Settld to reduce operational and compliance burden.
|
|
240
|
+
3. Agent commerce scales without becoming ungovernable.
|
|
241
|
+
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Agent Spend Host Landscape (2026-02-21)
|
|
2
|
+
|
|
3
|
+
## Why this matters
|
|
4
|
+
To get Settld adopted, we need to integrate where autonomous spend is already happening and where users already run agents day-to-day.
|
|
5
|
+
|
|
6
|
+
## What users are running today
|
|
7
|
+
|
|
8
|
+
### 1) Coding-agent hosts with MCP support are the default surface
|
|
9
|
+
- Codex exposes MCP server setup in CLI (`codex mcp add ...`) and shared config between CLI + IDE extension.
|
|
10
|
+
- Claude Code has first-class MCP server management (`claude mcp add`, `list`, `get`) and scope controls.
|
|
11
|
+
- Cursor supports MCP in editor + CLI (`cursor-agent mcp ...`) with stdio/SSE/HTTP transports.
|
|
12
|
+
|
|
13
|
+
Implication for Settld:
|
|
14
|
+
- MCP-first distribution is correct.
|
|
15
|
+
- Setup must be one command, host-aware, and idempotent.
|
|
16
|
+
|
|
17
|
+
### 2) Wallet/payment rails are accelerating and commoditizing
|
|
18
|
+
- Coinbase Agentic Wallet positions CLI/MCP wallet operations with built-in limits and x402 support.
|
|
19
|
+
- Stripe + OpenAI announced Instant Checkout and ACP in ChatGPT (US rollout, Sept 29, 2025).
|
|
20
|
+
- x402 continues to position HTTP-native pay-per-use flows as core agent payment rail.
|
|
21
|
+
|
|
22
|
+
Implication for Settld:
|
|
23
|
+
- We should not position as "just another wallet".
|
|
24
|
+
- Differentiate with policy runtime, deterministic enforcement, dispute/evidence lifecycle, and cross-host operational safety.
|
|
25
|
+
|
|
26
|
+
### 3) OpenClaw ecosystem is active but noisier/higher risk
|
|
27
|
+
- OpenClaw docs confirm skills-based extension model and local skill install paths.
|
|
28
|
+
- Community skill/marketplaces and wallet wrappers are growing quickly.
|
|
29
|
+
- Security incidents around malicious skills have been reported in ecosystem media.
|
|
30
|
+
|
|
31
|
+
Implication for Settld:
|
|
32
|
+
- Keep OpenClaw as a target host, but treat it as higher-risk environment.
|
|
33
|
+
- Emphasize signed policy packs, deterministic receipts, and strict tool/policy constraints.
|
|
34
|
+
|
|
35
|
+
## Build priorities derived from this landscape
|
|
36
|
+
1. Make `settld setup` fully host-native for Codex/Claude/Cursor/OpenClaw.
|
|
37
|
+
2. Make policy deployment one step from onboarding (starter profile apply + dry-run + live).
|
|
38
|
+
3. Keep MCP smoke validation built in so users know setup is real immediately.
|
|
39
|
+
4. Publish security posture for skill-hosted environments (verification, guardrails, audit proofs).
|
|
40
|
+
5. Avoid wallet-only framing; focus on trust/runtime layer for any wallet/payment rail.
|
|
41
|
+
|
|
42
|
+
## Confidence notes
|
|
43
|
+
- Official docs/newsroom items are high confidence.
|
|
44
|
+
- Community ecosystem pages indicate direction, but quality varies; use for signal, not sole source of truth.
|
|
45
|
+
|
|
46
|
+
## Sources
|
|
47
|
+
- OpenAI Docs MCP: https://platform.openai.com/docs/docs-mcp
|
|
48
|
+
- Anthropic Claude Code MCP: https://docs.anthropic.com/en/docs/claude-code/mcp
|
|
49
|
+
- Cursor MCP docs: https://docs.cursor.com/advanced/model-context-protocol
|
|
50
|
+
- Cursor CLI MCP docs: https://docs.cursor.com/cli/mcp
|
|
51
|
+
- Coinbase Agentic Wallet docs: https://docs.cdp.coinbase.com/agentic-wallet/welcome
|
|
52
|
+
- Stripe newsroom (OpenAI Instant Checkout + ACP): https://stripe.com/us/newsroom/news/stripe-openai-instant-checkout
|
|
53
|
+
- x402 docs: https://docs.x402.org/
|
|
54
|
+
- x402 site: https://www.x402.org/
|
|
55
|
+
- OpenClaw skills docs: https://docs.openclaw.ai/skills
|
|
56
|
+
- OpenClaw community directory example: https://www.ruleofclaw.ai/
|
|
57
|
+
- OpenClaw ecosystem incident coverage (secondary source): https://www.tomshardware.com/tech-industry/cyber-security/malicious-moltbot-skill-targets-crypto-users-on-clawhub
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# AcceptanceCriteria.v1
|
|
2
|
+
|
|
3
|
+
`AcceptanceCriteria.v1` defines buyer-side acceptance rules that can be evaluated deterministically and offline from a JobProof-derived job stream.
|
|
4
|
+
|
|
5
|
+
In ClosePack bundles, it is stored at `acceptance/acceptance_criteria.json`.
|
|
6
|
+
|
|
7
|
+
## Criteria kinds (v1)
|
|
8
|
+
|
|
9
|
+
Each criterion has:
|
|
10
|
+
|
|
11
|
+
- `criterionId` — stable identifier (string).
|
|
12
|
+
- `kind` — one of:
|
|
13
|
+
- `PROOF_STATUS_EQUALS`
|
|
14
|
+
- `SLA_OVERALL_OK`
|
|
15
|
+
|
|
16
|
+
Criteria are evaluated from embedded JobProof facts and (optionally) an `SlaEvaluation.v1`.
|
|
17
|
+
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# AcceptanceEvaluation.v1
|
|
2
|
+
|
|
3
|
+
`AcceptanceEvaluation.v1` is a deterministic evaluation of `AcceptanceCriteria.v1` against a specific JobProof instance.
|
|
4
|
+
|
|
5
|
+
In ClosePack bundles, it is stored at `acceptance/acceptance_evaluation.json`.
|
|
6
|
+
|
|
7
|
+
## Determinism contract
|
|
8
|
+
|
|
9
|
+
If `acceptance/*` surfaces are present, verifiers recompute the evaluation and require exact match (canonical JSON) in strict mode.
|
|
10
|
+
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# AgentEvent.v1
|
|
2
|
+
|
|
3
|
+
`AgentEvent.v1` defines the append-only run event envelope for autonomous agent execution traces.
|
|
4
|
+
|
|
5
|
+
Each event is scoped to one run stream (`streamId = runId`) and can be used to reconstruct `AgentRun.v1`.
|
|
6
|
+
|
|
7
|
+
## Schema
|
|
8
|
+
|
|
9
|
+
See `schemas/AgentEvent.v1.schema.json`.
|
|
10
|
+
|
|
11
|
+
## Required fields
|
|
12
|
+
|
|
13
|
+
- `schemaVersion` (const: `AgentEvent.v1`)
|
|
14
|
+
- `v` (event version, const `1`)
|
|
15
|
+
- `id`
|
|
16
|
+
- `streamId` (run ID)
|
|
17
|
+
- `type`
|
|
18
|
+
- `at` (ISO date-time)
|
|
19
|
+
- `actor` (`type` + `id`)
|
|
20
|
+
- `payload`
|
|
21
|
+
|
|
22
|
+
## Allowed event types (v1)
|
|
23
|
+
|
|
24
|
+
- `RUN_CREATED`
|
|
25
|
+
- `RUN_STARTED`
|
|
26
|
+
- `RUN_HEARTBEAT`
|
|
27
|
+
- `EVIDENCE_ADDED`
|
|
28
|
+
- `RUN_COMPLETED`
|
|
29
|
+
- `RUN_FAILED`
|
|
30
|
+
|
|
31
|
+
## Signature and chain fields
|
|
32
|
+
|
|
33
|
+
The following fields are optional in `AgentEvent.v1` but reserved for signed chain envelopes:
|
|
34
|
+
|
|
35
|
+
- `payloadHash`
|
|
36
|
+
- `prevChainHash`
|
|
37
|
+
- `chainHash`
|
|
38
|
+
- `signature`
|
|
39
|
+
- `signerKeyId`
|
|
40
|
+
|
|
41
|
+
If present, these fields must be verifiable using the same hash/signature model used by Settld chained events.
|
|
42
|
+
|
|
43
|
+
## Determinism
|
|
44
|
+
|
|
45
|
+
Event application order is stream order.
|
|
46
|
+
|
|
47
|
+
When multiple events share the same timestamp, ordering is defined by append order in the stored run stream.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# AgentIdentity.v1
|
|
2
|
+
|
|
3
|
+
`AgentIdentity.v1` defines a portable, tenant-scoped identity record for autonomous agents.
|
|
4
|
+
|
|
5
|
+
This object is intended to be:
|
|
6
|
+
|
|
7
|
+
- deterministic (stable field names + required core fields),
|
|
8
|
+
- cryptographically bound (primary verification key is explicit), and
|
|
9
|
+
- reusable across API, SDK, and future trust/reputation surfaces.
|
|
10
|
+
|
|
11
|
+
## Schema
|
|
12
|
+
|
|
13
|
+
See `schemas/AgentIdentity.v1.schema.json`.
|
|
14
|
+
|
|
15
|
+
## Canonicalization and hashing
|
|
16
|
+
|
|
17
|
+
When `AgentIdentity.v1` is signed or hashed by higher-level protocols:
|
|
18
|
+
|
|
19
|
+
- canonicalize the JSON with RFC 8785 (JCS),
|
|
20
|
+
- hash canonical UTF-8 bytes with `sha256`,
|
|
21
|
+
- represent digests as lowercase hex.
|
|
22
|
+
|
|
23
|
+
`AgentIdentity.v1` itself does not require an embedded signature field in v1.
|
|
24
|
+
|
|
25
|
+
## Required fields
|
|
26
|
+
|
|
27
|
+
- `schemaVersion` (const: `AgentIdentity.v1`)
|
|
28
|
+
- `agentId` (stable identifier)
|
|
29
|
+
- `tenantId` (tenant scope)
|
|
30
|
+
- `displayName` (human-readable label)
|
|
31
|
+
- `status` (`active` | `suspended` | `revoked`)
|
|
32
|
+
- `owner` (operator linkage)
|
|
33
|
+
- `keys` (primary verification key descriptor)
|
|
34
|
+
- `capabilities` (declared capability identifiers)
|
|
35
|
+
- `createdAt` / `updatedAt` (ISO date-time)
|
|
36
|
+
|
|
37
|
+
## Owner linkage
|
|
38
|
+
|
|
39
|
+
`owner` binds the autonomous identity to an accountable controller:
|
|
40
|
+
|
|
41
|
+
- `ownerType`: `human` | `business` | `service`
|
|
42
|
+
- `ownerId`: stable owner identifier
|
|
43
|
+
|
|
44
|
+
## Key descriptor
|
|
45
|
+
|
|
46
|
+
`keys` defines the active verification material for the identity:
|
|
47
|
+
|
|
48
|
+
- `keyId`: derived or assigned key identifier
|
|
49
|
+
- `algorithm`: currently `ed25519`
|
|
50
|
+
- `publicKeyPem`: PEM-encoded public key
|
|
51
|
+
|
|
52
|
+
## Optional policy hints
|
|
53
|
+
|
|
54
|
+
`walletPolicy` carries optional spend/approval constraints for downstream settlement systems:
|
|
55
|
+
|
|
56
|
+
- `maxPerTransactionCents`
|
|
57
|
+
- `maxDailyCents`
|
|
58
|
+
- `requireApprovalAboveCents`
|
|
59
|
+
|
|
60
|
+
These fields are optional and non-normative in v1. Implementations MAY enforce them when creating holds/settlements (for example, rejecting a settlement when `amountCents > maxPerTransactionCents` or when an out-of-band approval gate is required above `requireApprovalAboveCents`).
|
|
61
|
+
|
|
62
|
+
Implementation note (this repo): the Settld API enforces `maxPerTransactionCents`, `maxDailyCents`, and `requireApprovalAboveCents` on settlement/hold creation paths that lock escrow from an agent wallet.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# AgentPassport.v1
|
|
2
|
+
|
|
3
|
+
`AgentPassport.v1` defines the portable delegation identity envelope for an autonomous economic actor.
|
|
4
|
+
|
|
5
|
+
Status: Draft (architecture target; not fully enforced in runtime yet).
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
`AgentPassport.v1` is the root identity contract used to answer:
|
|
10
|
+
|
|
11
|
+
- which principal ultimately backs this agent,
|
|
12
|
+
- which keyset currently represents the agent,
|
|
13
|
+
- which delegation root authorizes spend/actions,
|
|
14
|
+
- which capability credentials the agent can present,
|
|
15
|
+
- which policy envelope bounds autonomous execution.
|
|
16
|
+
|
|
17
|
+
The object is designed to be stable, hash-addressable, and portable across hosts/runtimes.
|
|
18
|
+
|
|
19
|
+
## Required fields
|
|
20
|
+
|
|
21
|
+
- `schemaVersion` (const: `AgentPassport.v1`)
|
|
22
|
+
- `passportId`
|
|
23
|
+
- `agentId`
|
|
24
|
+
- `tenantId`
|
|
25
|
+
- `principalRef`
|
|
26
|
+
- `identityAnchors`
|
|
27
|
+
- `delegationRoot`
|
|
28
|
+
- `policyEnvelope`
|
|
29
|
+
- `status`
|
|
30
|
+
- `createdAt`
|
|
31
|
+
- `updatedAt`
|
|
32
|
+
|
|
33
|
+
## Principal binding
|
|
34
|
+
|
|
35
|
+
`principalRef` binds the agent to an accountable sponsor:
|
|
36
|
+
|
|
37
|
+
- `principalType`: `human` | `business` | `service` | `dao`
|
|
38
|
+
- `principalId`: stable principal identifier
|
|
39
|
+
- `jurisdiction`: optional compliance hint (for policy packs)
|
|
40
|
+
|
|
41
|
+
## Identity anchors
|
|
42
|
+
|
|
43
|
+
`identityAnchors` defines key discovery and verification roots:
|
|
44
|
+
|
|
45
|
+
- `did` (optional, DID URI)
|
|
46
|
+
- `jwksUri` (HTTPS URL)
|
|
47
|
+
- `activeKeyId`
|
|
48
|
+
- `keysetHash` (sha256 hex over normalized JWK set)
|
|
49
|
+
|
|
50
|
+
## Delegation root
|
|
51
|
+
|
|
52
|
+
`delegationRoot` pins the root authority chain used for autonomous actions:
|
|
53
|
+
|
|
54
|
+
- `rootGrantId`
|
|
55
|
+
- `rootGrantHash`
|
|
56
|
+
- `issuedAt`
|
|
57
|
+
- `expiresAt` (nullable)
|
|
58
|
+
- `revokedAt` (nullable)
|
|
59
|
+
|
|
60
|
+
A revoked root (`revokedAt != null`) MUST be treated as non-executable by strict policy engines.
|
|
61
|
+
|
|
62
|
+
## Capability credentials
|
|
63
|
+
|
|
64
|
+
`capabilityCredentials` is an optional array of machine-verifiable capability claims. Entries carry:
|
|
65
|
+
|
|
66
|
+
- `credentialType`
|
|
67
|
+
- `issuer`
|
|
68
|
+
- `credentialRef`
|
|
69
|
+
- `credentialHash`
|
|
70
|
+
- `issuedAt`
|
|
71
|
+
- `expiresAt` (nullable)
|
|
72
|
+
|
|
73
|
+
## Policy envelope
|
|
74
|
+
|
|
75
|
+
`policyEnvelope` binds baseline controls before request-level decisions:
|
|
76
|
+
|
|
77
|
+
- `maxPerCallCents`
|
|
78
|
+
- `maxDailyCents`
|
|
79
|
+
- `allowedRiskClasses` (`read|compute|action|financial`)
|
|
80
|
+
- `requireApprovalAboveCents` (nullable)
|
|
81
|
+
- `allowlistRefs` (optional references to provider/tool policy sets)
|
|
82
|
+
|
|
83
|
+
## Canonicalization + hashing
|
|
84
|
+
|
|
85
|
+
When used as an input to signatures or binding hashes:
|
|
86
|
+
|
|
87
|
+
1. canonicalize JSON with RFC 8785 (JCS),
|
|
88
|
+
2. hash canonical UTF-8 bytes with `sha256`,
|
|
89
|
+
3. encode as lowercase hex.
|
|
90
|
+
|
|
91
|
+
`AgentPassport.v1` does not require an embedded signature field in v1; signatures are expected in detached envelopes at transport/control layers.
|
|
92
|
+
|
|
93
|
+
## Schema
|
|
94
|
+
|
|
95
|
+
See `docs/spec/schemas/AgentPassport.v1.schema.json`.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# AgentReputation.v1
|
|
2
|
+
|
|
3
|
+
`AgentReputation.v1` defines a deterministic trust snapshot for a tenant-scoped agent identity.
|
|
4
|
+
|
|
5
|
+
It is computed from:
|
|
6
|
+
|
|
7
|
+
- run lifecycle outcomes (`AgentRun.v1`),
|
|
8
|
+
- evidence coverage signals (`AgentRun.v1.evidenceRefs`),
|
|
9
|
+
- escrow/settlement outcomes (`AgentRunSettlement.v1`).
|
|
10
|
+
|
|
11
|
+
## Schema
|
|
12
|
+
|
|
13
|
+
See `schemas/AgentReputation.v1.schema.json`.
|
|
14
|
+
|
|
15
|
+
## Required fields
|
|
16
|
+
|
|
17
|
+
- `schemaVersion` (const: `AgentReputation.v1`)
|
|
18
|
+
- `agentId`
|
|
19
|
+
- `tenantId`
|
|
20
|
+
- `trustScore` (`0..100`)
|
|
21
|
+
- `riskTier` (`low|guarded|elevated|high`)
|
|
22
|
+
- run counters (`totalRuns`, `terminalRuns`, `createdRuns`, `runningRuns`, `completedRuns`, `failedRuns`)
|
|
23
|
+
- evidence + settlement counters
|
|
24
|
+
- score rates (`runCompletionRatePct`, `evidenceCoverageRatePct`, `settlementReleaseRatePct`)
|
|
25
|
+
- `scoreBreakdown`
|
|
26
|
+
- `computedAt`
|
|
27
|
+
|
|
28
|
+
## Score semantics (v1)
|
|
29
|
+
|
|
30
|
+
`trustScore` is a weighted score over bounded integer components:
|
|
31
|
+
|
|
32
|
+
- run quality (terminal completion rate),
|
|
33
|
+
- settlement quality (release rate over resolved settlements),
|
|
34
|
+
- evidence quality (terminal runs carrying evidence),
|
|
35
|
+
- activity score (bounded by run volume).
|
|
36
|
+
|
|
37
|
+
Weights in v1 are deterministic and fixed by implementation:
|
|
38
|
+
|
|
39
|
+
- run quality: 55%
|
|
40
|
+
- settlement quality: 30%
|
|
41
|
+
- evidence quality: 10%
|
|
42
|
+
- activity score: 5%
|
|
43
|
+
|
|
44
|
+
## Rate nullability
|
|
45
|
+
|
|
46
|
+
The following fields are `null` when no denominator exists:
|
|
47
|
+
|
|
48
|
+
- `runCompletionRatePct` (no terminal runs),
|
|
49
|
+
- `evidenceCoverageRatePct` (no terminal runs),
|
|
50
|
+
- `settlementReleaseRatePct` (no resolved settlements),
|
|
51
|
+
- `avgRunDurationMs` (no terminal runs with valid start/end timestamps).
|
|
52
|
+
|
|
53
|
+
## Canonicalization and hashing
|
|
54
|
+
|
|
55
|
+
When hashed/signed by higher-level protocols:
|
|
56
|
+
|
|
57
|
+
- canonicalize JSON via RFC 8785 (JCS),
|
|
58
|
+
- hash canonical UTF-8 bytes using `sha256`,
|
|
59
|
+
- emit lowercase hex digests.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# AgentReputation.v2
|
|
2
|
+
|
|
3
|
+
`AgentReputation.v2` extends `AgentReputation.v1` with explicit time windows so discovery and ranking can prioritize recent reliability.
|
|
4
|
+
|
|
5
|
+
## Schema
|
|
6
|
+
|
|
7
|
+
See `schemas/AgentReputation.v2.schema.json`.
|
|
8
|
+
|
|
9
|
+
## Motivation
|
|
10
|
+
|
|
11
|
+
`AgentReputation.v1` is all-time only. Marketplace ranking needs recency-aware scoring to prevent stale historical performance from dominating fresh outcomes.
|
|
12
|
+
|
|
13
|
+
`AgentReputation.v2` adds:
|
|
14
|
+
|
|
15
|
+
- fixed windows: `7d`, `30d`, `allTime`,
|
|
16
|
+
- a `primaryWindow` selector,
|
|
17
|
+
- top-level `trustScore`/`riskTier` projected from `primaryWindow`.
|
|
18
|
+
|
|
19
|
+
## Required fields
|
|
20
|
+
|
|
21
|
+
- `schemaVersion` (const: `AgentReputation.v2`)
|
|
22
|
+
- `agentId`
|
|
23
|
+
- `tenantId`
|
|
24
|
+
- `primaryWindow` (`7d|30d|allTime`)
|
|
25
|
+
- `trustScore` (`0..100`)
|
|
26
|
+
- `riskTier` (`low|guarded|elevated|high`)
|
|
27
|
+
- `windows` (object with required keys: `7d`, `30d`, `allTime`)
|
|
28
|
+
- `computedAt`
|
|
29
|
+
|
|
30
|
+
Each `windows.<window>` entry includes the same deterministic metrics surface as `AgentReputation.v1` (counts, rates, score breakdown, trust score).
|
|
31
|
+
|
|
32
|
+
## Window semantics
|
|
33
|
+
|
|
34
|
+
- `7d`: includes events with observed timestamps in the trailing 7 days.
|
|
35
|
+
- `30d`: includes events with observed timestamps in the trailing 30 days.
|
|
36
|
+
- `allTime`: includes all observations.
|
|
37
|
+
|
|
38
|
+
Run observations use terminal time when available (`completedAt` or `failedAt`) and fall back to run update timestamps.
|
|
39
|
+
Settlement observations use `resolvedAt` for resolved states and `lockedAt` for locked states.
|
|
40
|
+
|
|
41
|
+
## Compatibility
|
|
42
|
+
|
|
43
|
+
- `AgentReputation.v1` remains stable for existing integrations.
|
|
44
|
+
- APIs may default to `v1` for back-compat and require explicit `reputationVersion=v2` for windowed behavior.
|
|
45
|
+
|
|
46
|
+
## Canonicalization and hashing
|
|
47
|
+
|
|
48
|
+
When hashed/signed by higher-level protocols:
|
|
49
|
+
|
|
50
|
+
- canonicalize JSON via RFC 8785 (JCS),
|
|
51
|
+
- hash canonical UTF-8 bytes using `sha256`,
|
|
52
|
+
- emit lowercase hex digests.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# AgentRun.v1
|
|
2
|
+
|
|
3
|
+
`AgentRun.v1` defines a deterministic snapshot of a single autonomous run executed by a registered agent identity.
|
|
4
|
+
|
|
5
|
+
It is designed to be:
|
|
6
|
+
|
|
7
|
+
- portable across services and SDKs,
|
|
8
|
+
- reconstructable from an append-only event stream,
|
|
9
|
+
- directly consumable by verification and settlement workflows.
|
|
10
|
+
|
|
11
|
+
## Schema
|
|
12
|
+
|
|
13
|
+
See `schemas/AgentRun.v1.schema.json`.
|
|
14
|
+
|
|
15
|
+
## Required fields
|
|
16
|
+
|
|
17
|
+
- `schemaVersion` (const: `AgentRun.v1`)
|
|
18
|
+
- `runId`
|
|
19
|
+
- `agentId`
|
|
20
|
+
- `tenantId`
|
|
21
|
+
- `status` (`created|running|completed|failed`)
|
|
22
|
+
- `createdAt`
|
|
23
|
+
- `updatedAt`
|
|
24
|
+
|
|
25
|
+
## Event-derived semantics
|
|
26
|
+
|
|
27
|
+
`AgentRun.v1` is treated as a derived snapshot from `AgentEvent.v1` events in the run stream.
|
|
28
|
+
|
|
29
|
+
- `created` is set by `RUN_CREATED`.
|
|
30
|
+
- `running` is set by `RUN_STARTED` (or heartbeat if started exists).
|
|
31
|
+
- `completed` is terminal and set by `RUN_COMPLETED`.
|
|
32
|
+
- `failed` is terminal and set by `RUN_FAILED`.
|
|
33
|
+
|
|
34
|
+
After a terminal state (`completed|failed`), non-terminal state transitions are invalid.
|
|
35
|
+
|
|
36
|
+
## Evidence linkage
|
|
37
|
+
|
|
38
|
+
`evidenceRefs` is an optional deterministic list of evidence references attached by events.
|
|
39
|
+
Each ref is an opaque string in v1; higher-level protocols may enforce path/hash semantics.
|
|
40
|
+
|
|
41
|
+
## Canonicalization and hashing
|
|
42
|
+
|
|
43
|
+
When hashed/signed by higher-level objects:
|
|
44
|
+
|
|
45
|
+
- canonicalize JSON via RFC 8785 (JCS),
|
|
46
|
+
- hash canonical UTF-8 bytes using `sha256`,
|
|
47
|
+
- emit lowercase hex digests.
|