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,73 @@
|
|
|
1
|
+
# Your AI Agent Just Spent $500. Where's the Receipt?
|
|
2
|
+
|
|
3
|
+
Every agent stack today can do the work.
|
|
4
|
+
|
|
5
|
+
What it cannot do is produce a receipt you can actually trust.
|
|
6
|
+
|
|
7
|
+
If you are shipping agents, you have this problem already:
|
|
8
|
+
|
|
9
|
+
- Your agent calls tools, vendors, models, and other agents.
|
|
10
|
+
- Money moves.
|
|
11
|
+
- Later someone asks: "What did we get for that spend?"
|
|
12
|
+
|
|
13
|
+
Most teams answer with logs, screenshots, and vibes. That does not scale, and it does not pass a CFO or audit review.
|
|
14
|
+
|
|
15
|
+
Settld is the missing layer between "work done" and "money moved": deterministic settlement with verifiable evidence and a receipt trail.
|
|
16
|
+
|
|
17
|
+
This post is a 10-minute, self-serve demo: put a thin gateway in front of an `x402`-style API. When the upstream says `402 Payment Required`, the gateway creates a Settld hold. When the upstream returns the resource, Settld verifies evidence and releases (or holds back) deterministically.
|
|
18
|
+
|
|
19
|
+
## The Wedge: x402 Gateway (Verify Before Release)
|
|
20
|
+
|
|
21
|
+
x402 gives you a clean payment negotiation surface at the HTTP layer.
|
|
22
|
+
|
|
23
|
+
But it still does not solve:
|
|
24
|
+
|
|
25
|
+
- Proving the work/resource was delivered correctly
|
|
26
|
+
- Applying deterministic payout logic
|
|
27
|
+
- Producing a receipt trail that a counterparty can verify offline
|
|
28
|
+
|
|
29
|
+
The x402 gateway is the smallest thing you can install to feel the difference immediately:
|
|
30
|
+
|
|
31
|
+
1. Client requests `/resource`
|
|
32
|
+
2. Upstream replies `402` with `x-payment-required`
|
|
33
|
+
3. Gateway creates a Settld gate + escrow hold and returns `x-settld-gate-id`
|
|
34
|
+
4. Client retries with `x-settld-gate-id` + payment proof
|
|
35
|
+
5. Gateway verifies the delivered response, Settld issues a deterministic decision and receipt
|
|
36
|
+
|
|
37
|
+
You do not need to redesign your API. You put a proxy in front of it.
|
|
38
|
+
|
|
39
|
+
## Run It Locally (10 minutes)
|
|
40
|
+
|
|
41
|
+
This repo includes:
|
|
42
|
+
|
|
43
|
+
- A local Settld API (in-memory)
|
|
44
|
+
- A mock x402-style upstream (`services/x402-gateway/examples/upstream-mock.js`)
|
|
45
|
+
- The x402 gateway (`services/x402-gateway/`)
|
|
46
|
+
|
|
47
|
+
Quickstart:
|
|
48
|
+
|
|
49
|
+
- `docs/QUICKSTART_X402_GATEWAY.md`
|
|
50
|
+
|
|
51
|
+
The single thing to notice: your client experience stays the same (it still sees a `402`), but now there is an explicit settlement object with deterministic outcomes and an audit-friendly trail.
|
|
52
|
+
|
|
53
|
+
## What You Get (Immediately)
|
|
54
|
+
|
|
55
|
+
- A stable "gate id" you can attach to your own logs and job ids
|
|
56
|
+
- A deterministic verify+decision step (no human-in-the-loop required for the happy path)
|
|
57
|
+
- A receipt-like trail (`x-settld-*` headers + API query surface) that you can store and audit later
|
|
58
|
+
|
|
59
|
+
## What This Unlocks
|
|
60
|
+
|
|
61
|
+
Once you have `verify -> decide -> receipt` in the loop, you can add the things enterprises and marketplaces actually require:
|
|
62
|
+
|
|
63
|
+
- Holdbacks and dispute windows that do not rely on customer support tickets
|
|
64
|
+
- Reputation events based on completed/failed/disputed settlements
|
|
65
|
+
- Governance controls ("do not spend with low-reputation counterparties", "cap delegation depth", "require approval above $X")
|
|
66
|
+
- Delegated, multi-hop settlement (the hard moat)
|
|
67
|
+
|
|
68
|
+
## If You Build Agents, This Is the New Default
|
|
69
|
+
|
|
70
|
+
Agents will transact. The only question is whether they transact with receipts and deterministic settlement, or with chaos.
|
|
71
|
+
|
|
72
|
+
If you want to wire this into a real x402 flow (real payment rail, no demo shortcuts), the gateway stays the same shape. The funding source changes.
|
|
73
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "X402ProviderPayoutRegistry.v1",
|
|
3
|
+
"providers": [
|
|
4
|
+
{
|
|
5
|
+
"providerId": "agt_x402_payee_127_0_0_1:9402",
|
|
6
|
+
"destination": {
|
|
7
|
+
"type": "circle_wallet",
|
|
8
|
+
"walletId": "wallet_123",
|
|
9
|
+
"blockchain": "BASE-SEPOLIA",
|
|
10
|
+
"token": "USDC"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Settld Documentation
|
|
2
|
+
|
|
3
|
+
Settld is the enforceable transaction layer for autonomous work.
|
|
4
|
+
|
|
5
|
+
If an agent can call a tool but cannot prove **who authorized it**, **what was agreed**, **what happened**, and **why money moved**, you do not have commerce. You have logs.
|
|
6
|
+
|
|
7
|
+
Settld gives you a canonical economic loop:
|
|
8
|
+
|
|
9
|
+
`Agreement -> Hold -> Evidence -> Decision -> Receipt -> Dispute -> Adjustment`
|
|
10
|
+
|
|
11
|
+
## Start here
|
|
12
|
+
|
|
13
|
+
- [Quickstart](./quickstart.md) — one-command onboarding to first verified paid receipt
|
|
14
|
+
- [Core Primitives](./core-primitives.md) — protocol objects and invariants
|
|
15
|
+
- [API Reference](./api-reference.md) — endpoint map and auth model
|
|
16
|
+
- [Conformance](./conformance.md) — machine-checkable correctness gates
|
|
17
|
+
- [Closepacks](./closepacks.md) — offline verification workflow
|
|
18
|
+
|
|
19
|
+
## One-command onboarding
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
settld setup --non-interactive --host codex --base-url http://127.0.0.1:3000 --tenant-id tenant_default --settld-api-key sk_live_xxx.yyy --wallet-mode managed --wallet-bootstrap remote --profile-id engineering-spend --smoke
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Then:
|
|
26
|
+
|
|
27
|
+
1. `npm run mcp:probe -- --call settld.about '{}'`
|
|
28
|
+
2. `npm run demo:mcp-paid-exa`
|
|
29
|
+
3. verify first receipt with `settld x402 receipt verify`
|
|
30
|
+
|
|
31
|
+
## Implementation path
|
|
32
|
+
|
|
33
|
+
1. Run local stack and conformance
|
|
34
|
+
2. Integrate agreement/evidence/settlement endpoints
|
|
35
|
+
3. Add dispute flows with signer proof
|
|
36
|
+
4. Add replay and closepack verification to ops
|
|
37
|
+
5. Gate releases with conformance + verification artifacts
|
|
38
|
+
|
|
39
|
+
## Who this is for
|
|
40
|
+
|
|
41
|
+
- Capability providers who need enforceable paid calls
|
|
42
|
+
- Agent builders who need deterministic, replayable outcomes
|
|
43
|
+
- Marketplace/platform teams who need standard dispute/settlement semantics
|
|
44
|
+
- Security/compliance teams who need portable audit artifacts
|
|
45
|
+
|
|
46
|
+
## Kernel v0 scope
|
|
47
|
+
|
|
48
|
+
Kernel v0 focuses on **paid capability calls** and their enforceable lifecycle:
|
|
49
|
+
|
|
50
|
+
- signed agreement/evidence/decision/receipt artifacts
|
|
51
|
+
- holdbacks and challenge windows
|
|
52
|
+
- signer-bound dispute open envelopes
|
|
53
|
+
- deterministic settlement adjustments
|
|
54
|
+
- replay-evaluate checks
|
|
55
|
+
- closepack export + offline verify
|
|
56
|
+
- conformance pack assertions
|
|
57
|
+
|
|
58
|
+
## Product boundaries
|
|
59
|
+
|
|
60
|
+
Settld is the enforcement and verification layer.
|
|
61
|
+
|
|
62
|
+
- Transport is external (HTTP, MCP gateway, queues, A2A, etc.)
|
|
63
|
+
- Payment rails are adapters (card/ACH/crypto)
|
|
64
|
+
- Kernel artifacts are the source of truth for why value moved
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# GitBook Sync Setup
|
|
2
|
+
|
|
3
|
+
Use this folder as your GitBook project directory.
|
|
4
|
+
|
|
5
|
+
## Recommended
|
|
6
|
+
|
|
7
|
+
- Repository: `aidenlippert/settld`
|
|
8
|
+
- Project directory: `docs/gitbook`
|
|
9
|
+
- Initial sync: import from GitHub
|
|
10
|
+
|
|
11
|
+
## If your project directory is currently `docs`
|
|
12
|
+
|
|
13
|
+
You can keep it. Root `docs/README.md` and `docs/SUMMARY.md` route to this curated set.
|
|
14
|
+
|
|
15
|
+
## Domain
|
|
16
|
+
|
|
17
|
+
- custom domain: `docs.settld.work`
|
|
18
|
+
- DNS record: `CNAME docs -> 47701540b1-hosting.gitbook.io`
|
|
19
|
+
|
|
20
|
+
## Update workflow
|
|
21
|
+
|
|
22
|
+
1. edit docs in repo
|
|
23
|
+
2. open PR
|
|
24
|
+
3. merge to `main`
|
|
25
|
+
4. GitBook sync updates docs site
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Summary
|
|
2
|
+
|
|
3
|
+
- [Settld Docs](README.md)
|
|
4
|
+
- [Quickstart](quickstart.md)
|
|
5
|
+
- [Core Primitives](core-primitives.md)
|
|
6
|
+
- [API Reference](api-reference.md)
|
|
7
|
+
- [Conformance](conformance.md)
|
|
8
|
+
- [Closepacks](closepacks.md)
|
|
9
|
+
- [Guides](guides.md)
|
|
10
|
+
- [Dispute Lifecycle](dispute-lifecycle.md)
|
|
11
|
+
- [Replay and Audit](replay-and-audit.md)
|
|
12
|
+
- [SDK Reference](sdk-reference.md)
|
|
13
|
+
- [Operations Runbook](operations-runbook.md)
|
|
14
|
+
- [Security Model](security-model.md)
|
|
15
|
+
- [FAQ](faq.md)
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# API Reference
|
|
2
|
+
|
|
3
|
+
This page is the integration map. For endpoint-level schema details, use the generated OpenAPI reference.
|
|
4
|
+
|
|
5
|
+
## OpenAPI source of truth
|
|
6
|
+
|
|
7
|
+
- `openapi/settld.openapi.json`
|
|
8
|
+
|
|
9
|
+
## Auth model
|
|
10
|
+
|
|
11
|
+
Operator endpoints use scoped ops headers.
|
|
12
|
+
|
|
13
|
+
Common headers:
|
|
14
|
+
|
|
15
|
+
- `x-proxy-ops-token: <token>`
|
|
16
|
+
- `x-proxy-tenant-id: <tenantId>` (when required)
|
|
17
|
+
|
|
18
|
+
## Endpoint groups
|
|
19
|
+
|
|
20
|
+
## Platform
|
|
21
|
+
|
|
22
|
+
- `GET /healthz`
|
|
23
|
+
|
|
24
|
+
## Kernel lifecycle
|
|
25
|
+
|
|
26
|
+
Representative groups include:
|
|
27
|
+
|
|
28
|
+
- agreement/hold/evidence/settlement operations
|
|
29
|
+
- dispute open and verdict application
|
|
30
|
+
- replay-evaluate endpoints
|
|
31
|
+
- closepack export/verify endpoints
|
|
32
|
+
|
|
33
|
+
## Billing and plans
|
|
34
|
+
|
|
35
|
+
Representative endpoints:
|
|
36
|
+
|
|
37
|
+
- `GET /ops/finance/billing/plan`
|
|
38
|
+
- `POST /ops/finance/billing/providers/stripe/checkout`
|
|
39
|
+
- `POST /ops/finance/billing/providers/stripe/portal`
|
|
40
|
+
|
|
41
|
+
## Dashboard and API keys
|
|
42
|
+
|
|
43
|
+
Representative endpoints:
|
|
44
|
+
|
|
45
|
+
- `GET /api/dashboard/api-keys`
|
|
46
|
+
- `POST /api/dashboard/api-keys`
|
|
47
|
+
- `POST /api/dashboard/api-keys/:id/rotate`
|
|
48
|
+
- `POST /api/dashboard/api-keys/:id/revoke`
|
|
49
|
+
|
|
50
|
+
## Practical flow pattern
|
|
51
|
+
|
|
52
|
+
1. Create agreement + hold context
|
|
53
|
+
2. Submit evidence
|
|
54
|
+
3. Trigger settlement
|
|
55
|
+
4. Fetch resulting artifacts
|
|
56
|
+
5. Replay-evaluate
|
|
57
|
+
6. Export closepack for third-party verification
|
|
58
|
+
|
|
59
|
+
## cURL example
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
curl -s "http://127.0.0.1:3000/ops/tool-calls/replay-evaluate?agreementHash=<agreementHash>" \
|
|
63
|
+
-H "x-proxy-ops-token: tok_ops"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## SDK alternatives
|
|
67
|
+
|
|
68
|
+
- JavaScript SDK: `packages/api-sdk`
|
|
69
|
+
- Python SDK: `packages/api-sdk-python`
|
|
70
|
+
|
|
71
|
+
## Recommendation
|
|
72
|
+
|
|
73
|
+
Expose generated OpenAPI pages in GitBook using the OpenAPI import feature and keep this page as architectural orientation.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Closepacks (Offline Verification)
|
|
2
|
+
|
|
3
|
+
A closepack is a portable verification bundle proving settlement lineage without relying on live server trust.
|
|
4
|
+
|
|
5
|
+
## What you can prove with a closepack
|
|
6
|
+
|
|
7
|
+
- artifact integrity and signatures
|
|
8
|
+
- agreement/evidence/decision bindings
|
|
9
|
+
- dispute lineage correctness
|
|
10
|
+
- deterministic adjustment routing expectations
|
|
11
|
+
- replay comparison consistency
|
|
12
|
+
|
|
13
|
+
## Export
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx settld closepack export --agreement-hash <agreementHash> --out closepack.zip
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Repo checkout:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
./bin/settld.js closepack export --agreement-hash <agreementHash> --out closepack.zip
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Verify
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npx settld closepack verify closepack.zip --json-out /tmp/closepack-verify.json
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Repo checkout:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
./bin/settld.js closepack verify closepack.zip --json-out /tmp/closepack-verify.json
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Operational policy recommendation
|
|
38
|
+
|
|
39
|
+
For every production release candidate:
|
|
40
|
+
|
|
41
|
+
1. Generate at least one representative closepack.
|
|
42
|
+
2. Verify it offline.
|
|
43
|
+
3. Store verify JSON with release artifacts.
|
|
44
|
+
|
|
45
|
+
## Why this matters
|
|
46
|
+
|
|
47
|
+
Closepacks shift trust from “believe the API response” to “independently verify the economic claim.”
|
|
48
|
+
|
|
49
|
+
That is a core credibility boundary for settlement infrastructure.
|
|
50
|
+
|
|
51
|
+
## Related references
|
|
52
|
+
|
|
53
|
+
- `docs/spec/ClosePack.v1.md`
|
|
54
|
+
- `docs/spec/ClosePackManifest.v1.md`
|
|
55
|
+
- `docs/spec/INVARIANTS.md`
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Conformance
|
|
2
|
+
|
|
3
|
+
Conformance verifies behavioral correctness of Kernel v0, not just schema validity.
|
|
4
|
+
|
|
5
|
+
## Why conformance exists
|
|
6
|
+
|
|
7
|
+
Conformance catches high-impact regressions:
|
|
8
|
+
|
|
9
|
+
- replay mismatches
|
|
10
|
+
- dispute/holdback lifecycle drift
|
|
11
|
+
- deterministic adjustment/idempotency violations
|
|
12
|
+
- closepack verification failures
|
|
13
|
+
|
|
14
|
+
## Run conformance
|
|
15
|
+
|
|
16
|
+
Installed CLI:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npx settld conformance kernel --ops-token tok_ops --json-out /tmp/kernel-report.json
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Repo checkout:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
./bin/settld.js conformance kernel --ops-token tok_ops --json-out /tmp/kernel-report.json
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Minimum assertions expected
|
|
29
|
+
|
|
30
|
+
- kernel artifact chain is complete
|
|
31
|
+
- replay-evaluate matches stored outcomes
|
|
32
|
+
- closepack export + offline verify succeeds
|
|
33
|
+
- dispute flow blocks auto-release and routes held funds deterministically
|
|
34
|
+
- idempotency constraints hold under retries
|
|
35
|
+
|
|
36
|
+
## CI usage
|
|
37
|
+
|
|
38
|
+
Store these as build artifacts:
|
|
39
|
+
|
|
40
|
+
- conformance JSON report
|
|
41
|
+
- closepack verify report
|
|
42
|
+
- release artifact checksum list (for releases)
|
|
43
|
+
|
|
44
|
+
## Run-twice idempotency check
|
|
45
|
+
|
|
46
|
+
Run critical flows twice and confirm deterministic uniqueness surfaces hold (no duplicate deterministic effects).
|
|
47
|
+
|
|
48
|
+
## Failure triage pattern
|
|
49
|
+
|
|
50
|
+
1. Inspect failing assertion from report JSON.
|
|
51
|
+
2. Map failure to primitive/invariant.
|
|
52
|
+
3. Fix invariant behavior (not only response shape).
|
|
53
|
+
4. Re-run until all assertions pass.
|
|
54
|
+
|
|
55
|
+
## Related files
|
|
56
|
+
|
|
57
|
+
- `conformance/kernel-v0/run.mjs`
|
|
58
|
+
- `test/conformance-kernel-v0.test.js`
|
|
59
|
+
- `docs/KERNEL_COMPATIBLE.md`
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Core Primitives
|
|
2
|
+
|
|
3
|
+
Settld security and settlement correctness come from signed, hash-bound artifacts with deterministic relationships.
|
|
4
|
+
|
|
5
|
+
## Canonical transaction chain
|
|
6
|
+
|
|
7
|
+
Kernel v0 paid capability flow (as implemented in this repo):
|
|
8
|
+
|
|
9
|
+
1. `ToolManifest`
|
|
10
|
+
2. `ToolCallAgreement`
|
|
11
|
+
3. `FundingHold`
|
|
12
|
+
4. `ToolCallEvidence`
|
|
13
|
+
5. `SettlementDecisionRecord`
|
|
14
|
+
6. `SettlementReceipt`
|
|
15
|
+
7. Dispute branch (when needed):
|
|
16
|
+
- `DisputeOpenEnvelope`
|
|
17
|
+
- `ArbitrationCase`
|
|
18
|
+
- `ArbitrationVerdict`
|
|
19
|
+
- `SettlementAdjustment`
|
|
20
|
+
|
|
21
|
+
Reality notes:
|
|
22
|
+
|
|
23
|
+
- `AuthorityGrant` is **not shipped** in this repo (no code, no schema, no spec). Current authorization is enforced by API auth/scope and by policy gates (for example `AgentIdentity.walletPolicy`) depending on the workflow surface.
|
|
24
|
+
- `ToolCallAgreement.v1` and `ToolCallEvidence.v1` are frozen protocol objects under `docs/spec/` (normative spec + JSON schemas + conformance vectors).
|
|
25
|
+
|
|
26
|
+
## Primitive purpose
|
|
27
|
+
|
|
28
|
+
### ToolManifest
|
|
29
|
+
|
|
30
|
+
Capability identity, interface details, verifier hints. Prevents silent identity swaps.
|
|
31
|
+
|
|
32
|
+
### ToolCallAgreement
|
|
33
|
+
|
|
34
|
+
Commits parties to exact terms including call commitment (`callId`, `inputHash`) and settlement terms.
|
|
35
|
+
|
|
36
|
+
### FundingHold
|
|
37
|
+
|
|
38
|
+
Reserves funds before work execution, enabling reliable provider execution with escrow semantics.
|
|
39
|
+
|
|
40
|
+
### ToolCallEvidence
|
|
41
|
+
|
|
42
|
+
Signed evidence binding execution facts to the agreement commitment.
|
|
43
|
+
|
|
44
|
+
### SettlementDecisionRecord
|
|
45
|
+
|
|
46
|
+
Deterministic evaluation outcome, reason codes, policy linkage, replay-critical facts.
|
|
47
|
+
|
|
48
|
+
### SettlementReceipt
|
|
49
|
+
|
|
50
|
+
Finalized settlement artifact describing effective outcome and accounting effect.
|
|
51
|
+
|
|
52
|
+
### Dispute artifacts
|
|
53
|
+
|
|
54
|
+
- `DisputeOpenEnvelope` proves opener legitimacy for non-admin opens.
|
|
55
|
+
- `ArbitrationCase` tracks active dispute subject.
|
|
56
|
+
- `ArbitrationVerdict` resolves dispute.
|
|
57
|
+
- `SettlementAdjustment` applies deterministic held-fund routing effect.
|
|
58
|
+
|
|
59
|
+
## Critical invariants
|
|
60
|
+
|
|
61
|
+
- One deterministic settlement result per agreement hash
|
|
62
|
+
- Evidence must match agreement commitment (`callId`/`inputHash`)
|
|
63
|
+
- Open arbitration case blocks holdback auto-release
|
|
64
|
+
- Deterministic adjustment identity prevents double-apply
|
|
65
|
+
- Replay checks compare recomputed vs stored decision path
|
|
66
|
+
|
|
67
|
+
## Determinism in practice
|
|
68
|
+
|
|
69
|
+
Determinism means:
|
|
70
|
+
|
|
71
|
+
- canonicalized artifact hashing
|
|
72
|
+
- explicit signer ownership
|
|
73
|
+
- deterministic artifact IDs for idempotent side effects
|
|
74
|
+
- reproducible replay/verification checks
|
|
75
|
+
|
|
76
|
+
It does not mean all policy semantics are universal truth. It means outcomes are provably tied to declared policy and evidence.
|
|
77
|
+
|
|
78
|
+
## Related references
|
|
79
|
+
|
|
80
|
+
- `docs/spec/README.md`
|
|
81
|
+
- `docs/spec/INVARIANTS.md`
|
|
82
|
+
- `docs/spec/SettlementDecisionRecord.v2.md`
|
|
83
|
+
- `docs/spec/DisputeOpenEnvelope.v1.md`
|
|
84
|
+
- `docs/spec/ClosePack.v1.md`
|
|
85
|
+
- `docs/KERNEL_V0.md`
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Dispute Lifecycle
|
|
2
|
+
|
|
3
|
+
Disputes are part of settlement finality, not an afterthought.
|
|
4
|
+
|
|
5
|
+
## Lifecycle
|
|
6
|
+
|
|
7
|
+
1. Receipt created with holdback terms.
|
|
8
|
+
2. Counterparty opens dispute (non-admin opens require signed envelope).
|
|
9
|
+
3. Arbitration case is created and marked open.
|
|
10
|
+
4. Holdback auto-release is blocked while case is open.
|
|
11
|
+
5. Arbiter issues verdict.
|
|
12
|
+
6. Deterministic settlement adjustment routes held funds.
|
|
13
|
+
|
|
14
|
+
## Invariant behavior
|
|
15
|
+
|
|
16
|
+
- open case must block auto-release tick for referenced holdback
|
|
17
|
+
- one deterministic adjustment effect per dispute resolution path
|
|
18
|
+
- no extra clawbacks beyond held escrow in dispute adjustment path
|
|
19
|
+
- idempotent retries must return existing deterministic outcomes
|
|
20
|
+
|
|
21
|
+
## Error conditions
|
|
22
|
+
|
|
23
|
+
Typical stable codes include:
|
|
24
|
+
|
|
25
|
+
- `DISPUTE_WINDOW_EXPIRED`
|
|
26
|
+
- `DISPUTE_ALREADY_OPEN`
|
|
27
|
+
- `DISPUTE_INVALID_SIGNER`
|
|
28
|
+
|
|
29
|
+
## Operational checks
|
|
30
|
+
|
|
31
|
+
- monitor open-case age and stuck cases
|
|
32
|
+
- alert on replay mismatches involving dispute artifacts
|
|
33
|
+
- track adjustment conflicts as potential idempotency regressions
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# FAQ
|
|
2
|
+
|
|
3
|
+
## Is Settld a payment network?
|
|
4
|
+
|
|
5
|
+
No. Settld is the enforcement and verification layer for economic outcomes. Payment rails are adapters.
|
|
6
|
+
|
|
7
|
+
## Do we need crypto?
|
|
8
|
+
|
|
9
|
+
No. Rail choice is independent from kernel enforcement semantics.
|
|
10
|
+
|
|
11
|
+
## What does “offline-verifiable” mean?
|
|
12
|
+
|
|
13
|
+
You can export closepacks and verify signatures/bindings/outcomes without querying Settld servers.
|
|
14
|
+
|
|
15
|
+
## What is Kernel v0 focused on?
|
|
16
|
+
|
|
17
|
+
Paid capability calls with holdbacks, disputes, deterministic adjustments, replay checks, and closepack verification.
|
|
18
|
+
|
|
19
|
+
## Is this open?
|
|
20
|
+
|
|
21
|
+
Protocol objects and conformance vectors are open; hosted operational/control-plane features are layered separately.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Guides
|
|
2
|
+
|
|
3
|
+
Use these guides to move from local proof-of-concept to production-grade operation.
|
|
4
|
+
|
|
5
|
+
## Local proof flow
|
|
6
|
+
|
|
7
|
+
- Start stack
|
|
8
|
+
- Run conformance
|
|
9
|
+
- Replay-evaluate a real agreement
|
|
10
|
+
- Export and verify closepack
|
|
11
|
+
|
|
12
|
+
See [Quickstart](./quickstart.md).
|
|
13
|
+
|
|
14
|
+
## Build a paid capability
|
|
15
|
+
|
|
16
|
+
- Generate capability template
|
|
17
|
+
- Publish signed manifest
|
|
18
|
+
- Emit evidence correctly
|
|
19
|
+
- Set holdback/challenge-window settlement terms
|
|
20
|
+
- Validate with conformance
|
|
21
|
+
|
|
22
|
+
## Integrate with your existing backend
|
|
23
|
+
|
|
24
|
+
- Choose SDK (JS/Python) or raw API
|
|
25
|
+
- Map your lifecycle to agreement/evidence/decision stages
|
|
26
|
+
- Persist artifact IDs for audit and replay
|
|
27
|
+
- Add replay and closepack checks into operational workflows
|
|
28
|
+
- For MCP host wiring (Claude/Cursor/Codex/OpenClaw), see `../QUICKSTART_MCP_HOSTS.md`
|
|
29
|
+
|
|
30
|
+
## Operate disputes safely
|
|
31
|
+
|
|
32
|
+
- Require signer-bound dispute envelope for non-admin opens
|
|
33
|
+
- Enforce challenge window
|
|
34
|
+
- Prevent multiple active dispute conflicts
|
|
35
|
+
- Ensure verdict routes held funds via deterministic adjustment
|
|
36
|
+
|
|
37
|
+
## Release process
|
|
38
|
+
|
|
39
|
+
- run tests + conformance
|
|
40
|
+
- produce release checksums/artifacts
|
|
41
|
+
- include closepack verify evidence
|
|
42
|
+
- document regression and replay findings
|
|
43
|
+
|
|
44
|
+
## Deep-dive pages
|
|
45
|
+
|
|
46
|
+
- [Dispute lifecycle](./dispute-lifecycle.md)
|
|
47
|
+
- [Replay and audit](./replay-and-audit.md)
|
|
48
|
+
- [SDK usage](./sdk-reference.md)
|
|
49
|
+
- [Operations runbook](./operations-runbook.md)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Operations Runbook
|
|
2
|
+
|
|
3
|
+
Minimum operator posture for reliable kernel operation.
|
|
4
|
+
|
|
5
|
+
## Daily checks
|
|
6
|
+
|
|
7
|
+
- health endpoint response and DB latency
|
|
8
|
+
- replay mismatch count
|
|
9
|
+
- open dispute backlog
|
|
10
|
+
- pending/failed maintenance jobs
|
|
11
|
+
|
|
12
|
+
## Incident priorities
|
|
13
|
+
|
|
14
|
+
P0:
|
|
15
|
+
|
|
16
|
+
- replay mismatches on finalized settlements
|
|
17
|
+
- deterministic adjustment duplication risk
|
|
18
|
+
- settlement endpoint signing failures
|
|
19
|
+
|
|
20
|
+
P1:
|
|
21
|
+
|
|
22
|
+
- dispute queue lag beyond SLA
|
|
23
|
+
- closepack verify regressions in release candidate
|
|
24
|
+
|
|
25
|
+
## Recovery patterns
|
|
26
|
+
|
|
27
|
+
- use deterministic IDs + idempotent handlers before manual intervention
|
|
28
|
+
- re-run conformance after hotfixes
|
|
29
|
+
- archive closepack + replay reports for each incident timeline
|
|
30
|
+
|
|
31
|
+
## Release minimum
|
|
32
|
+
|
|
33
|
+
- tests green
|
|
34
|
+
- conformance green
|
|
35
|
+
- closepack verify sample green
|
|
36
|
+
- release artifacts/checksums generated
|