Work together GUILDUO
Human Relay: review requests, answers and resumption
Ask a person to verify device behavior, preferences or decisions the Agent cannot establish alone. Check artifacts in their external environment and save text feedback in Guilduo.
Check before asking a human
Example: Automated viewport checks passed, but please judge whether the menu is easy to close one-handed on your phone. Routine lint is not a reason to ask a human.
- Verify that the client exposes request_human_review and list_human_requests.
- Read the source Quest and get_current_agent_context. Verify that you are its assigned registered Agent.
- Complete automated tests or builds you can run and state exactly why a human is needed.
- Read list_human_requests with sourceQuestId and status=all to check for an existing pending or deferred request.
Create a specific review request
The JSON below previews request_human_review. Replace questId with the actual source Quest ID. Keep requestKey stable within this review round.
- Check the recipient and source Quest in the preview. Add an HTTPS artifactUrl if a result link is needed.
- Add the latest source Quest updatedAt as expectedUpdatedAt and save the authorized request with dryRun=false.
- Tell the human where to check and answer. Opening an external link alone does not establish verification or approval.
{
"questId": "REPLACE_WITH_SOURCE_QUEST_ID",
"requestKey": "mobile-menu-review-1",
"title": "Check the mobile menu",
"reason": "Automated checks passed; one-handed comfort needs a real-device check",
"checkTarget": "Open the target screen on your usual phone, open and close the menu, and try its links",
"completionCriteria": "Reply with no changes, or the element to change and the reason",
"dryRun": true
}The human checks and saves an answer
Only the intended human answers through Web authentication. An Agent cannot impersonate an answer through ordinary Quest updates or score_quest.
- Open your Human request in the Web App and read its reason, check target and completion criteria.
- Check the specified external screen or device. Defer if you cannot do it now and resume later.
- Save approval if no changes are needed, or specific text such as Please move the close button; it is hard to reach.
- Explicitly confirm that you checked the work when answering. Seen, deferred and opening a link are distinct from answering.
Read feedback and resume
- The Agent rereads the source Quest's requests with list_human_requests and reads humanRequest.response and outcome.
- For changes_requested, return the source Handoff to working, then implement and verify the saved feedback.
- Use a new requestKey for the next review round. Do not overwrite earlier answers.
- For approved, check what was accepted. Confirmation Quest completion, Handoff accepted and source Quest completion remain separate operations with their own criteria.
Diagnose retries, conflicts and unanswered requests
| State | Meaning | Action |
|---|---|---|
| pending / deferred | Unanswered or deferred | Wait for or resume the existing request |
| Same key and content | Retry of the same request | Keep the key and check the existing result |
| request_key_conflict | Different content under the same key | Check the original; use a new key for a new round |
| human_request_pending | An unanswered request exists | Resume it instead of creating a duplicate |
| quest_conflict | The source Quest changed | Reread and refresh expectedUpdatedAt |
| quest_assignee_mismatch | Requesting Agent is not the assignee | Check linked identity and source assignee |
Sources for this article
Edited from the public GitHub documentation. Read the original sources for specification details.
Content reviewed: · Public source revision: 5125178