Context
PgBuyerAgentRegistry (and the v3 ref seller's TenantScopedBuyerAgentRegistry which delegates to it) hits the database on every dispatch with:
- no in-process cache
- no rate limit
- no audit emission on resolve outcomes
Production sellers will eat unnecessary DB load, and the lookup endpoint becomes a credential-stuffing oracle for an attacker who can probe it.
Refs:
src/adcp/decisioning/pg/buyer_agent_registry.py
examples/v3_reference_seller/src/buyer_registry.py
Acceptance Criteria
Context
PgBuyerAgentRegistry(and the v3 ref seller'sTenantScopedBuyerAgentRegistrywhich delegates to it) hits the database on every dispatch with:Production sellers will eat unnecessary DB load, and the lookup endpoint becomes a credential-stuffing oracle for an attacker who can probe it.
Refs:
src/adcp/decisioning/pg/buyer_agent_registry.pyexamples/v3_reference_seller/src/buyer_registry.pyAcceptance Criteria