settld 0.1.1 → 0.1.5
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 +61 -3
- package/SETTLD_VERSION +1 -1
- package/bin/settld-mcp +2 -0
- package/bin/settld.js +13 -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 +140 -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 +337 -0
- package/docs/QUICKSTART_MCP_HOSTS.md +143 -0
- package/docs/QUICKSTART_PRODUCE.md +61 -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 +15 -0
- package/docs/RELEASE_CHECKLIST.md +156 -0
- package/docs/RELEASING.md +81 -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 +70 -0
- package/docs/SUMMARY.md +16 -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 +52 -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 +104 -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 +14 -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/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/GO_LIVE_GATE_S13.md +27 -0
- package/docs/ops/HOSTED_BASELINE_R2.md +129 -0
- package/docs/ops/KERNEL_V0_SHIP_GATE.md +67 -0
- package/docs/ops/LIGHTHOUSE_PRODUCTION_CLOSE.md +51 -0
- package/docs/ops/MCP_COMPATIBILITY_MATRIX.md +28 -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 +103 -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 +47 -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/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/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/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/PRODUCER_ERRORS.md +42 -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 +104 -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 +51 -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/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 +148 -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 +21 -0
- package/docs/templates/buyer-email.txt +18 -0
- package/docs/templates/buyer-one-pager.md +24 -0
- package/package.json +40 -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 +148 -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 +246 -0
- package/scripts/ci/run-10x-throughput-incident-rehearsal.mjs +325 -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-smoke.mjs +275 -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/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 +1201 -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/hosted-baseline-evidence.mjs +681 -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/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/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/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/slo/check.mjs +178 -0
- package/scripts/smoke/k8s-smoke.mjs +214 -0
- package/scripts/spec/generate-protocol-vectors.mjs +931 -0
- package/scripts/test/check-no-generated-artifacts.sh +12 -0
- package/scripts/test/run.sh +45 -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 +947 -0
- package/src/api/app.js +32517 -16877
- package/src/api/maintenance.js +70 -0
- package/src/api/openapi.js +1130 -17
- package/src/api/persistence.js +272 -0
- package/src/api/server.js +81 -5
- package/src/api/store.js +1248 -6
- 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 +97 -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/maintenance-locks.js +1 -0
- package/src/core/paid-tool-manifest.js +318 -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 +213 -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/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 +838 -72
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Verification warnings
|
|
2
|
+
|
|
3
|
+
Warnings are protocol objects, not strings.
|
|
4
|
+
|
|
5
|
+
## Shape
|
|
6
|
+
|
|
7
|
+
Each warning is a canonical JSON object:
|
|
8
|
+
|
|
9
|
+
- `code` (required, closed set)
|
|
10
|
+
- `message` (optional, string or null)
|
|
11
|
+
- `detail` (optional, any JSON)
|
|
12
|
+
|
|
13
|
+
Warnings are normalized (deduped + sorted) before being emitted in verification reports.
|
|
14
|
+
|
|
15
|
+
## Codes (closed set)
|
|
16
|
+
|
|
17
|
+
- `LEGACY_KEYS_FORMAT_USED`
|
|
18
|
+
- `NONSERVER_REVOCATION_NOT_ENFORCED`
|
|
19
|
+
- `TRUSTED_GOVERNANCE_ROOT_KEYS_MISSING_LENIENT`
|
|
20
|
+
- `GOVERNANCE_POLICY_MISSING_LENIENT`
|
|
21
|
+
- `GOVERNANCE_POLICY_V1_ACCEPTED_LENIENT`
|
|
22
|
+
- `BUNDLE_HEAD_ATTESTATION_MISSING_LENIENT`
|
|
23
|
+
- `MISSING_GOVERNANCE_SNAPSHOT_LENIENT`
|
|
24
|
+
- `UNSIGNED_REPORT_LENIENT`
|
|
25
|
+
- `VERIFICATION_REPORT_MISSING_LENIENT`
|
|
26
|
+
- `CLOSE_PACK_SLA_SURFACES_MISSING_LENIENT`
|
|
27
|
+
- `CLOSE_PACK_ACCEPTANCE_SURFACES_MISSING_LENIENT`
|
|
28
|
+
- `PRICING_MATRIX_UNSIGNED_LENIENT`
|
|
29
|
+
- `WARN_PRICING_SIGNATURE_V1_BYTES_LEGACY`
|
|
30
|
+
- `TOOL_VERSION_UNKNOWN`
|
|
31
|
+
- `TOOL_COMMIT_UNKNOWN`
|
|
32
|
+
|
|
33
|
+
Tool provenance derivation rules are documented in `TOOL_PROVENANCE.md`.
|
|
34
|
+
|
|
35
|
+
## Remediation (operator guidance)
|
|
36
|
+
|
|
37
|
+
Warnings are non-fatal by default, but they are part of the **public contract**. In regulated workflows you may gate on them with `--fail-on-warnings`.
|
|
38
|
+
|
|
39
|
+
- `VERIFICATION_REPORT_MISSING_LENIENT`
|
|
40
|
+
- Meaning: bundle is missing `verify/verification_report.json` but non-strict mode allows verify to proceed.
|
|
41
|
+
- Action: regenerate the bundle/receipt with a bundler/verifier that emits signed receipts, or run strict mode to require it.
|
|
42
|
+
- `CLOSE_PACK_SLA_SURFACES_MISSING_LENIENT`
|
|
43
|
+
- Meaning: ClosePack bundle is missing portable SLA evaluation surfaces under `sla/*`; non-strict mode allows verify to proceed.
|
|
44
|
+
- Action: regenerate ClosePack with `sla/sla_definition.json` + `sla/sla_evaluation.json` present (or gate workflows on this warning).
|
|
45
|
+
- `CLOSE_PACK_ACCEPTANCE_SURFACES_MISSING_LENIENT`
|
|
46
|
+
- Meaning: ClosePack bundle is missing portable acceptance evaluation surfaces under `acceptance/*`; non-strict mode allows verify to proceed.
|
|
47
|
+
- Action: regenerate ClosePack with `acceptance/acceptance_criteria.json` + `acceptance/acceptance_evaluation.json` present (or gate workflows on this warning).
|
|
48
|
+
- `PRICING_MATRIX_UNSIGNED_LENIENT`
|
|
49
|
+
- Meaning: invoice bundle lacks a pricing terms signature surface (`pricing/pricing_matrix_signatures.json`) that proves the pricing matrix value was approved by a trusted buyer key; non-strict continues.
|
|
50
|
+
- Action: include a buyer-signed `PricingMatrixSignatures.v2` file (and/or run strict mode to require it), and gate workflows on this warning as needed.
|
|
51
|
+
- `WARN_PRICING_SIGNATURE_V1_BYTES_LEGACY`
|
|
52
|
+
- Meaning: invoice bundle used legacy `PricingMatrixSignatures.v1` (raw-bytes binding), which is formatting-fragile; non-strict accepted it for compatibility.
|
|
53
|
+
- Action: migrate to `PricingMatrixSignatures.v2` (canonical JSON binding) and run strict mode to enforce it.
|
|
54
|
+
- `UNSIGNED_REPORT_LENIENT`
|
|
55
|
+
- Meaning: a verification report exists but is not signed in a way required for strict assurance.
|
|
56
|
+
- Action: re-run verification with a governed verifier signer and write a signed `verify/verification_report.json`.
|
|
57
|
+
- `GOVERNANCE_POLICY_MISSING_LENIENT`
|
|
58
|
+
- Meaning: governance policy file is missing; non-strict continues but governance guarantees are not established.
|
|
59
|
+
- Action: ensure the bundler emits `governance/policy.json` (and related materials); prefer strict mode for audit posture.
|
|
60
|
+
- `TRUSTED_GOVERNANCE_ROOT_KEYS_MISSING_LENIENT`
|
|
61
|
+
- Meaning: verifier is running without out-of-band governance trust anchors; non-strict continues but governance signatures are not validated.
|
|
62
|
+
- Action: provide `SETTLD_TRUSTED_GOVERNANCE_ROOT_KEYS_JSON` and run strict mode for audit posture (see `TRUST_ANCHORS.md`).
|
|
63
|
+
- `GOVERNANCE_POLICY_V1_ACCEPTED_LENIENT`
|
|
64
|
+
- Meaning: legacy `GovernancePolicy.v1` was accepted (compat mode).
|
|
65
|
+
- Action: upgrade to `GovernancePolicy.v2` and re-bundle; strict mode should require v2.
|
|
66
|
+
- `BUNDLE_HEAD_ATTESTATION_MISSING_LENIENT`
|
|
67
|
+
- Meaning: head attestation is missing; non-strict continues but binding guarantees weaken.
|
|
68
|
+
- Action: regenerate bundle with `attestation/bundle_head_attestation.json` present and valid.
|
|
69
|
+
- `MISSING_GOVERNANCE_SNAPSHOT_LENIENT`
|
|
70
|
+
- Meaning: governance snapshot(s) were missing and non-strict continued.
|
|
71
|
+
- Action: regenerate bundle including governance snapshot files; strict mode should require them.
|
|
72
|
+
- `LEGACY_KEYS_FORMAT_USED`
|
|
73
|
+
- Meaning: verifier encountered a legacy key-format compatibility path.
|
|
74
|
+
- Action: update bundle/key materials to the current key format and re-bundle.
|
|
75
|
+
- `NONSERVER_REVOCATION_NOT_ENFORCED`
|
|
76
|
+
- Meaning: verifier could not enforce a revocation decision for a non-server signer under the strict model (compat path).
|
|
77
|
+
- Action: include a trustworthy signing time (`timestampProof`) where required, or adjust governance posture; prefer server-governed signers.
|
|
78
|
+
- `TOOL_VERSION_UNKNOWN`
|
|
79
|
+
- Meaning: verifier could not determine its version string.
|
|
80
|
+
- Action: install from a released artifact (npm tarball or pinned version) and ensure `package.json` version is available; consider gating on this warning in CI.
|
|
81
|
+
- `TOOL_COMMIT_UNKNOWN`
|
|
82
|
+
- Meaning: verifier could not determine its commit identifier.
|
|
83
|
+
- Action: set the documented commit env source (see `TOOL_PROVENANCE.md`) in your CI/build environment; consider gating on this warning in CI.
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
FAILED
|
|
2
|
+
FAIL_ON_WARNINGS
|
|
3
|
+
MANIFEST_DUPLICATE_PATH
|
|
4
|
+
MANIFEST_PATH_CASE_COLLISION
|
|
5
|
+
MANIFEST_PATH_INVALID
|
|
6
|
+
MANIFEST_SYMLINK_FORBIDDEN
|
|
7
|
+
PRICING_MATRIX_SIGNATURE_INVALID
|
|
8
|
+
PRICING_MATRIX_SIGNATURE_MISSING
|
|
9
|
+
PRICING_MATRIX_SIGNATURE_PAYLOAD_MISMATCH
|
|
10
|
+
PRICING_MATRIX_SIGNATURE_V1_BYTES_LEGACY_STRICT_REJECTED
|
|
11
|
+
SETTLEMENT_DECISION_SIGNATURE_INVALID
|
|
12
|
+
SETTLEMENT_DECISION_SIGNATURE_PAYLOAD_MISMATCH
|
|
13
|
+
SIGNER_NOT_YET_VALID
|
|
14
|
+
SIGNER_REVOKED
|
|
15
|
+
SIGNER_ROTATED
|
|
16
|
+
SIGNING_TIME_UNPROVABLE
|
|
17
|
+
ZIP_COMPRESSION_RATIO_TOO_HIGH
|
|
18
|
+
ZIP_DUPLICATE_ENTRY
|
|
19
|
+
ZIP_ENCRYPTED_UNSUPPORTED
|
|
20
|
+
ZIP_ENTRY_PATH_INVALID
|
|
21
|
+
ZIP_ENTRY_PATH_TOO_LONG
|
|
22
|
+
ZIP_EXTRACT_FAILED
|
|
23
|
+
ZIP_FILE_TOO_LARGE
|
|
24
|
+
ZIP_INTERNAL_ERROR
|
|
25
|
+
ZIP_INVALID_CENTRAL_DIR
|
|
26
|
+
ZIP_INVALID_ENTRY
|
|
27
|
+
ZIP_INVALID_EOCD
|
|
28
|
+
ZIP_LOCAL_HEADER_MISMATCH
|
|
29
|
+
ZIP_OPEN_FAILED
|
|
30
|
+
ZIP_SYMLINK_FORBIDDEN
|
|
31
|
+
ZIP_TOO_MANY_ENTRIES
|
|
32
|
+
ZIP_TOTAL_UNCOMPRESSED_TOO_LARGE
|
|
33
|
+
ZIP_UNSUPPORTED_COMPRESSION
|
|
34
|
+
ZIP_UNSUPPORTED_MULTI_DISK
|
|
35
|
+
ZIP_UNSUPPORTED_ZIP64
|
|
36
|
+
artifactHash mismatch
|
|
37
|
+
artifactType mismatch
|
|
38
|
+
attestation global governance head mismatch (chainHash)
|
|
39
|
+
attestation global governance head mismatch (eventId)
|
|
40
|
+
attestation invoiceBundle.attestationHash mismatch
|
|
41
|
+
attestation invoiceBundle.manifestHash mismatch
|
|
42
|
+
attestation job head mismatch (chainHash)
|
|
43
|
+
attestation job head mismatch (eventId)
|
|
44
|
+
attestation jobProof.attestationHash mismatch
|
|
45
|
+
attestation jobProof.manifestHash mismatch
|
|
46
|
+
attestation kind mismatch
|
|
47
|
+
attestation manifestHash mismatch
|
|
48
|
+
attestation missing heads
|
|
49
|
+
attestation missing heads.invoiceBundle
|
|
50
|
+
attestation missing heads.job
|
|
51
|
+
attestation missing heads.jobProof
|
|
52
|
+
attestation missing heads.month
|
|
53
|
+
attestation missing heads.monthProof
|
|
54
|
+
attestation missing signature fields
|
|
55
|
+
attestation missing signer fields
|
|
56
|
+
attestation month head mismatch (chainHash)
|
|
57
|
+
attestation month head mismatch (eventId)
|
|
58
|
+
attestation monthProof.attestationHash mismatch
|
|
59
|
+
attestation monthProof.manifestHash mismatch
|
|
60
|
+
attestation scope mismatch
|
|
61
|
+
attestation scope.invoiceId mismatch
|
|
62
|
+
attestation scope.period mismatch
|
|
63
|
+
attestation signature invalid
|
|
64
|
+
attestation signer key missing validFrom
|
|
65
|
+
attestation signer key not valid
|
|
66
|
+
attestation signer not authorized
|
|
67
|
+
attestation tenant governance head mismatch (chainHash)
|
|
68
|
+
attestation tenant governance head mismatch (eventId)
|
|
69
|
+
attestation tenantId mismatch
|
|
70
|
+
attestationHash mismatch
|
|
71
|
+
bad signature
|
|
72
|
+
bundle head attestation invalid
|
|
73
|
+
closepack acceptance surfaces incomplete
|
|
74
|
+
closepack acceptance_evaluation mismatch
|
|
75
|
+
closepack evidence_index mismatch
|
|
76
|
+
closepack invoiceBundle.embeddedPath invalid
|
|
77
|
+
closepack invoiceBundle.headAttestationHash mismatch
|
|
78
|
+
closepack invoiceBundle.manifestHash mismatch
|
|
79
|
+
closepack sla surfaces incomplete
|
|
80
|
+
closepack sla_evaluation mismatch
|
|
81
|
+
declared head chainHash mismatch
|
|
82
|
+
declared head eventId mismatch
|
|
83
|
+
embedded invoice bundle verification failed
|
|
84
|
+
event stream integrity invalid
|
|
85
|
+
expected GLBatch.v1
|
|
86
|
+
expected PartyStatement.v1
|
|
87
|
+
failed to hash file
|
|
88
|
+
failed to hash glBatch
|
|
89
|
+
failed to hash partyStatement
|
|
90
|
+
failed to hash settlement decision report
|
|
91
|
+
financeAccountMapHash mismatch
|
|
92
|
+
forfeit decisionEventRef mismatch
|
|
93
|
+
forfeit decisionEventRef missing DECISION_RECORDED
|
|
94
|
+
forfeit freshness check failed
|
|
95
|
+
forfeit missing decision provenance
|
|
96
|
+
forfeit stale at decision time
|
|
97
|
+
glBatch artifactHash mismatch
|
|
98
|
+
glBatch does not net to zero
|
|
99
|
+
glBatchHash mismatch
|
|
100
|
+
governance policy algorithms must be a non-empty array
|
|
101
|
+
governance policy bundleHeadAttestationSigners must be an array
|
|
102
|
+
governance policy does not allow ed25519
|
|
103
|
+
governance policy missing signature fields
|
|
104
|
+
governance policy revocationList invalid
|
|
105
|
+
governance policy revocationList missing
|
|
106
|
+
governance policy revocationList.path invalid
|
|
107
|
+
governance policy signature invalid
|
|
108
|
+
governance policy signerKeyId not trusted
|
|
109
|
+
governance policy verificationReportSigners must be an array
|
|
110
|
+
governance policyHash mismatch
|
|
111
|
+
governance stream integrity invalid
|
|
112
|
+
governance/global contains tenant-scoped event
|
|
113
|
+
governance/tenant contains global-scoped event
|
|
114
|
+
hold freshness check failed
|
|
115
|
+
hold missing referenced PROOF_EVALUATED
|
|
116
|
+
hold missingEvidence mismatch
|
|
117
|
+
hold reasonCodes mismatch
|
|
118
|
+
hold stale at decision time
|
|
119
|
+
hold triggeringProofRef mismatch
|
|
120
|
+
included entry ids mismatch
|
|
121
|
+
incomplete governance/global stream files
|
|
122
|
+
incomplete governance/tenant stream files
|
|
123
|
+
invalid JSON
|
|
124
|
+
invalid artifact JSON
|
|
125
|
+
invalid attestation JSON
|
|
126
|
+
invalid bundle head attestation JSON
|
|
127
|
+
invalid governance revocation list
|
|
128
|
+
invalid governance/policy.json
|
|
129
|
+
invalid schemaVersion
|
|
130
|
+
invalid verification report JSON
|
|
131
|
+
invalid verification report subject
|
|
132
|
+
invalid warning code
|
|
133
|
+
invoice pricing code unknown
|
|
134
|
+
invoiceClaim jobProof.embeddedPath mismatch
|
|
135
|
+
invoiceClaim jobProof.headAttestationHash mismatch
|
|
136
|
+
invoiceClaim jobProof.manifestHash mismatch
|
|
137
|
+
invoiceClaim lineItems mismatch
|
|
138
|
+
invoiceClaim totalCents invalid
|
|
139
|
+
invoiceClaim totalCents mismatch
|
|
140
|
+
job proof events missing
|
|
141
|
+
job proof strict verification failed
|
|
142
|
+
jobProofBundleHash mismatch
|
|
143
|
+
jobProofHeadAttestationHash mismatch
|
|
144
|
+
journalCsv.csvSha256 mismatch
|
|
145
|
+
journalCsvArtifactHash mismatch
|
|
146
|
+
journalCsvHash mismatch
|
|
147
|
+
keyMetaByKeyId must be a Map
|
|
148
|
+
list must be an object
|
|
149
|
+
manifest missing manifestHash
|
|
150
|
+
manifest missing required files
|
|
151
|
+
manifestHash mismatch
|
|
152
|
+
metering evidenceRef not in job proof manifest
|
|
153
|
+
metering evidenceRef sha256 mismatch
|
|
154
|
+
meteringReport jobProof binding missing
|
|
155
|
+
meteringReport jobProof.embeddedPath mismatch
|
|
156
|
+
meteringReport jobProof.headAttestationHash mismatch
|
|
157
|
+
meteringReport jobProof.manifestHash mismatch
|
|
158
|
+
missing artifactHash
|
|
159
|
+
missing artifactType
|
|
160
|
+
missing attestation/bundle_head_attestation.json
|
|
161
|
+
missing events
|
|
162
|
+
missing events/events.jsonl
|
|
163
|
+
missing events/payload_material.jsonl
|
|
164
|
+
missing evidence/evidence_index.json
|
|
165
|
+
missing file
|
|
166
|
+
missing glBatch artifactHash
|
|
167
|
+
missing governance policy
|
|
168
|
+
missing governance/global stream
|
|
169
|
+
missing governance/policy.json
|
|
170
|
+
missing governance/tenant stream
|
|
171
|
+
missing job/snapshot.json
|
|
172
|
+
missing keys/public_keys.json
|
|
173
|
+
missing month keys/public_keys.json (PublicKeys.v1)
|
|
174
|
+
missing or invalid keys/public_keys.json
|
|
175
|
+
missing partyStatement artifactHash
|
|
176
|
+
missing timestampProof
|
|
177
|
+
missing verify/verification_report.json
|
|
178
|
+
month proof strict verification failed
|
|
179
|
+
monthProofBundleHash mismatch
|
|
180
|
+
no governance policy rule for subjectType
|
|
181
|
+
non-numeric posting total
|
|
182
|
+
partyStatement artifactHash mismatch
|
|
183
|
+
partyStatement basis mismatch
|
|
184
|
+
partyStatement period mismatch
|
|
185
|
+
partyStatement totalsByAccountId contains non-integer
|
|
186
|
+
partyStatement totalsByAccountId missing
|
|
187
|
+
payload_material length mismatch
|
|
188
|
+
policy must be an object
|
|
189
|
+
postings do not balance
|
|
190
|
+
provenance refs invalid
|
|
191
|
+
publicKeyByKeyId must be a Map
|
|
192
|
+
reconcile.json mismatch
|
|
193
|
+
reconcileReportHash mismatch
|
|
194
|
+
release freshness check failed
|
|
195
|
+
release missing referenced PROOF_EVALUATED
|
|
196
|
+
release releasingProofRef mismatch
|
|
197
|
+
release stale at decision time
|
|
198
|
+
revocation list generatedAt missing
|
|
199
|
+
revocation list hash mismatch
|
|
200
|
+
revocation list listId missing
|
|
201
|
+
revocation list missing signature fields
|
|
202
|
+
revocation list must be an object
|
|
203
|
+
revocation list revocations must be an array
|
|
204
|
+
revocation list rotations must be an array
|
|
205
|
+
revocation list signature invalid
|
|
206
|
+
revocation list signerKeyId not trusted
|
|
207
|
+
revocation listHash mismatch
|
|
208
|
+
revocationList sha256 mismatch
|
|
209
|
+
schemaVersion mismatch
|
|
210
|
+
settlement decision invoiceBundle.headAttestationHash mismatch
|
|
211
|
+
settlement decision invoiceBundle.manifestHash mismatch
|
|
212
|
+
settlement decision report missing signature fields
|
|
213
|
+
settlement decision report must be an object
|
|
214
|
+
settlement decision signerKeyId not trusted
|
|
215
|
+
settlement decision trusted buyer keys invalid
|
|
216
|
+
settlement decision trusted buyer keys missing
|
|
217
|
+
settlement forfeit ref missing SETTLEMENT_FORFEITED
|
|
218
|
+
settlement forfeitEventChainHash mismatch
|
|
219
|
+
settlement forfeitEventPayloadHash mismatch
|
|
220
|
+
settlement freshness check failed
|
|
221
|
+
settlement missing referenced PROOF_EVALUATED
|
|
222
|
+
settlement settlementProofRef mismatch
|
|
223
|
+
settlement stale at decision time
|
|
224
|
+
sha256 mismatch
|
|
225
|
+
signer key is not governed
|
|
226
|
+
signer key purpose not allowed by policy
|
|
227
|
+
signer keyId not allowed by policy
|
|
228
|
+
signer scope not allowed by policy
|
|
229
|
+
strict requires GovernancePolicy.v2
|
|
230
|
+
strict requires trusted governance root keys
|
|
231
|
+
strict requires trusted pricing signer keys
|
|
232
|
+
tenant governance stream integrity invalid
|
|
233
|
+
timestampProof messageHash invalid
|
|
234
|
+
timestampProof messageHash mismatch
|
|
235
|
+
timestampProof missing required fields
|
|
236
|
+
timestampProof must be an object
|
|
237
|
+
timestampProof signature invalid
|
|
238
|
+
timestampProof signerKeyId not trusted
|
|
239
|
+
totals mismatch
|
|
240
|
+
trustedBuyerDecisionPublicKeyByKeyId must be a Map
|
|
241
|
+
trustedGovernanceRootPublicKeyByKeyId must be a Map
|
|
242
|
+
trustedPublicKeyByKeyId must be a Map
|
|
243
|
+
unknown attestation signerKeyId
|
|
244
|
+
unknown verification report signerKeyId
|
|
245
|
+
unsupported acceptance criteria schemaVersion
|
|
246
|
+
unsupported artifactType
|
|
247
|
+
unsupported attestation schemaVersion
|
|
248
|
+
unsupported bundle kind
|
|
249
|
+
unsupported bundle type
|
|
250
|
+
unsupported documentKind
|
|
251
|
+
unsupported evidence index schemaVersion
|
|
252
|
+
unsupported governance policy schemaVersion
|
|
253
|
+
unsupported invoice claim schemaVersion
|
|
254
|
+
unsupported keys schemaVersion
|
|
255
|
+
unsupported manifest schemaVersion
|
|
256
|
+
unsupported metering schemaVersion
|
|
257
|
+
unsupported pricing matrix signatures schemaVersion
|
|
258
|
+
unsupported pricing schemaVersion
|
|
259
|
+
unsupported revocation list schemaVersion
|
|
260
|
+
unsupported settlement decision report schemaVersion
|
|
261
|
+
unsupported sla definition schemaVersion
|
|
262
|
+
unsupported timestampProof kind
|
|
263
|
+
unsupported timestampProof schemaVersion
|
|
264
|
+
unsupported verification report profile
|
|
265
|
+
unsupported verification report schemaVersion
|
|
266
|
+
verification report bundleHeadAttestation.attestationHash mismatch
|
|
267
|
+
verification report bundleHeadAttestation.attestationHash missing
|
|
268
|
+
verification report invalid
|
|
269
|
+
verification report missing bundleHeadAttestation
|
|
270
|
+
verification report missing reportHash
|
|
271
|
+
verification report missing signature
|
|
272
|
+
verification report reportHash mismatch
|
|
273
|
+
verification report signature invalid
|
|
274
|
+
verification report signer key missing validFrom
|
|
275
|
+
verification report signer key not valid
|
|
276
|
+
verification report signer must be an object
|
|
277
|
+
verification report signer not authorized
|
|
278
|
+
verification report signer.keyId mismatch
|
|
279
|
+
verification report signer.keyId missing
|
|
280
|
+
verification report signer.scope invalid
|
|
281
|
+
verification report signerKeyId not found in month keys
|
|
282
|
+
verification report subject.manifestHash mismatch
|
|
283
|
+
verification report subject.type mismatch
|
|
284
|
+
warning must be an object
|
|
285
|
+
warnings must be an array
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "AgreementDelegation.v1",
|
|
3
|
+
"delegationId": "dlg_example_0001",
|
|
4
|
+
"tenantId": "tenant_example",
|
|
5
|
+
"parentAgreementHash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
6
|
+
"childAgreementHash": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
|
|
7
|
+
"delegatorAgentId": "agt_delegator",
|
|
8
|
+
"delegateeAgentId": "agt_delegatee",
|
|
9
|
+
"budgetCapCents": 5000,
|
|
10
|
+
"currency": "USD",
|
|
11
|
+
"delegationDepth": 1,
|
|
12
|
+
"maxDelegationDepth": 3,
|
|
13
|
+
"ancestorChain": [
|
|
14
|
+
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
|
15
|
+
],
|
|
16
|
+
"createdAt": "2026-02-01T00:00:00.000Z",
|
|
17
|
+
"delegationHash": "13354b2dedb94b67957d3fd6db4ca85db31fa53a1b278b525e4361e8b1db44c7",
|
|
18
|
+
"status": "active",
|
|
19
|
+
"revision": 0,
|
|
20
|
+
"updatedAt": "2026-02-01T00:00:00.000Z"
|
|
21
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "ArbitrationCase.v1",
|
|
3
|
+
"caseId": "arb_case_20260207_0001",
|
|
4
|
+
"tenantId": "tenant_vectors",
|
|
5
|
+
"runId": "run_vectors_0001",
|
|
6
|
+
"settlementId": "setl_run_vectors_0001",
|
|
7
|
+
"disputeId": "dsp_run_vectors_0001",
|
|
8
|
+
"claimantAgentId": "agt_vectors_payer_0001",
|
|
9
|
+
"respondentAgentId": "agt_vectors_0001",
|
|
10
|
+
"arbiterAgentId": "agt_arbiter_0001",
|
|
11
|
+
"status": "under_review",
|
|
12
|
+
"openedAt": "2026-02-07T00:00:00.000Z",
|
|
13
|
+
"summary": "Claimant alleges SLA breach on two milestones.",
|
|
14
|
+
"evidenceRefs": [
|
|
15
|
+
"artifact://proof/run_vectors_0001/report.json",
|
|
16
|
+
"artifact://marketplace/agreements/run_vectors_0001.json"
|
|
17
|
+
],
|
|
18
|
+
"appealRef": {
|
|
19
|
+
"parentCaseId": "arb_case_20260201_0099",
|
|
20
|
+
"parentVerdictId": "arb_verdict_20260202_0003",
|
|
21
|
+
"reason": "New evidence was submitted after initial verdict."
|
|
22
|
+
},
|
|
23
|
+
"revision": 2,
|
|
24
|
+
"createdAt": "2026-02-07T00:00:00.000Z",
|
|
25
|
+
"updatedAt": "2026-02-07T00:10:00.000Z"
|
|
26
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "ArbitrationVerdict.v1",
|
|
3
|
+
"verdictId": "arb_verdict_20260207_0001",
|
|
4
|
+
"caseId": "arb_case_20260207_0001",
|
|
5
|
+
"tenantId": "tenant_vectors",
|
|
6
|
+
"runId": "run_vectors_0001",
|
|
7
|
+
"settlementId": "setl_run_vectors_0001",
|
|
8
|
+
"disputeId": "dsp_run_vectors_0001",
|
|
9
|
+
"arbiterAgentId": "agt_arbiter_0001",
|
|
10
|
+
"outcome": "partial",
|
|
11
|
+
"releaseRatePct": 60,
|
|
12
|
+
"rationale": "Evidence confirms partial completion; release 60% and refund the remainder.",
|
|
13
|
+
"evidenceRefs": [
|
|
14
|
+
"artifact://proof/run_vectors_0001/report.json",
|
|
15
|
+
"artifact://marketplace/disputes/dsp_run_vectors_0001/evidence_02.json"
|
|
16
|
+
],
|
|
17
|
+
"issuedAt": "2026-02-07T00:15:00.000Z",
|
|
18
|
+
"appealRef": {
|
|
19
|
+
"appealCaseId": "arb_case_20260208_0002",
|
|
20
|
+
"parentVerdictId": "arb_verdict_20260206_0012",
|
|
21
|
+
"reason": "Parent verdict superseded after formal appeal filing."
|
|
22
|
+
},
|
|
23
|
+
"signature": {
|
|
24
|
+
"algorithm": "ed25519",
|
|
25
|
+
"signerKeyId": "key_arbiter_0001",
|
|
26
|
+
"verdictHash": "4e6b2475878aafaef42d0cb94d8e631f932db09957ea72a6f9a34753220d4fcb",
|
|
27
|
+
"signature": "m4q2iD6n5J9rL6QmFJ2x0vQfV0dN0uU1V3V9M3rG8yN7n5TzB2W4p0m8l7Qx2k9h5x6j8m1r9p4s2t6u0v3w=="
|
|
28
|
+
},
|
|
29
|
+
"revision": 1,
|
|
30
|
+
"createdAt": "2026-02-07T00:15:00.000Z",
|
|
31
|
+
"updatedAt": "2026-02-07T00:15:00.000Z"
|
|
32
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "DisputeOpenEnvelope.v1",
|
|
3
|
+
"artifactType": "DisputeOpenEnvelope.v1",
|
|
4
|
+
"artifactId": "dopen_tc_1111111111111111111111111111111111111111111111111111111111111111",
|
|
5
|
+
"envelopeId": "dopen_tc_1111111111111111111111111111111111111111111111111111111111111111",
|
|
6
|
+
"caseId": "arb_case_tc_1111111111111111111111111111111111111111111111111111111111111111",
|
|
7
|
+
"tenantId": "tenant_default",
|
|
8
|
+
"agreementHash": "1111111111111111111111111111111111111111111111111111111111111111",
|
|
9
|
+
"receiptHash": "2222222222222222222222222222222222222222222222222222222222222222",
|
|
10
|
+
"holdHash": "3333333333333333333333333333333333333333333333333333333333333333",
|
|
11
|
+
"openedByAgentId": "agt_demo_payee_1",
|
|
12
|
+
"openedAt": "2026-02-11T12:00:00.000Z",
|
|
13
|
+
"reasonCode": "TOOL_CALL_DISPUTE",
|
|
14
|
+
"nonce": "nonce_demo_00000001",
|
|
15
|
+
"signerKeyId": "key_demo_signer_0001",
|
|
16
|
+
"envelopeHash": "6dac9a886bf7466dd5faa57aef1a033ad4d41d9f8176d755f4a5fb9e26271cf4",
|
|
17
|
+
"signature": "sig_demo_base64_0001"
|
|
18
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "ProduceCliOutput.v1",
|
|
3
|
+
"tool": {
|
|
4
|
+
"name": "settld",
|
|
5
|
+
"version": "0.0.0",
|
|
6
|
+
"commit": "0123456789abcdef0123456789abcdef01234567"
|
|
7
|
+
},
|
|
8
|
+
"mode": {
|
|
9
|
+
"deterministic": true,
|
|
10
|
+
"now": "1970-01-01T00:00:00.000Z"
|
|
11
|
+
},
|
|
12
|
+
"target": {
|
|
13
|
+
"kind": "jobproof",
|
|
14
|
+
"out": "/tmp/out/bundle"
|
|
15
|
+
},
|
|
16
|
+
"ok": true,
|
|
17
|
+
"produceOk": true,
|
|
18
|
+
"warnings": [],
|
|
19
|
+
"errors": [],
|
|
20
|
+
"result": {
|
|
21
|
+
"bundleDir": "/tmp/out/bundle",
|
|
22
|
+
"type": "JobProofBundle.v1",
|
|
23
|
+
"tenantId": "tenant_default",
|
|
24
|
+
"jobId": "job_default",
|
|
25
|
+
"period": null,
|
|
26
|
+
"basis": null,
|
|
27
|
+
"protocol": null,
|
|
28
|
+
"manifestHash": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
|
|
29
|
+
"attestationHash": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "ReleaseIndexSignature.v1",
|
|
3
|
+
"algorithm": "ed25519-sha256",
|
|
4
|
+
"keyId": "key_example",
|
|
5
|
+
"messageSha256": "0000000000000000000000000000000000000000000000000000000000000000",
|
|
6
|
+
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA0000000000000000000000000000000000000000000=\n-----END PUBLIC KEY-----\n",
|
|
7
|
+
"signatureBase64": "AAAA"
|
|
8
|
+
}
|
|
9
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "ReleaseIndexSignatures.v1",
|
|
3
|
+
"signatures": [
|
|
4
|
+
{
|
|
5
|
+
"schemaVersion": "ReleaseIndexSignature.v1",
|
|
6
|
+
"algorithm": "ed25519-sha256",
|
|
7
|
+
"keyId": "key_example_a",
|
|
8
|
+
"messageSha256": "0000000000000000000000000000000000000000000000000000000000000000",
|
|
9
|
+
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=\n-----END PUBLIC KEY-----\n",
|
|
10
|
+
"signatureBase64": "AA=="
|
|
11
|
+
}
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "ReleaseIndex.v1",
|
|
3
|
+
"release": { "tag": "v1.0.0", "version": "1.0.0" },
|
|
4
|
+
"toolchain": {
|
|
5
|
+
"commit": "0123456789abcdef0123456789abcdef01234567",
|
|
6
|
+
"buildEpochSeconds": 0,
|
|
7
|
+
"canonicalJson": "RFC8785",
|
|
8
|
+
"includedSchemas": ["VerifyCliOutput.v1", "ProduceCliOutput.v1", "ReleaseIndex.v1"]
|
|
9
|
+
},
|
|
10
|
+
"artifacts": [
|
|
11
|
+
{ "path": "settld-artifact-verify-1.0.0.tgz", "sha256": "0000000000000000000000000000000000000000000000000000000000000000", "sizeBytes": 0, "kind": "npm-tgz" },
|
|
12
|
+
{ "path": "conformance-v1.tar.gz", "sha256": "0000000000000000000000000000000000000000000000000000000000000000", "sizeBytes": 0, "kind": "conformance" }
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "ReleaseTrust.v2",
|
|
3
|
+
"policy": {
|
|
4
|
+
"minSignatures": 2,
|
|
5
|
+
"requiredKeyIds": ["key_example_a"]
|
|
6
|
+
},
|
|
7
|
+
"keys": [
|
|
8
|
+
{
|
|
9
|
+
"keyId": "key_example_a",
|
|
10
|
+
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=\n-----END PUBLIC KEY-----\n",
|
|
11
|
+
"notBeforeEpochSeconds": 0,
|
|
12
|
+
"comment": "example root A"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"keyId": "key_example_b",
|
|
16
|
+
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb=\n-----END PUBLIC KEY-----\n",
|
|
17
|
+
"notBeforeEpochSeconds": 0,
|
|
18
|
+
"comment": "example root B"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "RemoteSignerRequest.v1",
|
|
3
|
+
"op": "sign",
|
|
4
|
+
"body": {
|
|
5
|
+
"schemaVersion": "RemoteSignerSignRequest.v1",
|
|
6
|
+
"requestId": "req_00000001",
|
|
7
|
+
"keyId": "key_example",
|
|
8
|
+
"algorithm": "ed25519",
|
|
9
|
+
"messageBase64": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
|
|
10
|
+
"purpose": "bundle_head_attestation",
|
|
11
|
+
"context": {
|
|
12
|
+
"bundleKind": "JobProofBundle.v1",
|
|
13
|
+
"tenantId": "tenant_example",
|
|
14
|
+
"manifestHash": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "RemoteSignerSignResponse.v1",
|
|
3
|
+
"requestId": "req_00000001",
|
|
4
|
+
"keyId": "key_example",
|
|
5
|
+
"algorithm": "ed25519",
|
|
6
|
+
"signatureBase64": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
|
7
|
+
"signerReceipt": "example-receipt"
|
|
8
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "ReputationEvent.v1",
|
|
3
|
+
"artifactType": "ReputationEvent.v1",
|
|
4
|
+
"artifactId": "rep_vrd_6ed7af4431923f9cb4ff8f8f0af36ac168f991f3f9f7f0f3f9ff3f0f9af3f8c9",
|
|
5
|
+
"eventId": "rep_vrd_6ed7af4431923f9cb4ff8f8f0af36ac168f991f3f9f7f0f3f9ff3f0f9af3f8c9",
|
|
6
|
+
"tenantId": "tenant_default",
|
|
7
|
+
"occurredAt": "2026-02-11T12:00:00.000Z",
|
|
8
|
+
"eventKind": "verdict_issued",
|
|
9
|
+
"subject": {
|
|
10
|
+
"agentId": "agt_payee_demo",
|
|
11
|
+
"toolId": "tool_call",
|
|
12
|
+
"counterpartyAgentId": "agt_payer_demo",
|
|
13
|
+
"role": "payee"
|
|
14
|
+
},
|
|
15
|
+
"sourceRef": {
|
|
16
|
+
"kind": "arbitration_verdict",
|
|
17
|
+
"artifactId": "arbitration_verdict_avd_demo",
|
|
18
|
+
"agreementHash": "1111111111111111111111111111111111111111111111111111111111111111",
|
|
19
|
+
"verdictHash": "6ed7af4431923f9cb4ff8f8f0af36ac168f991f3f9f7f0f3f9ff3f0f9af3f8c9",
|
|
20
|
+
"disputeId": "disp_tc_deadbeef",
|
|
21
|
+
"caseId": "arb_case_tc_deadbeef"
|
|
22
|
+
},
|
|
23
|
+
"facts": {
|
|
24
|
+
"verdictOutcome": "payee_win",
|
|
25
|
+
"releaseRatePct": 100,
|
|
26
|
+
"amountCents": 2000
|
|
27
|
+
},
|
|
28
|
+
"eventHash": "6c48dc294a69413fe9f4548ef25319c3c73396018249b1667eb52447c3ecba63"
|
|
29
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "VerificationReport.v1",
|
|
3
|
+
"profile": "strict",
|
|
4
|
+
"tool": { "name": "settld", "version": "0.0.0-example", "commit": "0123456789abcdef0123456789abcdef01234567" },
|
|
5
|
+
"warnings": [],
|
|
6
|
+
"signer": { "keyId": "key_example", "scope": "global", "governanceEventRef": null },
|
|
7
|
+
"bundleHeadAttestation": {
|
|
8
|
+
"schemaVersion": "BundleHeadAttestation.v1",
|
|
9
|
+
"attestationHash": "0000000000000000000000000000000000000000000000000000000000000000",
|
|
10
|
+
"signerKeyId": "key_example",
|
|
11
|
+
"signedAt": "2026-01-01T00:00:00.000Z",
|
|
12
|
+
"manifestHash": "0000000000000000000000000000000000000000000000000000000000000000"
|
|
13
|
+
},
|
|
14
|
+
"subject": {
|
|
15
|
+
"type": "JobProofBundle.v1",
|
|
16
|
+
"tenantId": "tenant_example",
|
|
17
|
+
"createdAt": "2026-01-01T00:00:00.000Z",
|
|
18
|
+
"manifestHash": "0000000000000000000000000000000000000000000000000000000000000000"
|
|
19
|
+
},
|
|
20
|
+
"reportHash": "0000000000000000000000000000000000000000000000000000000000000000",
|
|
21
|
+
"signature": null,
|
|
22
|
+
"signerKeyId": null,
|
|
23
|
+
"signedAt": null
|
|
24
|
+
}
|