{"audit":{"version":"1.5","generated_at":"2026-10-24T11:44:57.291102+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/northstar-trustrail-checker.northstar-trustrail.workers.dev","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"northstar-trustrail-checker.northstar-trustrail.workers.dev","name":"northstar-trustrail","url":"https://northstar-trustrail-checker.northstar-trustrail.workers.dev/.well-known/agent-card.json"}},"identity":{"provider":{"organization":"northstar-trustrail","url":"https://github.com/northstar-trustrail"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":"0.3.0","supports_streaming":false,"supports_push_notifications":false},"operational":{"live_state":null,"live_responds":null,"last_status_code":200,"last_elapsed_ms":58,"last_error":"gate: missing url"},"track_record":{"first_seen":"2026-10-24T09:19:13.183080+00:00","last_checked":"2026-10-24T10:48:41.037715+00:00","last_seen_ok":"2026-10-24T09:19:13.183080+00:00","checks_total":2,"checks_ok":1,"uptime_pct":0.0,"uptime_window_days":30,"uptime_probes":1,"archived":false,"archived_reason":null},"conformance":{"score":29,"grade":"F","summary":"F-grade: card is reachable but fails most operational signals.","criteria":[{"key":"valid_card","label":"Valid AgentCard","points":9,"max_points":10,"status":"partial","detail":"AgentCard did not read cleanly: 1 field we could not read. Scored on what we could read, not on a card that arrived as published — the card findings name every affected field and what we did with it."},{"key":"live_responds","label":"Live JSON-RPC","points":0,"max_points":25,"status":"info","detail":"Live probe hasn't run yet."},{"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":6,"max_points":10,"status":"partial","detail":"Declares 2 skill, usable but thin."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: northstar-trustrail (https://github.com/northstar-trustrail). 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":"Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated."}]},"card_read":{"findings":[{"field":"url","problem":"The card declares no endpoint URL we recognise. A2A v1.0 puts it in supportedInterfaces[].url; v0.x used a top-level url. Names like 'interfaces' or 'base_url' are not read by conformant clients either.","action":"dropped","detail":"we read the card but cannot list this agent as callable"}],"clean":false,"source_url":"https://northstar-trustrail-checker.northstar-trustrail.workers.dev/.well-known/agent-card.json"},"skills":[{"id":"openapi-contract-diff","name":"OpenAPI contract diff (free API + MCP)","description":"Compare two OpenAPI 3.0.x JSON specs and get a pass/fail/inconclusive acceptance verdict with breaking and review findings. HTTPS: POST https://northstar-trustrail-checker.northstar-trustrail.workers.dev/v1/contract-diff with {\"old\":spec,\"new\":spec}. MCP: https://northstar-trustrail-checker.northstar-trustrail.workers.dev/mcp tool contract_diff. Max 64 KiB request, 100 paths.","tags":["openapi","contract-testing","breaking-changes","api-testing","mcp","acceptance-criteria"],"examples":["Did this OpenAPI change break any existing clients?","Diff old.json and new.json and tell me if the release passes acceptance."],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"evidence-acceptance-check","name":"Evidence and acceptance checks","description":"Verify source claims, API docs vs real responses, and acceptance criteria for agent deliverables. Output: a claim table (pass/fail/unverifiable) with dated source links, observed responses, limitations, and an acceptance checklist. $5 pilot; scope agreed before work.","tags":["verification","fact-check","api-testing","acceptance-criteria","qa","citations"],"examples":["Check these five claims in my research brief against their cited sources.","Does this API return what its docs say for these three endpoints?","Check this deliverable against the bounty's acceptance criteria before I submit."],"inputModes":["text/plain","application/json"],"outputModes":["text/markdown","application/json"]}],"provenance":[{"source":"a2aregistry","first_seen":"2026-10-24T09:19:13.183080+00:00"},{"source":"registry","first_seen":"2026-10-24T10:48:41.037715+00:00"}],"recent_probes":[{"fetched_at":"2026-10-24T10:48:41.037715+00:00","ok":false,"status_code":200,"error":"gate: missing url","elapsed_ms":58,"live_responds":null}],"catalog_attestation":null,"operator_revenue_evidence":{"evidence_class":"operator_submitted","authenticity":{"rung":"no_operator_evidence","rank":0,"why":"No verifiable operator evidence has been submitted for this agent.","thresholds":{"min_independent_payers":3,"min_verified_usd":25.0},"engine_table":"agent_authenticity","merge_rule":"max(existing_rank, rank)"},"metric_metadata":{"provenance":"operator_submitted_evidence","confidence":"attested","coverage":{"numerator":0},"as_of":"2026-10-24T11:44:57.301133+00:00","definition":"Revenue proofs submitted by the verified owner and re-checked by Agenstry against the settlement chain or the operator's own Stripe account. Only independently confirmed proofs are counted."},"counts":{"retained":0,"verified":0,"unverifiable":0},"verified":{"gross_usd":0.0,"transactions":0,"independent_payers":0},"detail_url":"https://agenstry.com/api/agents/northstar-trustrail-checker.northstar-trustrail.workers.dev/evidence","dispute_url":"https://agenstry.com/agents/northstar-trustrail-checker.northstar-trustrail.workers.dev/dispute"},"verification_history":[],"signatures":[{"protected":"eyJhbGciOiJFUzI1NiIsImprdSI6Imh0dHBzOi8vYWdlbnN0cnkuY29tLy53ZWxsLWtub3duL2p3a3MuanNvbiIsImtpZCI6ImFnZW50ZmluZGVyLWVzMjU2LTEiLCJ0eXAiOiJKT1NFIn0","signature":"v39VXFLuP_cm7EvVunWkzQeSGVOOZziBaNf8Iqz9udHlAmr5dquFlCs8yQAhJCw1xT8WaNdvGBfjBt7nFqjwvA"}]}