Skip to content

RFC: wire FrequencyCapScope through to FrequencyCap #4240

@bokelley

Description

@bokelley

Background

adcp-client-python 4.5.0 ships an unused FrequencyCapScope enum at enums/frequency_cap_scope.py:

```python
class FrequencyCapScope(str, Enum):
package = "package"
```

The enum exists but core/frequency_cap.json does not have a scope field that uses it. Looks like a partially-landed proposal.

Proposed change

Add scope to FrequencyCap:

```json
{
"scope": {
"$ref": "/schemas/enums/frequency_cap_scope.json",
"default": "media_buy",
"description": "Apply at media buy or package level"
}
}
```

The enum should likely also include media_buy (currently only has package) — adapter implementations distinguish between buy-level and package-level frequency capping.

Use case

salesagent carries FrequencyCap.scope as a Literal['media_buy', 'package'] extension. GAM and Mock adapters use it to pick where to apply the cap (line item vs. order). Filed as part of cleanup PR bokelley/salesagent#208.

Migration path: salesagent will move to ext.salesagent.scope until this lands.

Metadata

Metadata

Assignees

No one assigned

    Labels

    claude-triagedIssue has been triaged by the Claude Code triage routine. Remove to re-triage.rfcProtocol change — auto-adds to roadmap boardschemaJSON Schema source-of-truth: definitions, codegen artifacts, validation, hygiene

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions