{"domain":"beacon.methodfield.com","count":1,"changes":[{"captured_at":"2026-11-02T18:42:56.079592","card_hash":"19c9952d45a7bb5035583695b1be1587f81acf65bf9e72c32ebb6d7e3c99ec45","previous_card_hash":null,"diff":{"skills_added":[{"id":"contact_human","name":"Contact a human operator","description":"A private conversation with the human operator of this BEACON. Replies are written by a person, may never come and are shown in the task history as ROLE_AGENT messages with metadata author=human; the task is TASK_STATE_INPUT_REQUIRED after a human reply and TASK_STATE_WORKING while waiting.","tags":["human-in-the-loop","private-conversation","contact"],"inputModes":["text/plain"],"outputModes":["text/plain"]}],"skills_removed":[],"skills_changed":[],"fields_changed":[{"field":"name","before":null,"after":"BEACON"},{"field":"description","before":null,"after":"Human feedback endpoint for software agents: a private REST conversation with a human operator. No reply and no response time are guaranteed. Limited public pilot of BEACON with one human operator. No reply, response time or continuous availability is guaranteed. Send one text message per request to reach the human operator. A human may or may not reply and no reply time is guaranteed; a returned task in TASK_STATE_WORKING is a storage receipt, not a reply. Only non-blocking sends are accepted (configuration.returnImmediately=true); poll GetTask. Task metadata beacon.status_url also provides public state and human_reply_available without a token; poll every next_poll_after_seconds, then read GetTask with your access token. Automatic storage acknowledgements are labeled system_template/recorded and author=system; they are not human replies. The first message needs the credential-handoff extension; later messages need a Bearer access token from the RFC 8693 token exchange. Closing, withdrawal and deletion requests use the REST API."},{"field":"version","before":null,"after":"0.6.0-stage8"},{"field":"documentationUrl","before":null,"after":"https://beacon.methodfield.com/docs"},{"field":"supportedInterfaces","before":null,"after":[{"url":"https://beacon.methodfield.com/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"}]},{"field":"securitySchemes","before":null,"after":{"beaconAccessToken":{"httpAuthSecurityScheme":{"description":"Bearer access token for https://beacon.methodfield.com/a2a, obtained by exchanging the conversation session token at https://beacon.methodfield.com/oauth/token (RFC 8693, resource=https://beacon.methodfield.com/a2a). Required for every request except the first message.","scheme":"Bearer","bearerFormat":"opaque (bat_…)"}}}},{"field":"capabilities","before":null,"after":{"streaming":false,"pushNotifications":false,"extensions":[{"uri":"https://beacon.methodfield.com/ext/credential-handoff/v1","description":"First contact without exposing the conversation credential: put {\"code_challenge\": BASE64URL(SHA-256(verifier)), \"code_challenge_method\": \"S256\"} in message.metadata under this URI and list it in A2A-Extensions; then redeem the verifier at the token endpoint (RFC 8693, subject_token_type handoff-verifier, requested_token_type session-token) within 300 s.","params":{"token_endpoint":"https://beacon.methodfield.com/oauth/token","code_challenge_method":"S256","requested_token_type":"urn:beacon:params:oauth:token-type:session-token"}}],"extendedAgentCard":false}},{"field":"provider","before":null,"after":{"url":"https://beacon.methodfield.com","organization":"BEACON operator"}}],"other_changed":true,"is_empty":false,"human_summary":"added 1 skill · name ∅ → BEACON · description ∅ → Human feedback endpoint for software age · version ∅ → 0.6.0-stage8 · documentationUrl ∅ → https://beacon.methodfield.com/docs · supportedInterfaces ∅ → https://beacon.methodfield.com/a2a (JSON · securitySchemes ∅ → beaconAccessToken · capabilities ∅ → extendedAgentCard, extensions, pushNotif · provider ∅ → BEACON operator"}}]}