{"audit":{"version":"1.3","generated_at":"2026-07-07T02:55:11.534924+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/www.upgradeagent.ai","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"www.upgradeagent.ai","name":"Upgrade Agent","url":"https://www.upgradeagent.ai/.well-known/agent.json"}},"identity":{"provider":{"organization":"Plusgrade","url":"https://www.plusgrade.com"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":"0.3.0","supports_streaming":true,"supports_push_notifications":false},"operational":{"live_state":"auth_required","live_responds":false,"last_status_code":200,"last_elapsed_ms":528,"last_error":null},"track_record":{"first_seen":"2026-07-06T23:09:48.775379+00:00","last_checked":"2026-07-06T23:09:48.775379+00:00","last_seen_ok":"2026-07-06T23:09:48.775379+00:00","checks_total":1,"checks_ok":1,"uptime_pct":100.0,"archived":false,"archived_reason":null},"conformance":{"score":51,"grade":"D","summary":"D-grade: significant issues, auth-gated, partially broken, or stale.","criteria":[{"key":"valid_card","label":"Valid AgentCard","points":10,"max_points":10,"status":"pass","detail":"Schema-validated A2A AgentCard returned by the well-known endpoint."},{"key":"live_responds","label":"Live JSON-RPC","points":15,"max_points":25,"status":"partial","detail":"Endpoint requires auth, real agent but not anonymously callable."},{"key":"protocol_version","label":"Protocol version","points":5,"max_points":10,"status":"partial","detail":"Declares pre-1.0 A2A 0.3.0 (Google preview). Upgrade to v1.x for full points."},{"key":"signature","label":"JWS signature","points":0,"max_points":10,"status":"info","detail":"Card is unsigned (most published agents are)."},{"key":"uptime","label":"Uptime track record","points":0,"max_points":15,"status":"info","detail":"Only 1 probe so far, need ≥5 for an uptime grade."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 6 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: Plusgrade (https://www.plusgrade.com). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit."},{"key":"freshness","label":"Freshness + modern flags","points":4,"max_points":5,"status":"pass","detail":"seen in upstream source within 0d"},{"key":"security","label":"Security declaration","points":2,"max_points":5,"status":"partial","detail":"Declares 2 security scheme(s) but none use PKCE or mTLS."}]},"skills":[{"id":"ask_upgrade_agent","name":"Upgrade Q&A","description":"Authoritative answer to any travel-upgrade question (bid/instant/points mechanics, eligibility rules, which operators offer upgrades).","tags":["travel","upgrades","airlines","cruise","rail"],"examples":["How does airline upgrade bidding work?","Do I pay if my bid loses?"],"inputModes":[],"outputModes":[]},{"id":"check_upgrade_eligibility","name":"Live booking eligibility","description":"Privacy-safe eligibility check for a specific booking — the traveler enters PNR + last name on a secure page, never in the conversation. Returns products, bid ranges, and cabin options.","tags":["eligibility","booking","privacy"],"examples":["Can my Air Canada booking be upgraded?"],"inputModes":[],"outputModes":[]},{"id":"get_upgrade_pricing","name":"Observed bid ranges","description":"Typical upgrade bid ranges per carrier and cabin, aggregated from real anonymized eligibility checks — never fabricated.","tags":["pricing","bid-ranges"],"examples":["How much does a business-class upgrade cost on Lufthansa?"],"inputModes":[],"outputModes":[]},{"id":"predict_bid_success","name":"Bid-success prediction","description":"Probability a specific bid amount succeeds, grounded in resolved accept/reject outcomes for that carrier and cabin; reports honestly when history is insufficient.","tags":["prediction","bidding"],"examples":["Is EUR 400 a good bid for Lufthansa business?"],"inputModes":[],"outputModes":[]},{"id":"place_bid","name":"Place / modify a bid","description":"Places or modifies an upgrade bid on a checked booking, validating against the live range; payment completes on the operator's secure page.","tags":["transaction","bidding"],"examples":["Place a CAD 300 bid for business on my checked booking."],"inputModes":[],"outputModes":[]},{"id":"start_watch","name":"Watcher Concierge","description":"Continuously watches a booking until departure and surfaces improvements (cabin upgrade, better seat, empty adjacent seat).","tags":["monitoring","alerts"],"examples":["Watch my booking for business-class openings under CAD 500."],"inputModes":[],"outputModes":[]}],"provenance":[{"source":"mcp_registry","first_seen":"2026-07-06T23:09:48.775379+00:00"}],"recent_probes":[{"fetched_at":"2026-07-06T23:09:48.775379+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":528,"live_responds":false}],"catalog_attestation":null,"verification_history":[],"signatures":[{"protected":"eyJhbGciOiJFUzI1NiIsImprdSI6Imh0dHBzOi8vYWdlbnN0cnkuY29tLy53ZWxsLWtub3duL2p3a3MuanNvbiIsImtpZCI6ImFnZW50ZmluZGVyLWVzMjU2LTEiLCJ0eXAiOiJKT1NFIn0","signature":"eBR2HO2LDOn-zGXkD1WU8UGNEU0oCUpYWi4ToN2sAcm9mE0jjE97Ue2wqovyylx3ZUViBljyCeUyl0SSiqSFhQ"}]}