Repository navigation
fix(media-buyer): close the last no-approval execution loophole - #11
Merged
Merged
Conversation
…mmend-then-execute The media-buyer agent's hard rules told it to run the entire spend pipeline (create_campaign_plan -> upsert_plan_entity -> execute_campaign_plan -> enable_campaign) in a single turn without pausing for approval — contradicting the universal approval gate restored in #8. Now it proposes the plan and waits for an explicit yes before any create/enable/budget/launch/pause call, matching scripts/session-context.sh. Reads stay free; the Created != live and conservative-budget bullets are untouched. Swept agents/*.md and context/*.md for other single-turn/no-approval execution language — media-buyer.md was the only remaining instance. Co-authored-by: Joel Horwitz <joel@synterai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
PR #8 restored universal approval gating in
scripts/session-context.sh,output-styles/synter.md, andcontext/brand-and-safety.md— but flagged one adjacent finding it deliberately left out of scope:agents/media-buyer.md's "Direct Single-Turn Execution Mode" hard rule still told the media-buyer agent to run the entire spend pipeline (create_campaign_plan→upsert_plan_entity→execute_campaign_plan→enable_campaign) in one turn "without pausing for multi-turn confirmations or approvals." That's a direct contradiction of the locked decision — universal approval gating, every tier, no exceptions — for the one agent that actually spends money.What
agents/media-buyer.md— replaced the "Direct Single-Turn Execution Mode" bullet with recommend-then-execute language consistent withscripts/session-context.sh: propose the plan (platform, budget, audience, creative), show it, wait for an explicit yes before any create/enable/budget/launch/pause call. Reads stay free. The "Created ≠ live and spending" and conservative-budget bullets are untouched.agents/*.mdandcontext/*.mdfor any other single-turn/no-approval execution language —media-buyer.mdwas the only remaining instance.How to Review
Single-bullet diff in
agents/media-buyer.md. Verify the grep sweep below shows no remaining no-approval execution language anywhere in the repo.Test Evidence
Human author: Joel Horwitz (joel@synterai.com)
🔗 Obvious Project · 🧵 Obvious Thread