Commit 1dfdcd5
feat(decisioning): property_list resolver + intersection helper for get_products (#500)
* feat(decisioning): property_list resolver + intersection helper for get_products
Closes #494
Adds capability-gated framework support for buyer-side property_list
filtering in get_products, mirroring the webhook_emit post-adapter
pattern. When Features(property_list_filtering=True) is declared and a
PropertyListFetcher is wired, the framework fetches the buyer's
authorized property IDs and filters the platform's product list
post-adapter, setting response.property_list_applied=True.
https://claude.ai/code/session_01GqPV3vkvFdC6DesCzwKFNQ
* fixup(decisioning/property_list): address pre-PR review blockers
- Remove {exc} interpolation from wire error message to prevent
auth_token / credential leakage through upstream exception reprs
- Extract property_list_capability_enabled() helper to eliminate
duplicate getattr chains in handler.py and serve.py
- Export validate_property_list_config and property_list_capability_enabled
from adcp.decisioning public __all__ so self-managed adopters can
call the boot guard themselves
- Add two tests for by_id with empty property_ids (strict + permissive)
confirming the vacuous-subset guard works
https://claude.ai/code/session_01GqPV3vkvFdC6DesCzwKFNQ
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent 524c608 commit 1dfdcd5
5 files changed
Lines changed: 863 additions & 0 deletions
File tree
- src/adcp/decisioning
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
117 | 124 | | |
118 | 125 | | |
119 | 126 | | |
| |||
298 | 305 | | |
299 | 306 | | |
300 | 307 | | |
| 308 | + | |
301 | 309 | | |
302 | 310 | | |
| 311 | + | |
303 | 312 | | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
304 | 316 | | |
305 | 317 | | |
306 | 318 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
48 | 52 | | |
49 | 53 | | |
50 | 54 | | |
| |||
151 | 155 | | |
152 | 156 | | |
153 | 157 | | |
| 158 | + | |
154 | 159 | | |
155 | 160 | | |
156 | 161 | | |
| |||
696 | 701 | | |
697 | 702 | | |
698 | 703 | | |
| 704 | + | |
699 | 705 | | |
700 | 706 | | |
701 | 707 | | |
| |||
708 | 714 | | |
709 | 715 | | |
710 | 716 | | |
| 717 | + | |
711 | 718 | | |
712 | 719 | | |
713 | 720 | | |
| |||
1076 | 1083 | | |
1077 | 1084 | | |
1078 | 1085 | | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
1079 | 1096 | | |
1080 | 1097 | | |
1081 | 1098 | | |
| |||
0 commit comments