Opus finding
Ad-set log line prints empty parent name when campaignId was supplied directly
- scripts/postprocess-admanage-create.sh:128
When an ad set's payload has a real campaignId (i.e. it is not the __RESOLVE_FROM_PARENT__ sentinel and parentCampaignConfigName may be empty per the SKILL spec, step 6: 'If the parent campaign was *existing* ..., write the real campaign ID directly and drop the sentinel'), parent_name will be the empty string. The log line will read 'creating ad set 'X' under ...' with a trailing 'under '. Also, the subsequent state append uses `select(.configName == $parent)` with parent_name='' and will silently match no campaign in state, so the ad set succeeds at the API but is NEVER recorded in .admanage-state/campaigns.json. That is a real data-tracking bug (see separate finding), but the misleading log itself is also a maintainability issue.
Recommendation
Derive parent_name for logging from the resolved campaign_id (reverse lookup in NAME_TO_ID or state) when the payload supplies campaignId directly, or fall back to a literal string like '(existing campaign $campaign_id_in_payload)'.