{"name": "min_chars-inclusive-boundary","note": "Input is exactly 10 bytes; min_chars:10 is inclusive (>=), so it matches.","request": {"model": "user.Conditions-CharBounds","messages": [{"role": "user","content": "0123456789"}]},"decision": {"version": "1","route_to": "cloud","matched_rule": "min_chars-rule","default_used": false,"outputs": {}}}
{"name": "max_chars-inclusive-boundary","note": "Input is exactly 6 bytes; max_chars:6 is inclusive (<=), so it matches.","request": {"model": "user.Conditions-CharBounds","messages": [{"role": "user","content": "012345"}]},"decision": {"version": "1","route_to": "cloud","matched_rule": "max_chars-rule","default_used": false,"outputs": {}}}
{"name": "between-bounds-default","note": "7 bytes is above max_chars:6 and below min_chars:10, so no rule matches and it falls through to default.","request": {"model": "user.Conditions-CharBounds","messages": [{"role": "user","content": "0123456"}]},"decision": {"version": "1","route_to": "local","matched_rule": "","default_used": true,"outputs": {}}}
{"name": "max_chars-utf8-byte-count","note": "Each 'é' is 1 character but 2 UTF-8 bytes, so 'éééé' is 4 characters / 8 bytes. 8 bytes misses max_chars:6 -> default (local); counting characters (4 <= 6) would match -> cloud. So routing to local proves length is measured in bytes, not characters.","request": {"model": "user.Conditions-CharBounds","messages": [{"role": "user","content": "éééé"}]},"decision": {"version": "1","route_to": "local","matched_rule": "","default_used": true,"outputs": {}}}
{"name": "min_chars-trace","note": "route_trace:true records the min_chars leaf under condition 'min_chars'.","request": {"model": "user.Conditions-CharBounds","route_trace": true,"messages": [{"role": "user","content": "0123456789"}]},"decision": {"version": "1","route_to": "cloud","matched_rule": "min_chars-rule","default_used": false,"outputs": {},"trace": [{"condition": "min_chars","result": true}]}}
{"name": "max_chars-trace","note": "min_chars-rule misses first (traced false), then max_chars-rule matches under condition 'max_chars'.","request": {"model": "user.Conditions-CharBounds","route_trace": true,"messages": [{"role": "user","content": "012345"}]},"decision": {"version": "1","route_to": "cloud","matched_rule": "max_chars-rule","default_used": false,"outputs": {},"trace": [{"condition": "min_chars","result": false},{"condition": "max_chars","result": true}]}}
