{"status":"degraded","generated_at":"2026-10-23T13:18:21.404Z","snapshot_age_seconds":99567,"readiness":{"required":{"total":26,"failing_count":0,"failing_detail":[]},"degradedAllowed":{"total":7,"failing_count":1,"failing_detail":[{"reason":"Degraded — see logs for detail"}]},"optional":{"total":16,"failing_count":0,"failing_detail":[]}},"trust_receipt_retention":{"mode":"off","mode_recognized":true,"last_sweep_at":"2026-10-23T09:38:54.688Z","last_sweep_mode":"off","last_failure_at":null},"uptime":99569.809176056,"db":"ok","deployment":"55f23abf","version":"1.0.0","protocols":{"x402":{"healthy":true,"responseTime_ms":93,"lastCheck":"2026-10-23T13:18:20.522Z","measures":"Reachability of the third-party x402.org host. Accepts 2xx, 3xx, 404 and 405 as healthy. Does NOT indicate that any merchant can settle an x402 payment — see demo.protocolBridges.x402 and /.well-known/trusteed-capabilities.json → x402."},"x402_facilitator":{"status":"up","latency_ms":104,"host":"x402.org","measures":"Latency probe against the configured facilitator, which defaults to the x402.org TESTNET facilitator. `up` means it answered, not that it settles for us."},"kyapay":{"enabled":true,"chargeEnabled":false,"jwksCacheAgeMs":13166468,"jwksCacheAgeHours":3.7,"identityCount":0,"settlement":{"circuitBreakerState":"closed","lastChargeSuccess":null,"chargeCount24h":0,"consecutiveFailures":0},"lastCheck":"2026-10-23T13:18:21.408Z"},"paypal":{"healthy":true,"environment":"sandbox","tokenValid":true,"responseTime_ms":640}},"shopify":{"tokens":{"healthy":false}},"extension":{"enabled":true,"postgres":"ok","redis":"ok","kms":"configured","globalKillSwitch":"inactive","webhookWorkers":"ok","hasDeveloperOrgs":false},"nlweb":{"service_state":"code_complete","query_state":"unavailable","query_cause":"embedding_key_invalid","query_probe_at":"2026-10-23T13:18:21.409Z","query_probe_store":"mcpwebstore-platform","enabled":true,"config":{"enabled":true,"queryLogRetentionDays":90},"pgvectorAvailable":true,"measures":"`enabled` and `config` echo deployment configuration. `pgvectorAvailable` checks table access. Only `query_state` measures the mcpwebstore-platform query path, via a cached synthetic search; it does not establish availability for every merchant. `service_state` comes from the signed capability registry."},"operations":{"onx":{"enabled":false}},"payment_trust":{"ixopay":{"enabled":false,"webhook_configured":false,"status":"unconfigured","last_evaluated_at":null}},"qtsp":{"provider":"infocert","enabled":false,"lastVerificationAt":null},"trust_receipts":{"issuing":true,"lastIssuedAt":"2026-10-23T13:08:55.824Z","lastSchemaVersion":"1.0","issued24h":384,"issued24h_by_merchant_type":{"production":0,"non_production":384},"production_last_issued_at":null,"unknown_merchant_24h":0,"measures":"Receipts signed and persisted by the production issuer, excluding seeded demo rows and receipts whose merchant does not exist. These are receipts, not purchases: most come from the demo store and its synthetic journey, which pays with a mock method. Read issued24h_by_merchant_type for who they were issued for — `production` uses the same criteria as /.well-known/merchant-index.json (an active store classified as production)."},"synthetic_journeys":{"demo_checkout":{"status":"failing","last_run_at":"2026-10-23T13:08:54.784Z","duration_ms":952,"consecutive_failures":111,"failed_step":"complete_checkout","failed_step_error":"demo_sandbox_mandate_required","steps":[{"step":"sandbox_key","ok":true},{"step":"get_product_details","ok":true},{"step":"create_cart","ok":true},{"step":"get_shipping_rates","ok":true},{"step":"select_shipping_option","ok":true},{"step":"preview_checkout","ok":true},{"step":"complete_checkout","ok":false}],"scope":{"store":"demo-store","surface":"POST /demo-store/mcp/checkout (MCP JSON-RPC, public HTTP)","auth":"sandbox API key","payment_method":"the option the store publishes in payment_options; `MOCK` only when it publishes none","settlement":"none","human_approval":"simulated"},"measures":"Whether an external caller can walk the `demo-store` checkout over public HTTP up to the approval step. When the store publishes `payment_options` the walk picks one and STOPS at approval: it never settles, so there is NO charge and no platform test funds move. Only when the store publishes none does it complete with `payment_method: \"MOCK\"`, which mints the order in our own database with no PSP, card or Stripe/PayPal/x402 settlement. Either way `passing` does not prove that any payment can be taken, says NOTHING about `browser_pay.settlement` or `payment_rails.*`, and the receipt step only runs on the completed (MOCK) path. The `approval` step is this deployment's own clock calling the demo confirmation endpoint, not a human pressing approve. It also does not exercise a real platform connector (Shopify/WooCommerce/PrestaShop/Magento/Odoo), any merchant's own enforcement policies, or agent HTTP-signature identity — it authenticates with a sandbox API key."}},"agent_readiness_sweep":{"status":"passing","last_run_at":"2026-10-23T03:40:20.911Z","last_outcome":"success","last_run_source":"memory","age_seconds":34680,"stale_after_seconds":93600,"measures":"Whether this deployment's nightly coherence sweep (agent readiness, 03:40 UTC) ran and how it ended. The last result is kept in memory and in the `job_last_runs` table of this deployment's database, so a restart does not erase it: `last_run_source` says which one was used. `not_run_since_boot` means neither this process nor the database has a record (a new deployment, a database not yet migrated, or no nightly run yet). It does not count single-store refreshes triggered from a merchant panel. `stale` means the last nightly run is older than `stale_after_seconds`, whatever its outcome. It says nothing about the verdict of any probe for any store.","next_run_at":"2026-10-24T03:40:00.000Z"},"browser_pay":{"settlement":"enforced_except_demo","meaning":"An order at a real store is never marked completed without a confirmed charge: a store with no Stripe key, or a zero total, is rejected. Only the demo store completes such an order, and its purchases are simulated. A PaymentIntent that does not succeed is still rejected, always."},"trust_receipt_outbox":{"recording":true,"pending":0,"oldestPendingAgeSeconds":null},"settlement_invariant":{"sweeping":true,"openOrphans":0,"oldestOrphanAgeSeconds":null},"queue_consumers":{"foreign":0,"foreign_own_queues":0,"foreign_shared_prefix":0,"isolated":true},"demo":{"stripeConnected":true,"protocolBridges":{"acp":"sandbox","ap2":"coming-soon","x402":"sandbox","_source":"Derived from /.well-known/trusteed-capabilities.json (signed). Until 2026-08-31 ap2 and x402 were hardcoded to \"active\" here, which the signed registry's own evidence already contradicted."},"demoEndpoint":"/demo-store/mcp","rateLimit":"20 req/min per IP","sandboxKeyLimit":"25 keys/IP/24h"},"security":{"anomalyTracking":{"enabled":true}},"manifests":{"integrity_note":"Fetch each canonical URL below directly and compare. Content that does not appear at the canonical URL did not come from Trusteed.","version_scope_note":"There is no single platform version. Each manifest's `version` field is that document's own schema version, independent of the others — do not expect them to match or move together.","llms_txt":"https://trusteed.xyz/llms.txt","agent_policy":"https://trusteed.xyz/.well-known/agent-policy.json","mcp_json":"https://trusteed.xyz/mcp.json","agent_commerce":"https://trusteed.xyz/.well-known/agent-commerce.json","merchant_index":"https://trusteed.xyz/.well-known/merchant-index.json","capability_registry":"https://trusteed.xyz/.well-known/trusteed-capabilities.json","capability_registry_alias":"https://trusteed.xyz/.well-known/agent-capabilities.json"}}