Description
Python declarative EditTableV2 treats a falsey value in its documented item field as though the field were missing. For example, adding item: false appends None instead of False. The same truthiness fallback affects other valid falsey list items such as 0, an empty string, and empty containers.
Expected: the explicit item value is added to the target table. The legacy value field should only be used when item is missing or None.
Code Sample
state.set("Local.items", [True])
executor = EditTableV2Executor({
"kind": "EditTableV2",
"table": "Local.items",
"operation": "add",
"item": False,
})
await executor.handle_action(ActionTrigger(), context)
assert state.get("Local.items") == [True, False]
Error Messages / Stack Traces
assert [True, None] == [True, False]
At index 1 diff: None != False
Package Versions
agent-framework-declarative at upstream main commit 33bc9c063c42d457fff5b1017c765e271474cc99.
Python Version
Python 3.13.5
Additional Context
The cause is self._action_def.get("item") or self._action_def.get("value") in EditTableV2Executor. Targeted issue/PR searches found only .NET EditTableV2 work involving code generation, table-state mutation, and YAML fixtures; none cover this Python falsey-item behavior.
Description
Python declarative
EditTableV2treats a falsey value in its documenteditemfield as though the field were missing. For example, addingitem: falseappendsNoneinstead ofFalse. The same truthiness fallback affects other valid falsey list items such as0, an empty string, and empty containers.Expected: the explicit
itemvalue is added to the target table. The legacyvaluefield should only be used whenitemis missing orNone.Code Sample
Error Messages / Stack Traces
Package Versions
agent-framework-declarativeat upstreammaincommit33bc9c063c42d457fff5b1017c765e271474cc99.Python Version
Python 3.13.5
Additional Context
The cause is
self._action_def.get("item") or self._action_def.get("value")inEditTableV2Executor. Targeted issue/PR searches found only .NETEditTableV2work involving code generation, table-state mutation, and YAML fixtures; none cover this Python falsey-item behavior.