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,348 @@
|
|
|
1
|
+
# Trust OS v1 (Jira-Ready Backlog)
|
|
2
|
+
|
|
3
|
+
Date: 2026-02-20
|
|
4
|
+
Owner: CEO / Product / Platform
|
|
5
|
+
Release Name: `Trust OS v1`
|
|
6
|
+
Release Objective: Ship a production-grade, rail-agnostic inter-agent trust kernel with deterministic policy enforcement, dispute/reversal handling, auditable receipts, and operator controls.
|
|
7
|
+
|
|
8
|
+
## Scope Boundaries (v1)
|
|
9
|
+
|
|
10
|
+
In scope:
|
|
11
|
+
- Runtime decisions: `allow`, `challenge`, `deny`, `escalate`.
|
|
12
|
+
- Request binding, policy hash pinning, deterministic evidence/receipt export.
|
|
13
|
+
- Dispute lifecycle + arbitration verdict + automatic settlement/reversal outcome.
|
|
14
|
+
- Operator inbox (approval/escalation controls).
|
|
15
|
+
- One hardened rail adapter path.
|
|
16
|
+
- Three starter vertical profiles.
|
|
17
|
+
|
|
18
|
+
Out of scope:
|
|
19
|
+
- Policy marketplace and monetization.
|
|
20
|
+
- Full open discovery network.
|
|
21
|
+
- Building a new wallet rail.
|
|
22
|
+
|
|
23
|
+
## Program Milestones
|
|
24
|
+
|
|
25
|
+
- Milestone M1 (Sprint 1): Enforcement core + request binding + receipt schema freeze.
|
|
26
|
+
- Milestone M2 (Sprint 2): Dispute/reversal runtime + operator inbox MVP.
|
|
27
|
+
- Milestone M3 (Sprint 3): Rail adapter hardening + profile system + release gate.
|
|
28
|
+
|
|
29
|
+
## Epics
|
|
30
|
+
|
|
31
|
+
- `STLD-E2401` Policy Runtime Enforcement
|
|
32
|
+
- `STLD-E2402` Execution Binding + Evidence + Receipts
|
|
33
|
+
- `STLD-E2403` Dispute Court + Reversal Engine
|
|
34
|
+
- `STLD-E2404` Operator Inbox + Controls
|
|
35
|
+
- `STLD-E2405` Rail Adapter Hardening
|
|
36
|
+
- `STLD-E2406` Vertical Policy Profiles
|
|
37
|
+
- `STLD-E2407` QA, Conformance, and Release Gates
|
|
38
|
+
|
|
39
|
+
## Jira Ticket Backlog
|
|
40
|
+
|
|
41
|
+
### Epic `STLD-E2401` Policy Runtime Enforcement
|
|
42
|
+
|
|
43
|
+
#### `STLD-T2401`
|
|
44
|
+
- Type: Story
|
|
45
|
+
- Priority: P0
|
|
46
|
+
- Summary: Implement canonical runtime policy decision point (`allow/challenge/deny/escalate`) for all paid action paths.
|
|
47
|
+
- Owner: Backend Platform
|
|
48
|
+
- Estimate: 5d
|
|
49
|
+
- Dependencies: None
|
|
50
|
+
- Acceptance Criteria:
|
|
51
|
+
- Every paid action path calls policy runtime before execution.
|
|
52
|
+
- Decision output includes `decision`, `reasonCode`, `policyHash`, `policyVersion`, `decisionId`.
|
|
53
|
+
- Deterministic decision output for same input and policy version.
|
|
54
|
+
|
|
55
|
+
#### `STLD-T2402`
|
|
56
|
+
- Type: Story
|
|
57
|
+
- Priority: P0
|
|
58
|
+
- Summary: Add stable reason code registry and API surface for denied/challenged/escalated actions.
|
|
59
|
+
- Owner: Backend Platform
|
|
60
|
+
- Estimate: 3d
|
|
61
|
+
- Dependencies: `STLD-T2401`
|
|
62
|
+
- Acceptance Criteria:
|
|
63
|
+
- Reason codes are schema-validated and documented.
|
|
64
|
+
- API responses expose reason code and remediation hints.
|
|
65
|
+
- CLI/SDK map reason codes consistently.
|
|
66
|
+
|
|
67
|
+
#### `STLD-T2403`
|
|
68
|
+
- Type: Story
|
|
69
|
+
- Priority: P0
|
|
70
|
+
- Summary: Enforce policy evaluation at MCP entry points and bridge paths.
|
|
71
|
+
- Owner: MCP / Integrations
|
|
72
|
+
- Estimate: 3d
|
|
73
|
+
- Dependencies: `STLD-T2401`
|
|
74
|
+
- Acceptance Criteria:
|
|
75
|
+
- MCP tool calls cannot bypass policy runtime.
|
|
76
|
+
- MCP responses return policy decision metadata.
|
|
77
|
+
- Integration tests cover allowed/challenged/denied flows.
|
|
78
|
+
|
|
79
|
+
#### `STLD-T2404`
|
|
80
|
+
- Type: Task
|
|
81
|
+
- Priority: P1
|
|
82
|
+
- Summary: Add policy decision metrics and latency SLO instrumentation.
|
|
83
|
+
- Owner: DevOps / Observability
|
|
84
|
+
- Estimate: 2d
|
|
85
|
+
- Dependencies: `STLD-T2401`
|
|
86
|
+
- Acceptance Criteria:
|
|
87
|
+
- Metrics emitted: decision count by type/reason, eval latency p50/p95.
|
|
88
|
+
- Dashboard and alert thresholds configured.
|
|
89
|
+
|
|
90
|
+
### Epic `STLD-E2402` Execution Binding + Evidence + Receipts
|
|
91
|
+
|
|
92
|
+
#### `STLD-T2410`
|
|
93
|
+
- Type: Story
|
|
94
|
+
- Priority: P0
|
|
95
|
+
- Summary: Enforce request binding between authorization token and canonical request fingerprint.
|
|
96
|
+
- Owner: Backend Platform
|
|
97
|
+
- Estimate: 4d
|
|
98
|
+
- Dependencies: `STLD-T2401`
|
|
99
|
+
- Acceptance Criteria:
|
|
100
|
+
- Request mutation/replay attempts fail with deterministic error code.
|
|
101
|
+
- Fingerprint algorithm is stable and versioned.
|
|
102
|
+
- Test vectors added for strict and side-effecting modes.
|
|
103
|
+
|
|
104
|
+
#### `STLD-T2411`
|
|
105
|
+
- Type: Story
|
|
106
|
+
- Priority: P0
|
|
107
|
+
- Summary: Bind policy hash/version and request hash into settlement decision records.
|
|
108
|
+
- Owner: Backend Platform
|
|
109
|
+
- Estimate: 2d
|
|
110
|
+
- Dependencies: `STLD-T2410`
|
|
111
|
+
- Acceptance Criteria:
|
|
112
|
+
- Decision records include policy/version/request binding fields.
|
|
113
|
+
- Offline verifier validates these bindings.
|
|
114
|
+
|
|
115
|
+
#### `STLD-T2412`
|
|
116
|
+
- Type: Story
|
|
117
|
+
- Priority: P0
|
|
118
|
+
- Summary: Ship `ReceiptBundle.v1` export with deterministic manifest and verification output.
|
|
119
|
+
- Owner: Protocol / Backend
|
|
120
|
+
- Estimate: 4d
|
|
121
|
+
- Dependencies: `STLD-T2411`
|
|
122
|
+
- Acceptance Criteria:
|
|
123
|
+
- Receipt bundle includes decision, settlement, and verification artifacts.
|
|
124
|
+
- Bundle verifies offline with strict mode.
|
|
125
|
+
- Repeat export produces identical canonical hashes.
|
|
126
|
+
|
|
127
|
+
#### `STLD-T2413`
|
|
128
|
+
- Type: Task
|
|
129
|
+
- Priority: P1
|
|
130
|
+
- Summary: Add SDK helpers for receipt retrieval/export across JS and Python.
|
|
131
|
+
- Owner: SDK
|
|
132
|
+
- Estimate: 3d
|
|
133
|
+
- Dependencies: `STLD-T2412`
|
|
134
|
+
- Acceptance Criteria:
|
|
135
|
+
- JS and Python SDK expose receipt export APIs.
|
|
136
|
+
- SDK smoke tests cover end-to-end retrieval and verification.
|
|
137
|
+
|
|
138
|
+
### Epic `STLD-E2403` Dispute Court + Reversal Engine
|
|
139
|
+
|
|
140
|
+
#### `STLD-T2420`
|
|
141
|
+
- Type: Story
|
|
142
|
+
- Priority: P0
|
|
143
|
+
- Summary: Implement dispute case state machine (`opened`, `evidence_collected`, `under_review`, `verdict_issued`, `closed`).
|
|
144
|
+
- Owner: Backend Platform
|
|
145
|
+
- Estimate: 4d
|
|
146
|
+
- Dependencies: `STLD-T2411`
|
|
147
|
+
- Acceptance Criteria:
|
|
148
|
+
- State transitions are deterministic and idempotent.
|
|
149
|
+
- Invalid transitions are blocked with stable error codes.
|
|
150
|
+
- Case timeline is append-only and signed.
|
|
151
|
+
|
|
152
|
+
#### `STLD-T2421`
|
|
153
|
+
- Type: Story
|
|
154
|
+
- Priority: P0
|
|
155
|
+
- Summary: Implement verdict application pipeline to trigger automatic release/refund/reversal outcomes.
|
|
156
|
+
- Owner: Backend Platform
|
|
157
|
+
- Estimate: 4d
|
|
158
|
+
- Dependencies: `STLD-T2420`
|
|
159
|
+
- Acceptance Criteria:
|
|
160
|
+
- Verdict maps to deterministic financial outcome.
|
|
161
|
+
- Reversal entries are balanced and idempotent.
|
|
162
|
+
- Duplicate verdict processing does not double-settle.
|
|
163
|
+
|
|
164
|
+
#### `STLD-T2422`
|
|
165
|
+
- Type: Story
|
|
166
|
+
- Priority: P0
|
|
167
|
+
- Summary: Add dispute APIs and SDK wrappers for open/attach evidence/issue verdict.
|
|
168
|
+
- Owner: API + SDK
|
|
169
|
+
- Estimate: 3d
|
|
170
|
+
- Dependencies: `STLD-T2420`
|
|
171
|
+
- Acceptance Criteria:
|
|
172
|
+
- APIs exposed with authz enforcement.
|
|
173
|
+
- SDK wrappers for JS/Python and MCP tool surface.
|
|
174
|
+
- Contract tests cover happy and failure cases.
|
|
175
|
+
|
|
176
|
+
#### `STLD-T2423`
|
|
177
|
+
- Type: Task
|
|
178
|
+
- Priority: P1
|
|
179
|
+
- Summary: Add dispute SLA timers and escalation triggers.
|
|
180
|
+
- Owner: Backend Platform
|
|
181
|
+
- Estimate: 2d
|
|
182
|
+
- Dependencies: `STLD-T2420`
|
|
183
|
+
- Acceptance Criteria:
|
|
184
|
+
- Time-window breaches emit escalation events.
|
|
185
|
+
- Alerts and dashboards for aging disputes.
|
|
186
|
+
|
|
187
|
+
### Epic `STLD-E2404` Operator Inbox + Controls
|
|
188
|
+
|
|
189
|
+
#### `STLD-T2430`
|
|
190
|
+
- Type: Story
|
|
191
|
+
- Priority: P0
|
|
192
|
+
- Summary: Build operator inbox page for challenged/escalated actions with approve/deny actions.
|
|
193
|
+
- Owner: Frontend
|
|
194
|
+
- Estimate: 5d
|
|
195
|
+
- Dependencies: `STLD-T2401`, `STLD-T2422`
|
|
196
|
+
- Acceptance Criteria:
|
|
197
|
+
- Operators can view pending items with policy context and evidence refs.
|
|
198
|
+
- Approve/deny writes signed operator action events.
|
|
199
|
+
- Pagination/filtering by tenant and severity.
|
|
200
|
+
|
|
201
|
+
#### `STLD-T2431`
|
|
202
|
+
- Type: Story
|
|
203
|
+
- Priority: P0
|
|
204
|
+
- Summary: Implement emergency controls: pause agent, quarantine, revoke delegation, kill switch.
|
|
205
|
+
- Owner: Backend + Frontend
|
|
206
|
+
- Estimate: 4d
|
|
207
|
+
- Dependencies: `STLD-T2430`
|
|
208
|
+
- Acceptance Criteria:
|
|
209
|
+
- Emergency actions are auditable and idempotent.
|
|
210
|
+
- Paused/quarantined agents cannot execute paid actions.
|
|
211
|
+
- Recovery flow documented and tested.
|
|
212
|
+
|
|
213
|
+
#### `STLD-T2432`
|
|
214
|
+
- Type: Task
|
|
215
|
+
- Priority: P1
|
|
216
|
+
- Summary: Add operator decision audit export for finance and compliance.
|
|
217
|
+
- Owner: Backend
|
|
218
|
+
- Estimate: 2d
|
|
219
|
+
- Dependencies: `STLD-T2430`
|
|
220
|
+
- Acceptance Criteria:
|
|
221
|
+
- Export contains decision metadata, actor, timestamp, reason, linked receipt/case IDs.
|
|
222
|
+
|
|
223
|
+
### Epic `STLD-E2405` Rail Adapter Hardening
|
|
224
|
+
|
|
225
|
+
#### `STLD-T2440`
|
|
226
|
+
- Type: Story
|
|
227
|
+
- Priority: P0
|
|
228
|
+
- Summary: Harden one production adapter lane (`x402 + Stripe` or `x402 + AWAL`) under Trust OS enforcement.
|
|
229
|
+
- Owner: Integrations
|
|
230
|
+
- Estimate: 5d
|
|
231
|
+
- Dependencies: `STLD-T2403`, `STLD-T2412`, `STLD-T2421`
|
|
232
|
+
- Acceptance Criteria:
|
|
233
|
+
- End-to-end flow uses adapter with Trust OS decisions.
|
|
234
|
+
- Settlement and receipts remain deterministic.
|
|
235
|
+
- Replay and mutation attacks are rejected in adapter path.
|
|
236
|
+
|
|
237
|
+
#### `STLD-T2441`
|
|
238
|
+
- Type: Task
|
|
239
|
+
- Priority: P1
|
|
240
|
+
- Summary: Add adapter conformance tests and CI gate.
|
|
241
|
+
- Owner: QA / Integrations
|
|
242
|
+
- Estimate: 2d
|
|
243
|
+
- Dependencies: `STLD-T2440`
|
|
244
|
+
- Acceptance Criteria:
|
|
245
|
+
- CI fails on adapter regressions.
|
|
246
|
+
- Conformance report artifact uploaded per run.
|
|
247
|
+
|
|
248
|
+
### Epic `STLD-E2406` Vertical Policy Profiles
|
|
249
|
+
|
|
250
|
+
#### `STLD-T2450`
|
|
251
|
+
- Type: Story
|
|
252
|
+
- Priority: P0
|
|
253
|
+
- Summary: Implement profile schema and profile hashing/signing contract.
|
|
254
|
+
- Owner: Protocol + Backend
|
|
255
|
+
- Estimate: 3d
|
|
256
|
+
- Dependencies: `STLD-T2401`
|
|
257
|
+
- Acceptance Criteria:
|
|
258
|
+
- Profile schema supports limits, allowlists, approval tiers, dispute defaults, compliance toggles.
|
|
259
|
+
- Profile hash is embedded in decisions/receipts.
|
|
260
|
+
|
|
261
|
+
#### `STLD-T2451`
|
|
262
|
+
- Type: Story
|
|
263
|
+
- Priority: P0
|
|
264
|
+
- Summary: Add CLI commands: `settld profile init`, `validate`, `simulate`.
|
|
265
|
+
- Owner: CLI
|
|
266
|
+
- Estimate: 4d
|
|
267
|
+
- Dependencies: `STLD-T2450`
|
|
268
|
+
- Acceptance Criteria:
|
|
269
|
+
- `init` scaffolds profile manifest and rules.
|
|
270
|
+
- `validate` performs schema + semantic checks.
|
|
271
|
+
- `simulate` runs policy against provided scenarios and outputs deterministic results.
|
|
272
|
+
|
|
273
|
+
#### `STLD-T2452`
|
|
274
|
+
- Type: Story
|
|
275
|
+
- Priority: P0
|
|
276
|
+
- Summary: Ship three starter profiles: `engineering-spend`, `procurement`, `data-api-buyer`.
|
|
277
|
+
- Owner: Product + Backend
|
|
278
|
+
- Estimate: 3d
|
|
279
|
+
- Dependencies: `STLD-T2451`
|
|
280
|
+
- Acceptance Criteria:
|
|
281
|
+
- Profiles are packaged and documented.
|
|
282
|
+
- Simulation fixtures pass in CI.
|
|
283
|
+
|
|
284
|
+
#### `STLD-T2453`
|
|
285
|
+
- Type: Task
|
|
286
|
+
- Priority: P1
|
|
287
|
+
- Summary: Add profile docs and quickstart guides in MkDocs/GitBook.
|
|
288
|
+
- Owner: Docs
|
|
289
|
+
- Estimate: 2d
|
|
290
|
+
- Dependencies: `STLD-T2452`
|
|
291
|
+
- Acceptance Criteria:
|
|
292
|
+
- Docs include usage, simulation examples, and troubleshooting.
|
|
293
|
+
|
|
294
|
+
### Epic `STLD-E2407` QA, Conformance, and Release Gates
|
|
295
|
+
|
|
296
|
+
#### `STLD-T2460`
|
|
297
|
+
- Type: Story
|
|
298
|
+
- Priority: P0
|
|
299
|
+
- Summary: Add security regression tests for replay, token mutation, bypass attempts, and unauthorized escalation actions.
|
|
300
|
+
- Owner: QA / Security
|
|
301
|
+
- Estimate: 3d
|
|
302
|
+
- Dependencies: `STLD-T2410`, `STLD-T2431`
|
|
303
|
+
- Acceptance Criteria:
|
|
304
|
+
- Automated test suite covers top abuse paths.
|
|
305
|
+
- CI blocks release on failures.
|
|
306
|
+
|
|
307
|
+
#### `STLD-T2461`
|
|
308
|
+
- Type: Story
|
|
309
|
+
- Priority: P0
|
|
310
|
+
- Summary: Add end-to-end deterministic test: challenge -> operator approve -> execute -> receipt -> dispute -> verdict -> reversal.
|
|
311
|
+
- Owner: QA
|
|
312
|
+
- Estimate: 3d
|
|
313
|
+
- Dependencies: `STLD-T2422`, `STLD-T2430`
|
|
314
|
+
- Acceptance Criteria:
|
|
315
|
+
- E2E test runs in CI and emits artifact traces.
|
|
316
|
+
- Idempotency and deterministic output asserted.
|
|
317
|
+
|
|
318
|
+
#### `STLD-T2462`
|
|
319
|
+
- Type: Task
|
|
320
|
+
- Priority: P0
|
|
321
|
+
- Summary: Enforce release gate checklist for Trust OS v1 (conformance, receipts, disputes, adapters, docs).
|
|
322
|
+
- Owner: DevOps
|
|
323
|
+
- Estimate: 2d
|
|
324
|
+
- Dependencies: `STLD-T2460`, `STLD-T2461`, `STLD-T2441`, `STLD-T2453`
|
|
325
|
+
- Acceptance Criteria:
|
|
326
|
+
- Release workflow blocks tag publish if any gate fails.
|
|
327
|
+
- Release artifact bundle includes proof of all required checks.
|
|
328
|
+
|
|
329
|
+
## Sprint Plan (Suggested)
|
|
330
|
+
|
|
331
|
+
### Sprint 1 (Weeks 1-2)
|
|
332
|
+
- `STLD-T2401`, `STLD-T2402`, `STLD-T2403`, `STLD-T2410`, `STLD-T2411`, `STLD-T2460`
|
|
333
|
+
|
|
334
|
+
### Sprint 2 (Weeks 3-4)
|
|
335
|
+
- `STLD-T2412`, `STLD-T2420`, `STLD-T2421`, `STLD-T2422`, `STLD-T2430`, `STLD-T2431`
|
|
336
|
+
|
|
337
|
+
### Sprint 3 (Weeks 5-6)
|
|
338
|
+
- `STLD-T2440`, `STLD-T2441`, `STLD-T2450`, `STLD-T2451`, `STLD-T2452`, `STLD-T2461`, `STLD-T2462`, `STLD-T2453`
|
|
339
|
+
|
|
340
|
+
## Release Exit Criteria (Trust OS v1)
|
|
341
|
+
|
|
342
|
+
- Runtime policy enforcement is mandatory for all paid actions.
|
|
343
|
+
- Request binding enforcement blocks replay/mutation attempts.
|
|
344
|
+
- Receipt bundle export verifies offline in strict mode.
|
|
345
|
+
- Dispute->verdict->financial outcome is deterministic and replay-safe.
|
|
346
|
+
- Operator emergency controls are audited and tested.
|
|
347
|
+
- One rail adapter path is production-hardened and conformance-gated.
|
|
348
|
+
- Three vertical profiles are documented and simulation-tested.
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# Agent Economic Actor Operating Model (v1)
|
|
2
|
+
|
|
3
|
+
Date: 2026-02-21
|
|
4
|
+
Owner: Product + Platform + Risk
|
|
5
|
+
|
|
6
|
+
## Why this model
|
|
7
|
+
|
|
8
|
+
Goal: let agents spend and act with much more autonomy while keeping actions bounded, auditable, and reversible.
|
|
9
|
+
|
|
10
|
+
Settld does this by treating autonomy as a controlled envelope:
|
|
11
|
+
|
|
12
|
+
1. identity + delegation,
|
|
13
|
+
2. policy-bound authorization,
|
|
14
|
+
3. deterministic evidence + receipts,
|
|
15
|
+
4. dispute/reversal recourse.
|
|
16
|
+
|
|
17
|
+
## How customers are served
|
|
18
|
+
|
|
19
|
+
Primary user groups:
|
|
20
|
+
|
|
21
|
+
1. Agent builders: quick setup, policy profiles, paid tool calls, receipts.
|
|
22
|
+
2. Platform/runtime teams: central controls across hosts, no-bypass enforcement.
|
|
23
|
+
3. Ops/finance/risk/compliance: audit exports, dispute workflows, deterministic reconciliation.
|
|
24
|
+
4. Design partners: staged rollout with fail-closed release gates.
|
|
25
|
+
|
|
26
|
+
## Deployment modes
|
|
27
|
+
|
|
28
|
+
### Mode A: Hosted control plane + managed wallet (default)
|
|
29
|
+
- `settld setup --wallet-mode managed --wallet-bootstrap remote`
|
|
30
|
+
- Fastest time-to-first-paid-call, least wallet ops burden.
|
|
31
|
+
|
|
32
|
+
### Mode B: Hosted control plane + BYO wallet
|
|
33
|
+
- `settld setup --wallet-mode byo`
|
|
34
|
+
- Customer controls custody while Settld enforces trust contract.
|
|
35
|
+
|
|
36
|
+
### Mode C: Hosted/self-hosted control plane + no wallet rails
|
|
37
|
+
- `settld setup --wallet-mode none`
|
|
38
|
+
- Non-paid trust control path (proof/audit/dispute readiness before spend).
|
|
39
|
+
|
|
40
|
+
Reference flows:
|
|
41
|
+
- `docs/QUICKSTART_MCP_HOSTS.md`
|
|
42
|
+
- `scripts/setup/onboard.mjs`
|
|
43
|
+
- `services/magic-link/src/server.js`
|
|
44
|
+
|
|
45
|
+
## Should Settld manage agent wallets?
|
|
46
|
+
|
|
47
|
+
Answer: optional and policy-dependent.
|
|
48
|
+
|
|
49
|
+
1. Managed mode: Settld control plane bootstraps wallet provider config and returns runtime env.
|
|
50
|
+
2. BYO mode: customer supplies wallet env/refs; Settld still enforces policy and receipts.
|
|
51
|
+
3. No-wallet mode: only trust/evidence control path is active.
|
|
52
|
+
|
|
53
|
+
Wallet bootstrap and runtime bootstrap endpoints:
|
|
54
|
+
- `POST /v1/tenants/{tenantId}/onboarding/wallet-bootstrap`
|
|
55
|
+
- `POST /v1/tenants/{tenantId}/onboarding/runtime-bootstrap`
|
|
56
|
+
- `POST /v1/tenants/{tenantId}/onboarding/runtime-bootstrap/smoke-test`
|
|
57
|
+
|
|
58
|
+
## Should every agent have identity?
|
|
59
|
+
|
|
60
|
+
Yes.
|
|
61
|
+
|
|
62
|
+
Identity model (already defined in spec surface):
|
|
63
|
+
|
|
64
|
+
1. `AgentPassport.v1`: principal binding + active key anchors + delegation root + policy envelope.
|
|
65
|
+
2. `DelegationGrant.v1`: bounded authority transfer (scope, spend limits, depth, revocation).
|
|
66
|
+
3. `ExecutionIntent.v1`: canonical request/risk/spend/policy binding precondition.
|
|
67
|
+
|
|
68
|
+
Spec anchors:
|
|
69
|
+
- `docs/spec/AgentPassport.v1.md`
|
|
70
|
+
- `docs/spec/DelegationGrant.v1.md`
|
|
71
|
+
- `docs/spec/ExecutionIntent.v1.md`
|
|
72
|
+
|
|
73
|
+
Runtime anchors:
|
|
74
|
+
- `src/api/app.js` (passport validation, delegation lineage, wallet policy enforcement)
|
|
75
|
+
- `src/core/settlement-kernel.js`
|
|
76
|
+
|
|
77
|
+
## How wallet assignment should work
|
|
78
|
+
|
|
79
|
+
Do not default to “1 wallet per agent.”
|
|
80
|
+
Default to deterministic assignment:
|
|
81
|
+
|
|
82
|
+
`tenant + environment + profile + risk tier + delegation depth -> sponsorWalletRef + policyRef + policyVersion`
|
|
83
|
+
|
|
84
|
+
Recommended rules:
|
|
85
|
+
|
|
86
|
+
1. High-risk financial agents: dedicated sponsor wallet.
|
|
87
|
+
2. Low-risk read/compute agents: pooled sponsor wallet with strict per-call and daily limits.
|
|
88
|
+
3. Delegated child agents: inherited wallet policy with depth checks and tighter caps.
|
|
89
|
+
4. Cross-team isolation: separate wallet by business unit + policy pack.
|
|
90
|
+
|
|
91
|
+
## How agents get funded
|
|
92
|
+
|
|
93
|
+
Funding control should be policy-driven, not ad hoc:
|
|
94
|
+
|
|
95
|
+
1. Prefund sponsor wallet.
|
|
96
|
+
2. Enforce per-call, per-day, and cumulative limits.
|
|
97
|
+
3. Add threshold-based top-up automation.
|
|
98
|
+
4. Lock escrow before authorization where required.
|
|
99
|
+
5. Require deterministic reserve and rollback semantics on failure.
|
|
100
|
+
|
|
101
|
+
Current code anchors:
|
|
102
|
+
- `src/api/app.js` (`computeX402DailyAuthorizedExposureCents`, wallet policy checks, reserve + rollback)
|
|
103
|
+
- `src/core/money-rail-adapters.js`
|
|
104
|
+
- `src/core/x402-gate.js`
|
|
105
|
+
|
|
106
|
+
## Setup flow (operator runbook)
|
|
107
|
+
|
|
108
|
+
1. Tenant bootstrap (runtime key material and tenant setup).
|
|
109
|
+
2. Wallet bootstrap (`managed` local/remote or `byo` env resolution).
|
|
110
|
+
3. Runtime bootstrap (MCP env + host config).
|
|
111
|
+
4. Profile apply (`settld profile ...`) and passport generation.
|
|
112
|
+
5. Host smoke test and first paid call run.
|
|
113
|
+
6. Conformance matrix + release gate checks.
|
|
114
|
+
|
|
115
|
+
Command anchors:
|
|
116
|
+
- `settld setup`
|
|
117
|
+
- `settld profile init|validate|simulate|apply`
|
|
118
|
+
- `npm run mcp:probe`
|
|
119
|
+
- `settld doctor`
|
|
120
|
+
|
|
121
|
+
## What this enables agents to do
|
|
122
|
+
|
|
123
|
+
As autonomy tiers increase, agents can do more actions safely:
|
|
124
|
+
|
|
125
|
+
### Tier 0 (Observe)
|
|
126
|
+
- Read-only calls, no spend.
|
|
127
|
+
|
|
128
|
+
### Tier 1 (Bounded spend)
|
|
129
|
+
- Paid tool calls under strict caps and allowlists.
|
|
130
|
+
|
|
131
|
+
### Tier 2 (Delegated execution)
|
|
132
|
+
- Multi-step workflows with delegation lineage and challenge windows.
|
|
133
|
+
|
|
134
|
+
### Tier 3 (Conditional autonomy)
|
|
135
|
+
- Challenge/escalate fallback and operator overrides.
|
|
136
|
+
|
|
137
|
+
### Tier 4 (Programmatic economic actor)
|
|
138
|
+
- Cross-tool/cross-agent spend orchestration with deterministic receipts, disputes, and reversals.
|
|
139
|
+
|
|
140
|
+
## Hard controls (must stay fail-closed)
|
|
141
|
+
|
|
142
|
+
1. No policy bypass across MCP stdio, MCP HTTP bridge, and gateway paths.
|
|
143
|
+
2. Authority boundaries: who can sign/revoke/pause/kill-switch.
|
|
144
|
+
3. Adapter invariant conformance for every rail lane.
|
|
145
|
+
4. Determinism soak checks for repeat export/verification.
|
|
146
|
+
5. Onboarding SLO gates for real operator usability.
|
|
147
|
+
|
|
148
|
+
## What still must be built
|
|
149
|
+
|
|
150
|
+
1. No-bypass negative matrix as release blocker.
|
|
151
|
+
2. Authority boundary and rollback drill automation.
|
|
152
|
+
3. Shared adapter invariant gate for all rails.
|
|
153
|
+
4. Deterministic repeat-run soak gate.
|
|
154
|
+
5. Onboarding SLO CI gate tied to runtime metrics.
|
|
155
|
+
|
|
156
|
+
Execution artifacts:
|
|
157
|
+
- `planning/jira/trust-os-v1-gap-closure-backlog.json`
|
|
158
|
+
- `planning/jira/trust-os-v1-gap-closure-tickets.csv`
|
|
159
|
+
- `planning/jira/agent-economic-actor-backlog.json`
|
|
160
|
+
|
|
161
|
+
## External research references
|
|
162
|
+
|
|
163
|
+
- Coinbase AgentKit docs: [https://docs.cdp.coinbase.com/agent-kit/docs/welcome](https://docs.cdp.coinbase.com/agent-kit/docs/welcome)
|
|
164
|
+
- Coinbase Agentic Wallet docs: [https://docs.cdp.coinbase.com/agentic-wallet/welcome](https://docs.cdp.coinbase.com/agentic-wallet/welcome)
|
|
165
|
+
- Circle docs: [https://developers.circle.com/](https://developers.circle.com/)
|
|
166
|
+
- Privy docs: [https://docs.privy.io/](https://docs.privy.io/)
|
|
167
|
+
- SPIFFE overview: [https://spiffe.io/docs/latest/spiffe-about/overview/](https://spiffe.io/docs/latest/spiffe-about/overview/)
|
|
168
|
+
- EIP-4337: [https://eips.ethereum.org/EIPS/eip-4337](https://eips.ethereum.org/EIPS/eip-4337)
|
|
169
|
+
|