Skip to content

Allow signal-owned platforms to advertise get_signals without activate_signal #787

Description

@bokelley

Summary

The current decisioning platform mapping treats signal-owned the same as signal-marketplace: both require and advertise get_signals plus activate_signal.

For publisher-owned signals that are already usable on the seller platform inventory, activate_signal is the wrong semantic. The seller returns its own first-party signals from get_signals; those signals can only be used on that seller inventory and are already active/usable in later media-buy targeting. There is no buyer-triggered destination provisioning step.

Current SDK behavior

  • adcp.decisioning.handler.SPECIALISM_TO_ADVERTISED_TOOLS["signal-owned"] includes activate_signal.
  • adcp.decisioning.dispatch.REQUIRED_METHODS_PER_SPECIALISM["signal-owned"] requires activate_signal.
  • This forces owned-signal sellers either to expose a no-op/fictional activation API or avoid the signal-owned specialism.

Expected behavior

One of these would work:

  1. Treat signal-owned as discovery-only by default: advertise/require get_signals, not activate_signal.
  2. Add a capability/feature flag that distinguishes "owned signals already usable on this inventory" from "signals requiring destination provisioning".
  3. Split the specialisms so marketplace/provisioned signals continue to require activate_signal, while seller-local owned signals do not.

signals.features.catalog_signals=True plus get_signals is sufficient for the discovery/catalog use case.

Observed in

  • package: adcp==5.6.0

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions