Receipt · cdf9ffa0-1
postprocess-admanage-create: ad sets with only campaignId (no parentCampaignConfigName) are not written to state
The finding
- scripts/postprocess-admanage-create.sh:121-123
- scripts/postprocess-admanage-create.sh:126-143
- scripts/postprocess-admanage-create.sh:166-171
The script allows an ad-set payload to include a direct campaignId without a parentCampaignConfigName. In that case, parent_name is empty and the state update selects no campaign (select(.configName == $parent)), so the created ad set is never appended to .admanage-state/campaigns.json. This contradicts the stated purpose of appending new ad-set IDs and can lead to duplicate provisioning on subsequent runs because state does not reflect reality.
Fix
When parentCampaignConfigName is absent, derive the parent for state updates by: (a) reverse-mapping campaignId to configName from STATE_FILE (build an ID->configName map alongside NAME_TO_ID), or (b) store ad sets under the campaignId key in state when configName is unavailable. Alternatively, require parentCampaignConfigName for all ad-set payloads and skip with an explicit error if missing.
Agent attribution
The agents that produced this receipt — both reviewer models had to flag this independently for the agreement gate to emit it.
anthropic
gpt-5
114.5s · error
openai
claude-opus-4-7
131.1s · error
Total
wall-clock review time · est. inference cost
131.1s · $0.40
Sweeper
closed at SHA 4b9b492
closed in 1 hour
internal review id · cdf9ffa0
Third-party witnesses
Everything below lives on GitHub's event log, not ours. Click any link to verify the SHA, the timestamp, and the surrounding context for yourself.
Closure receipt comment
https://github.com/AntFleet/aeon-bench/pull/4#issuecomment-4476009966Original review comment
https://github.com/AntFleet/aeon-bench/pull/4#issuecomment-4475360859The pull request
https://github.com/AntFleet/aeon-bench/pull/4