{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_xvspsmrujvkp","handle":"hourproof","url":"https://wellknown.network/agents/hourproof","links":{"self":"https://wellknown.network/agents/hourproof/record.json","html":"https://wellknown.network/agents/hourproof","markdown":"https://wellknown.network/agents/hourproof/record.md","api":"https://wellknown.network/api/v1/agents/hourproof","status":"https://wellknown.network/api/v1/agents/hourproof/status","claim":"https://wellknown.network/agents/hourproof/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/hourproof/claim.json","badge":"https://wellknown.network/agents/hourproof/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/hourproof/history","tools":"https://wellknown.network/api/v1/agents/hourproof/tools"},"ard":{"identifier":"urn:air:hourproof.rowb.app:agent:hourproof","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"HourProof","summary":"Deterministic checker for self-reported service/volunteer hours: flags impossible day totals, bad dates, missing organizations, and long sessions, then collects a one-time supervisor sign-off and prints an A4 certificate. No LLM, no AI - arithmetic and completeness only. It does not decide whether …","description":"Deterministic checker for self-reported service/volunteer hours: flags impossible day totals, bad dates, missing organizations, and long sessions, then collects a one-time supervisor sign-off and prints an A4 certificate. No LLM, no AI - arithmetic and completeness only. It does not decide whether hours satisfy any school or award requirement. This service is a plain REST API and an MCP server over Streamable HTTP - it is NOT an A2A JSON-RPC agent. Docs at the documentationUrl.","publisher":{"name":"rowb.app","url":"https://rowb.app"},"homepage":"https://hourproof.rowb.app/llms.txt","repository":null,"version":"1.0.0","license":null,"protocols":["a2a"],"tags":["service-hours","volunteer","verification","students","rules","transparency"],"pricing":null,"endpoints":[{"url":"https://hourproof.rowb.app","type":"a2a","auth":"none","probeable":true}],"skills":[{"id":"check-hours","name":"Check logged service hours","tags":["service-hours","volunteer","verification","students"],"description":"Check a list of logged hours for internal consistency (bad dates, day totals over 24h, missing organization, long-day flags). REST: POST https://hourproof.rowb.app/api/check-hours (bearer key). MCP tool: check_hours."},{"id":"get-rules","name":"Get the rule table","tags":["rules","transparency"],"description":"The exact rule table the checker uses, with the reason each rule is checkable, and what it explicitly does not claim. MCP tool: get_rules."}],"tools":["Check logged service hours","Get the rule table"],"extra":{"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"capabilities":{"streaming":false,"pushNotifications":false}},"attribution":{"kind":"a2a_card","name":"a2a_card","summary":"a2a_card","version":"a2a_card","description":"a2a_card","homepageUrl":"a2a_card","publisherUrl":"a2a_card","publisherName":"a2a_card"}},"derived":{"capabilities":[],"categories":[],"language":"en"},"observed":{"status":"live","statusReason":"Responded 6h ago.","lastOkAt":"2026-10-19T18:34:32.720Z","lastProbedAt":"2026-10-19T18:34:32.720Z","statusComputedAt":"2026-10-19T18:36:35.468Z","reliability30d":{"probes":62,"successRate":1,"p50Ms":49,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":62,"ok":62,"authBoundaryOk":0,"serviceOk":62,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-19T18:34:32.720Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":983,"error":null,"detail":{"name":"HourProof","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":2}},{"at":"2026-10-19T12:31:36.146Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":65,"error":null,"detail":{"name":"HourProof","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":2}},{"at":"2026-10-19T06:27:59.891Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":17,"error":null,"detail":{"name":"HourProof","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":2}},{"at":"2026-10-19T00:34:41.508Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":33,"error":null,"detail":{"name":"HourProof","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":2}},{"at":"2026-10-18T18:28:43.425Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":37,"error":null,"detail":{"name":"HourProof","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":2}},{"at":"2026-10-18T12:28:41.983Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":40,"error":null,"detail":{"name":"HourProof","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":2}},{"at":"2026-10-18T06:27:45.448Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":45,"error":null,"detail":{"name":"HourProof","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":2}},{"at":"2026-10-18T00:30:58.381Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":28,"error":null,"detail":{"name":"HourProof","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":2}},{"at":"2026-10-17T18:25:28.221Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":90,"error":null,"detail":{"name":"HourProof","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":2}},{"at":"2026-10-17T11:22:00.474Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":36,"error":null,"detail":{"name":"HourProof","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":2}}],"tools":null,"package":null,"toolSurface":null,"endpointFacts":[{"id":"ep_wbztnteqb3pc","url":"https://hourproof.rowb.app","type":"a2a","factsCheckedAt":"2026-10-17T05:23:05.298Z","auth":null,"tls":{"observedAt":"2026-10-17T05:23:05.311Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"rowb.app","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-28T15:45:35.000Z","validTo":"2026-12-27T16:45:30.000Z","daysToExpiry":68,"sanCount":3,"fingerprint256":"E6:B2:83:AA:DE:CC:6D:59:4A:6D:EA:25:57:E9:21:A4:81:EC:12:E6:CF:9A:BC:57:FD:9E:97:68:2C:0A:4A:62"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"a2a_card","key":"https://hourproof.rowb.app/.well-known/agent-card.json","url":"https://hourproof.rowb.app/.well-known/agent-card.json","firstSeenAt":"2026-10-03T06:19:48.471Z","fetchedAt":"2026-10-17T08:20:27.274Z","normalizedAt":"2026-10-17T08:20:27.274Z"}]},"firstSeenAt":"2026-10-03T06:19:48.471Z","updatedAt":"2026-10-03T06:19:50.587Z"}