Skip to content

fix(server): treat a declared route as body-independent - #649

Merged
divshekhar merged 2 commits into
reticlehq:mainfrom
kushals256:fix/outcome-unread-route
Sep 6, 2026
Merged

fix(server): treat a declared route as body-independent#649
divshekhar merged 2 commits into
reticlehq:mainfrom
kushals256:fix/outcome-unread-route

Conversation

@kushals256

@kushals256 kushals256 commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • declaresBodyIndependentChannel already stood down outcome_unread for a declared string, store path, or signal. A route the caller named before the action, or an element located by role / name / testid, still fell through to default: false, so a watched landing on /lobby graded unknown solely because the write's body was not captured.
  • Those locators are body-independent by construction, the same argument the existing text and state cases rest on. Conservatism is unchanged: top level and allOf only, never an anyOf branch, never an absent predicate.
  • Closes [agent] outcome_unread still fires when the declared consequence was a route change or an element matched by role/name/testid #507.

Test plan

  • declaresBodyIndependentChannel: route, role+name, testid, and route-inside-allOf are true
  • Absent element with role+name stays false; net-only and anyOf stay false
  • Existing verified-declared and act/assert verdict-parity tests still green
  • Format, lint, typecheck on @reticlehq/server

A caller who named a route change, or an element by role/name/testid,
watched it hold, and still got unknown/outcome_unread because the write's
body was not captured. Those locators do not depend on the body; the
unread clause is only for when the body is the remaining channel.

Signed-off-by: Kushal S <skushal.mys@gmail.com>
@kushals256
kushals256 force-pushed the fix/outcome-unread-route branch from 73a0092 to 0ca18ca Compare September 1, 2026 08:10
@divshekhar
divshekhar merged commit fe03faf into reticlehq:main Sep 6, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[agent] outcome_unread still fires when the declared consequence was a route change or an element matched by role/name/testid

2 participants