Commit 36b3862
fix(flows): scope the no-echo rule to values, keep the per-encounter no-op
Three points from review, all measured first:
- The comment justifying position-over-step-id claimed nothing echoed a
nested caller key. Field names do: step_values.<step>.<field> goes into
ignored_config_keys, which _unconsumed_reconfigure_keys unions into the
reconfigure abort error — the same logged path. That is kept, because
naming the field is the whole diagnostic for a typo and a name is not the
secret a value is, so the comment is scoped to values instead.
- An empty object INSIDE a longer list is a capability, not a mistake: it
means 'leave this encounter as it would be without the directive', which
nothing else expresses — omitting the step affects every encounter, and
{'field': None} is an explicit clear. Documented in the validator
docstring and pinned by a test; entries that apply nothing anywhere are
still rejected.
- context={} was a no-op (create_error_response gates on truthiness) and
the guard reduced to . Both simplified.
Verified live on a real workday options flow before fixing: the [{}, ...]
shape is accepted, the empty entry is a genuine no-op, and the tail is
reported.
Found by Patch76 review on #2256.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012d29UJTiH4Uy2Pm37SBPtr1 parent 2e42bfb commit 36b3862
2 files changed
Lines changed: 60 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
852 | 852 | | |
853 | 853 | | |
854 | 854 | | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
855 | 858 | | |
856 | 859 | | |
857 | 860 | | |
| |||
883 | 886 | | |
884 | 887 | | |
885 | 888 | | |
886 | | - | |
887 | | - | |
888 | | - | |
889 | | - | |
890 | | - | |
891 | | - | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
892 | 900 | | |
893 | 901 | | |
894 | 902 | | |
| |||
908 | 916 | | |
909 | 917 | | |
910 | 918 | | |
911 | | - | |
912 | | - | |
913 | | - | |
914 | | - | |
915 | | - | |
916 | | - | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
917 | 931 | | |
918 | 932 | | |
919 | 933 | | |
| |||
931 | 945 | | |
932 | 946 | | |
933 | 947 | | |
934 | | - | |
935 | 948 | | |
936 | 949 | | |
937 | 950 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1134 | 1134 | | |
1135 | 1135 | | |
1136 | 1136 | | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
1137 | 1171 | | |
1138 | 1172 | | |
1139 | 1173 | | |
| |||
0 commit comments