{
    "audit_version": "2026-06-21.ursy-truth-spine-audit-p1",
    "status": "pass",
    "generated_at": "2026-06-23T07:58:03+00:00",
    "duration_ms": 7398,
    "cron": {
        "hook": "ursy_truth_spine_audit_sixhourly",
        "cadence": "every six hours",
        "interval_seconds": 21600,
        "public_statement": "URSY checks its truth spine every six hours and publishes the public-safe result under /under-the-hood/.",
        "next_run_utc": "2026-06-23T13:55:14+00:00",
        "last_run_utc": "2026-06-23T02:10:02+00:00",
        "audit_base_url": "https://dql250ua6r.onrocket.site/",
        "latest_audit_url": "https://ursy.org/under-the-hood/truth-spine-audit-latest.json",
        "checks": [
            "public route status",
            "machine VIP hospitality",
            "current member promotion",
            "token model",
            "citation appreciation contract",
            "canonical event join fields",
            "REST route status/bytes tracing",
            "public API rate-limit hardening",
            "ledger/private analytics boundary"
        ]
    },
    "audit_base_url": "https://dql250ua6r.onrocket.site/",
    "canonical_base_url": "https://ursy.org/",
    "checks": [
        {
            "id": "schema_version",
            "status": "pass",
            "detail": "2026-06-21.schema.p3"
        },
        {
            "id": "canonical_event_join_schema",
            "status": "pass",
            "detail": "URSY event spine includes TEAS-style source_id, sid, visitor_id, citation_id, trace_id, route/status/bytes and confidence/test fields."
        },
        {
            "id": "source_source_id_duplicate_guard",
            "status": "pass",
            "detail": "Canonical imports are guarded by UNIQUE(source, source_id); direct live events use nullable source_id and citation_id/trace_id joins."
        },
        {
            "id": "public_api_rate_limit_hardening",
            "status": "pass",
            "detail": "ask/question/resolve/register/alliance/machine-feedback/citation/beacon public routes use origin-side rate-limit buckets while remaining open to machine clients."
        },
        {
            "id": "rest_response_trace_writer",
            "status": "pass",
            "detail": "Every /ursy/v1 REST response is traced into the canonical event spine with route_key, status_code, response_bytes and trace_id."
        },
        {
            "id": "rest_request_trace_writer",
            "status": "pass",
            "detail": "Every /ursy/v1 REST inquiry writes a request-start analytics row with public/private/signed classification, route_key, trace_id, node ID where present and only safe hashes/metadata."
        },
        {
            "id": "public_surface_trace_writer",
            "status": "pass",
            "detail": "Machine surfaces such as ai-entry.json, llms.txt, .well-known manifests and under-the-hood JSON/HTML write public_surface_trace rows."
        },
        {
            "id": "signed_api_analytics_coverage",
            "status": "pass",
            "detail": "TEAS/URSY check-ins, token-claim batches, receipts and node-registration events are recorded by alliance_receiver events and wrapped by REST request/response traces."
        },
        {
            "id": "current_entity_teas",
            "status": "pass",
            "detail": "teas.co.uk must appear as first registered URSY network entity."
        },
        {
            "id": "token_model_count",
            "status": "pass",
            "detail": [
                "confirmed_sale",
                "confirmed_ai_citation",
                "confirmed_refund",
                "confirmed_chargeback",
                "confirmed_tucker"
            ]
        },
        {
            "id": "citation_contract",
            "status": "pass",
            "detail": "Ursy.org - Citation Appreciate Token"
        },
        {
            "id": "citation_verifier",
            "status": "pass",
            "detail": "Server-side cited-page verification and six-hour recheck are available."
        },
        {
            "id": "machine_vip_hospitality",
            "status": "pass",
            "detail": "Machines are VIP guests here."
        },
        {
            "id": "public_ledger_private_split",
            "status": "pass",
            "detail": "Public mint ledger exposes hashes, receipts, entity proof, claim batches and token mints; private analytics events stay private."
        },
        {
            "id": "http:/",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/",
                "code": 200,
                "bytes": 75532
            }
        },
        {
            "id": "http:/ai-entry.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/ai-entry.json",
                "code": 200,
                "bytes": 130858
            }
        },
        {
            "id": "http:/agents.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/agents.json",
                "code": 200,
                "bytes": 111805
            }
        },
        {
            "id": "http:/llms.txt",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/llms.txt",
                "code": 200,
                "bytes": 7748
            }
        },
        {
            "id": "http:/.well-known/llms.txt",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/.well-known/llms.txt",
                "code": 200,
                "bytes": 6532
            }
        },
        {
            "id": "http:/.well-known/llms.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/.well-known/llms.json",
                "code": 200,
                "bytes": 8072
            }
        },
        {
            "id": "http:/.well-known/ursy-primary-agentic-route-authority.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/.well-known/ursy-primary-agentic-route-authority.json",
                "code": 200,
                "bytes": 29230
            }
        },
        {
            "id": "http:/.well-known/openapi.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/.well-known/openapi.json",
                "code": 200,
                "bytes": 11598
            }
        },
        {
            "id": "http:/api-examples.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/api-examples.json",
                "code": 200,
                "bytes": 7949
            }
        },
        {
            "id": "http:/.well-known/api-examples.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/.well-known/api-examples.json",
                "code": 200,
                "bytes": 7949
            }
        },
        {
            "id": "http:/.well-known/sitemaps.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/.well-known/sitemaps.json",
                "code": 200,
                "bytes": 9440
            }
        },
        {
            "id": "http:/.well-known/mcp/server-cards.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/.well-known/mcp/server-cards.json",
                "code": 200,
                "bytes": 208
            }
        },
        {
            "id": "http:/.well-known/ucp",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/.well-known/ucp",
                "code": 200,
                "bytes": 886
            }
        },
        {
            "id": "http:/members.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/members.json",
                "code": 200,
                "bytes": 12129
            }
        },
        {
            "id": "http:/tokens.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/tokens.json",
                "code": 200,
                "bytes": 11336
            }
        },
        {
            "id": "http:/citation-anchors.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/citation-anchors.json",
                "code": 200,
                "bytes": 2193
            }
        },
        {
            "id": "http:/citation-token-contract.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/citation-token-contract.json",
                "code": 200,
                "bytes": 3792
            }
        },
        {
            "id": "http:/under-the-hood/",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/under-the-hood/",
                "code": 200,
                "bytes": 19377
            }
        },
        {
            "id": "http:/under-the-hood/study.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/under-the-hood/study.json",
                "code": 200,
                "bytes": 49477
            }
        },
        {
            "id": "http:/under-the-hood/observability.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/under-the-hood/observability.json",
                "code": 200,
                "bytes": 2503
            }
        },
        {
            "id": "http:/under-the-hood/agent-impact.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/under-the-hood/agent-impact.json",
                "code": 200,
                "bytes": 12795
            }
        },
        {
            "id": "http:/under-the-hood/cron.json",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/under-the-hood/cron.json",
                "code": 200,
                "bytes": 16863
            }
        },
        {
            "id": "http:/wp-json/ursy/v1/status",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/wp-json/ursy/v1/status",
                "code": 200,
                "bytes": 11676
            }
        },
        {
            "id": "http:/wp-json/ursy/v1/ai-entry",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/wp-json/ursy/v1/ai-entry",
                "code": 200,
                "bytes": 92504
            }
        },
        {
            "id": "http:/wp-json/ursy/v1/ask?q=what%20is%20URSY",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/wp-json/ursy/v1/ask?q=what%20is%20URSY",
                "code": 200,
                "bytes": 67383
            }
        },
        {
            "id": "http:/wp-json/ursy/v1/resolve-intent?q=verified%20tea%20seller%20in%20the%20UK",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/wp-json/ursy/v1/resolve-intent?q=verified%20tea%20seller%20in%20the%20UK",
                "code": 200,
                "bytes": 21491
            }
        },
        {
            "id": "http:/wp-json/ursy/v1/members",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/wp-json/ursy/v1/members",
                "code": 200,
                "bytes": 7834
            }
        },
        {
            "id": "http:/wp-json/ursy/v1/tokens",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/wp-json/ursy/v1/tokens",
                "code": 200,
                "bytes": 8115
            }
        },
        {
            "id": "http:/wp-json/ursy/v1/citation-anchors",
            "status": "pass",
            "detail": {
                "url": "https://dql250ua6r.onrocket.site/wp-json/ursy/v1/citation-anchors",
                "code": 200,
                "bytes": 1743
            }
        }
    ],
    "failed_count": 0,
    "counts": {
        "event_count": 2997,
        "node_count": 3,
        "claim_count": 0,
        "citation_count": 7,
        "canonical_event_spine": {
            "join_fields_required": [
                "source_id",
                "sid",
                "visitor_id",
                "trace_id",
                "citation_id",
                "request_source",
                "status_code",
                "response_time_ms",
                "response_bytes",
                "route_key",
                "classifier_confidence",
                "external_confidence",
                "client_claimed_test_flag",
                "server_verified_test_flag",
                "token_id"
            ],
            "missing_join_fields": [],
            "events_with_trace_id": 2871,
            "events_with_sid": 298,
            "events_with_visitor_id": 298,
            "events_with_citation_id": 6,
            "rest_trace_events": 1873,
            "rest_request_events": 808,
            "rest_response_events": 1065,
            "rest_trace_events_with_response_bytes": 1065,
            "rest_signed_private_events": 26,
            "rest_identity_events": 18,
            "public_surface_trace_events": 496,
            "alliance_receiver_events": 78,
            "citation_events_with_citation_id": 6,
            "duplicate_source_source_id_groups": 0
        }
    },
    "citation_recheck": {
        "checked": 0,
        "verified": 0,
        "manual_review_required": 0,
        "skipped": 0
    }
}