Repository navigation
v0.2.3 — the plugin marks its own use, and the listing stops promising an approval it cannot enforce
The skills and commands now call get_org_context with source: "claude-plugin". From v2.29.0, AdCopilot uses it to record per workspace that the plugin, not a hand-added connector, is in use. A call without it behaves as before. In the eval runs on this head, every one of the 25 get_org_context calls carried the marker, and a new grader (marks-plugin-use) now fails any case that drops it.
The listing and the README no longer say "every change is proposed and waits for your approval". AdCopilot does not enforce that. Your AI client asks before each change while the write tools stay on Needs approval (in Claude Code: while it still prompts for them). AdCopilot can never delete, and a new campaign is still built paused.
On claude.ai, a connector added by hand before the plugin is the same connector, not a shadowed second copy. The README and /adcopilot:setup now say so, and the install steps give the directory link and Customize → Plugins → AdCopilot → Add → Connectors → Connect. The Claude Code shadowing note and its fix are unchanged.
RELEASE GATE, as run:
-
AdCopilot v2.29.0, connector tools revision 782ec74d. The eval snapshot is 0066a60e, apart from
get_org_context, which is 782ec74d. -
Claude Code 2.1.288. Agent claude-opus-5-5, judge
sonnet(claude-sonnet-5-5). -
Both
--strictvalidations pass, and gitleaks finds nothing. -
Suite, full run on the same plugin text (84efc09): 8 of 12 cases at 0.8, overall 0.851. v0.2.2 in the same build: 7 of 12, overall 0.854. No case regressed in a way a re-run reproduces. The cases still under 0.8, audit-stale-tools, connect-link-order and measure-teaches, were under it on v0.2.2 too.
-
Tools-only ablation on c9d31b5: red on one case, published by the founder's decision on 2026-10-04.
with skill tools only deltalaunch-manual-settings 1.000 0.632 +0.368
launch-unserved-campaign 0.917 0.625 +0.292
connect-teaches 0.867 0.600 +0.267
measure-teaches 0.810 0.619 +0.190
connect-link-order 0.778 0.667 +0.111
connect-unknown-product 0.882 0.765 +0.118 (6 runs; 0.765/0.843 in the 3-run pass)
measure-import-trap 0.786 0.750 +0.036 (6 runs) RED: below +0.05adcopilot-launch: mean +0.330, min +0.292
adcopilot-connect: mean +0.189, min +0.111 (on the 6-run re-run of connect-unknown-product)
adcopilot-measure: mean +0.113, min +0.036, red
measure-import-trap fails one rubric, not-done-one-primary-with-the-path. On reading, the six failing replies meet all five of its conditions:
- not done, because the four automatic events are Primary;
- the bidding consequence;
- the Goals → Conversions path to Secondary;
- sign_up as the only Primary;
- a read-back to confirm.
The judge's three votes split on four of the six. v0.2.2 also fails that rubric in 2 of 6 runs, given the same live get_org_context description. Tuning the measure skill against it is a follow-up, not part of this tag.