Skip to content

Polling errors: distinguish user_unreachable (terminal) from interaction_required (non-terminal) #36

@dickhardt

Description

@dickhardt

Summary

interaction_required and user_unreachable are two distinct conditions and should be modeled distinctly in the spec's polling/terminal error table.

The two conditions

  • interaction_required — returned in a 202, non-terminal. The PS needs the agent to direct the user somewhere (URL + code). Polling continues.
  • user_unreachableterminal error. The PS has no channel to the user and the agent did not declare interaction capability, so there is no way to reach the user at all.

State of the spec

Hellō's current behavior — returning user_unreachable on the missing-capabilities case — is correct. What is missing is user_unreachable itself in the spec's polling/terminal error table.

Proposed change (target: -02)

Add user_unreachable to the polling/terminal error table as a terminal error, with the trigger condition "PS has no channel to the user and the agent did not declare interaction capability." Keep interaction_required as the non-terminal 202 path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions