{"name": "metadata-any","note": "task_class 'payment' is one of the values listed in the rule, so metadata any matches.","request": {"model": "user.Conditions-Metadata","messages": [{"role": "user","content": "how do I return this order?"}],"metadata": {"task_class": "payment","consent": "granted"}},"decision": {"version": "1","route_to": "local","matched_rule": "sensitive-task-stays-local","default_used": false,"outputs": {}}}
{"name": "metadata-equals","note": "consent is exactly 'denied', so metadata equals matches.","request": {"model": "user.Conditions-Metadata","messages": [{"role": "user","content": "summarize this"}],"metadata": {"task_class": "chitchat","consent": "denied"}},"decision": {"version": "1","route_to": "local","matched_rule": "sensitive-task-stays-local","default_used": false,"outputs": {}}}
{"name": "metadata-equals-no-match","note": "consent 'denieddd' is not exactly 'denied', so metadata equals does not match (it is exact, not substring/prefix); the request falls through to default (cloud).","request": {"model": "user.Conditions-Metadata","messages": [{"role": "user","content": "summarize this"}],"metadata": {"task_class": "chitchat","consent": "denieddd"}},"decision": {"version": "1","route_to": "cloud","matched_rule": "","default_used": true,"outputs": {}}}
{"name": "metadata-exists-false","note": "No consent key is supplied, so metadata exists:false matches.","request": {"model": "user.Conditions-Metadata","messages": [{"role": "user","content": "summarize this"}],"metadata": {"task_class": "chitchat"}},"decision": {"version": "1","route_to": "local","matched_rule": "no-consent-recorded-stays-local","default_used": false,"outputs": {}}}
{"name": "metadata-whitespace-counts-absent","note": "A whitespace-only consent value counts as absent, so exists:false still matches.","request": {"model": "user.Conditions-Metadata","messages": [{"role": "user","content": "summarize this"}],"metadata": {"task_class": "chitchat","consent": "   "}},"decision": {"version": "1","route_to": "local","matched_rule": "no-consent-recorded-stays-local","default_used": false,"outputs": {}}}
{"name": "metadata-any-comma-separated","note": "The comma value 'billing, payment' is split into tokens; 'payment' is listed, so metadata any matches.","request": {"model": "user.Conditions-Metadata","messages": [{"role": "user","content": "process this"}],"metadata": {"task_class": "billing, payment","consent": "granted"}},"decision": {"version": "1","route_to": "local","matched_rule": "sensitive-task-stays-local","default_used": false,"outputs": {}}}
{"name": "metadata-equals-case-sensitive","note": "metadata equals is case-sensitive: 'DENIED' does not equal 'denied', so the rule misses and it falls through to default (cloud).","request": {"model": "user.Conditions-Metadata","messages": [{"role": "user","content": "summarize this"}],"metadata": {"task_class": "chitchat","consent": "DENIED"}},"decision": {"version": "1","route_to": "cloud","matched_rule": "","default_used": true,"outputs": {}}}
{"name": "metadata-exists-true","note": "A present, non-blank region value makes exists:true match.","request": {"model": "user.Conditions-Metadata","messages": [{"role": "user","content": "summarize this"}],"metadata": {"task_class": "chitchat","consent": "granted","region": "eu-west"}},"decision": {"version": "1","route_to": "local","matched_rule": "region-recorded-stays-local","default_used": false,"outputs": {}}}
{"name": "metadata-trace","note": "route_trace:true records the metadata leaf under condition 'metadata'; the rule's any short-circuits on the first (matching) child, so only one entry is traced.","request": {"model": "user.Conditions-Metadata","route_trace": true,"messages": [{"role": "user","content": "how do I return this order?"}],"metadata": {"task_class": "payment","consent": "granted"}},"decision": {"version": "1","route_to": "local","matched_rule": "sensitive-task-stays-local","default_used": false,"outputs": {},"trace": [{"condition": "metadata","result": true}]}}
{"name": "metadata-equals-blank-never-matches","note": "A blank value counts as absent, so equals:\"\" can never match. 'note' is set to the empty string — the exact value the blank-equals-never-matches rule (route local) compares against — yet that rule does not fire, and the request falls to default (cloud). consent:'granted' is set so it also misses the consent-exists-false rule.","request": {"model": "user.Conditions-Metadata","messages": [{"role": "user","content": "summarize this"}],"metadata": {"note": "","consent": "granted"}},"decision": {"version": "1","route_to": "cloud","matched_rule": "","default_used": true,"outputs": {}}}
