{"audit":{"version":"1.3","generated_at":"2026-05-23T02:17:43.093980+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/api.lad.lviv.ua","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"api.lad.lviv.ua","name":"Lviv Public Transport","url":"https://api.lad.lviv.ua/.well-known/agent.json"}},"identity":{"provider":{"organization":"lad.lviv.ua","url":"https://lad.lviv.ua"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":null,"supports_streaming":false,"supports_push_notifications":false},"operational":{"live_state":"endpoint_404","live_responds":false,"last_status_code":200,"last_elapsed_ms":21,"last_error":null},"track_record":{"first_seen":"2026-05-18T12:54:10.237309+00:00","last_checked":"2026-05-23T01:34:00.857132+00:00","last_seen_ok":"2026-05-23T01:34:00.857132+00:00","checks_total":11,"checks_ok":11,"uptime_pct":100.0,"archived":false,"archived_reason":null},"conformance":{"score":44,"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":0,"max_points":25,"status":"fail","detail":"Card declares a URL but that URL returns 404."},{"key":"protocol_version","label":"Protocol version","points":0,"max_points":10,"status":"fail","detail":"No protocolVersion in card."},{"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":15,"max_points":15,"status":"pass","detail":"11/11 probes succeeded (100% uptime)."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 5 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: lad.lviv.ua (https://lad.lviv.ua). 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":0,"max_points":5,"status":"info","detail":"No securitySchemes declared (common for open agents — not penalised)."}]},"skills":[{"id":"get_stop_realtime","name":"Get Stop Realtime","description":"Live arrivals and vehicle positions at a stop by numeric stop code (e.g. 707).","tags":["transit","realtime","arrivals","lviv"],"examples":["What buses are arriving at stop 707?","Live arrivals for stop 1234"],"inputModes":["text/plain"],"outputModes":["application/json"]},{"id":"get_route_static","name":"Get Route Static","description":"Route metadata, stop lists, departure times, and polylines for both directions.","tags":["transit","route","timetable","lviv"],"examples":["Show me route T30 stops","Route 32A schedule"],"inputModes":["text/plain"],"outputModes":["application/json"]},{"id":"get_route_realtime","name":"Get Route Realtime","description":"Live vehicle positions for all vehicles currently running on a route.","tags":["transit","realtime","vehicles","lviv"],"examples":["Where are all tram 6 vehicles right now?"],"inputModes":["text/plain"],"outputModes":["application/json"]},{"id":"get_stops_around_location","name":"Get Stops Around Location","description":"Discover transit stops near a given latitude/longitude within a radius.","tags":["transit","location","stops","lviv"],"examples":["Find stops near 49.84, 24.03","Stops within 300m of my location"],"inputModes":["text/plain","application/json"],"outputModes":["application/json"]},{"id":"get_stop_geometry","name":"Get Stop Geometry","description":"Static map context for a stop: stop marker and route polylines for all serving routes.","tags":["transit","geometry","map","lviv"],"examples":["Get map data for stop 707"],"inputModes":["text/plain"],"outputModes":["application/json"]}],"provenance":[{"source":"mcp_registry","first_seen":"2026-05-18T12:54:10.237309+00:00"},{"source":"recrawl_hot","first_seen":"2026-05-21T14:35:08.277904+00:00"}],"recent_probes":[{"fetched_at":"2026-05-23T01:34:00.857132+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":21,"live_responds":false},{"fetched_at":"2026-05-23T00:40:19.966839+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":17,"live_responds":false},{"fetched_at":"2026-05-22T12:29:41.843716+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":23,"live_responds":false},{"fetched_at":"2026-05-22T06:52:26.535496+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":24,"live_responds":false},{"fetched_at":"2026-05-21T14:35:08.277904+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":17,"live_responds":false},{"fetched_at":"2026-05-20T13:21:38.604744+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":30,"live_responds":false},{"fetched_at":"2026-05-20T09:47:03.341215+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":27,"live_responds":false},{"fetched_at":"2026-05-20T08:24:47.174750+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":38,"live_responds":false},{"fetched_at":"2026-05-18T23:36:48.081588+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":20,"live_responds":false},{"fetched_at":"2026-05-18T14:19:11.361047+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":21,"live_responds":false}],"catalog_attestation":null,"verification_history":[]}