Skip to content

shopping executor: validate the cart quantity as an argument, not an outage - #8

Open
vishkaty wants to merge 1 commit into
anthropics:mainfrom
vishkaty:pr/shopping-executor-quantity-argument
Open

shopping executor: validate the cart quantity as an argument, not an outage#8
vishkaty wants to merge 1 commit into
anthropics:mainfrom
vishkaty:pr/shopping-executor-quantity-argument

Conversation

@vishkaty

Copy link
Copy Markdown

_add_to_cart and _update_cart_item did int(tool_input.get("quantity") or 1). A
string such as "abc" or a list raised inside the handler, so the model was told
add_to_cart was temporarily unavailable and the log carried a traceback, while a
float was truncated and None became 1 silently.

The quantity now goes through parse_argument like every other model argument
(CartQuantity), so a value the schema would reject is reported as invalid
arguments naming the field, a numeric string is coerced, and None still means one.
Found by a conformance statement over the executor (EX-S-12).

Found by running a conformance statement against the reference at fd4d592; the test in this change fails without the fix and passes with it. The full suite, ruff check, ruff format --check and scripts/check.py are clean on this branch.

…outage

`_add_to_cart` and `_update_cart_item` did `int(tool_input.get("quantity") or 1)`. A
string such as "abc" or a list raised inside the handler, so the model was told
add_to_cart was temporarily unavailable and the log carried a traceback, while a
float was truncated and None became 1 silently.

The quantity now goes through `parse_argument` like every other model argument
(`CartQuantity`), so a value the schema would reject is reported as invalid
arguments naming the field, a numeric string is coerced, and None still means one.
Found by a conformance statement over the executor (EX-S-12).
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.

2 participants