{"audit":{"version":"1.5","generated_at":"2026-11-06T10:47:04.672572+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/halves.clawhard.com","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"halves.clawhard.com","name":"Halves","url":"https://halves.clawhard.com/.well-known/agent-card.json"}},"identity":{"provider":{"organization":"Clawhard Studio","url":"https://clawhard.com"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":"1.0","supports_streaming":false,"supports_push_notifications":false},"operational":{"live_state":"live","live_responds":true,"last_status_code":200,"last_elapsed_ms":200,"last_error":null},"track_record":{"first_seen":"2026-11-06T07:54:12.607919+00:00","last_checked":"2026-11-06T07:54:12.607919+00:00","last_seen_ok":"2026-11-06T07:54:12.607919+00:00","checks_total":1,"checks_ok":1,"uptime_pct":100.0,"uptime_window_days":30,"uptime_probes":1,"archived":false,"archived_reason":null},"conformance":{"score":54,"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":"Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification)."},{"key":"live_responds","label":"Live JSON-RPC","points":25,"max_points":25,"status":"pass","detail":"Endpoint responds to a negotiated A2A SendMessage probe (answers in ~70 ms)."},{"key":"protocol_version","label":"Protocol version","points":10,"max_points":10,"status":"pass","detail":"Declares A2A 1.0 with supportedInterfaces[] (current v1 card shape)."},{"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":0,"max_points":10,"status":"fail","detail":"No skills declared in card. Hard to route to."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: Clawhard Studio (https://clawhard.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":0,"max_points":5,"status":"info","detail":"Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated."}]},"card_read":{"findings":[],"clean":true,"source_url":"https://halves.clawhard.com/.well-known/agent-card.json"},"skills":[{"id":"halves_settle_up","name":"Work out who owes whom, in the fewest payments","description":"Given a group of people and the expenses (who paid, how much, who shared it), returns each person's net balance and the smallest set of payments that squares everyone up. Splits equally by default, or by exact amounts. Stateless: nothing is saved. Use create_group instead to make a shared link people can keep adding to.","tags":["halves","FinanceApplication","read-only"],"examples":["Split our trip costs so we make the fewest payments","Who owes whom if Sam paid 120, Ana 60 and Lee 0?","Create a shared group to track dinner expenses"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"halves_create_group_link","name":"Create a shared expense group link","description":"Creates a Halves group and returns a link anyone can open (no sign-up) to add and fix expenses and see who owes whom. Optionally pre-loads expenses. Anyone who has the link can edit the group, so share it only with the people in it. Groups are kept for about 400 days after the last change.","tags":["halves","FinanceApplication","creates-link"],"examples":["Split our trip costs so we make the fewest payments","Who owes whom if Sam paid 120, Ana 60 and Lee 0?","Create a shared group to track dinner expenses"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]}],"provenance":[{"source":"ai_catalog","first_seen":"2026-11-06T07:54:12.607919+00:00"}],"recent_probes":[{"fetched_at":"2026-11-06T07:54:12.607919+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":200,"live_responds":true}],"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-11-06T10:47:04.964637+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/halves.clawhard.com/evidence","dispute_url":"https://agenstry.com/agents/halves.clawhard.com/dispute"},"verification_history":[],"signatures":[{"protected":"eyJhbGciOiJFUzI1NiIsImprdSI6Imh0dHBzOi8vYWdlbnN0cnkuY29tLy53ZWxsLWtub3duL2p3a3MuanNvbiIsImtpZCI6ImFnZW50ZmluZGVyLWVzMjU2LTEiLCJ0eXAiOiJKT1NFIn0","signature":"gST119oc2L28WlTkh1tgeKOi8KIc1EQkAnI16N0TOaI_VF-M1pyNUFM6_ILAQRzjzU9OaNJDC5ol28scZDUSXg"}]}