v2.1.0 — Verified end-to-end transactions
v2.1.0 — Verified end-to-end transactions, spec-conformant wire, restored capabilities
The buyer agent now completes verified end-to-end deal bookings against the companion Seller Agent — proven on live runs with real LLM reasoning over real HTTP (latest verification: seller-issued deal DEMO-0B90FBE27BC7, matched against scenario expectations).
Breaking change — OpenDirect wire field names
All OpenDirect wire fields now use the published spec's lowercase names: productId→productid, startDate→startdate, endDate→enddate, accountId→accountid, quantity→qty, and enum spellings (Guaranteed→guaranteed, Cancelled→Canceled), among others. Clients using the previous camelCase dialect must update. Python-side field names are unchanged (populate_by_name=True).
New and restored capabilities
- Meta Ads integration — campaign/adset creation (PAUSED) with Meta-issued campaign IDs, reporting endpoints (
GET /reports/{job_id},/meta/campaigns,/meta/report), ported into the v2 service architecture. - Mixpeek contextual enrichment — IAB taxonomy classification client, research tool, and MCP surface (now 43 MCP tools).
- Hardened booking pipeline — research-crew orchestration fixes so recommendations reliably reach the approval gate; execution errors surface in the job record; per-line CPM ceiling enforcement now engages on briefs carrying
kpis.max_cpm_usd; budget-aware approval semantics. - Robust persistence — JSON-safe serialization across all booking state.
Conformance
An executable OpenDirect 2.1 conformance program now measures the wire against the published spec: field-name conformance is at 100% for implemented objects; structural convergence (avails array/envelope forms, additional required endpoints) is scoped and sequenced. Current honest position: built on the OpenDirect 2.1 transaction model with a measured, improving conformance posture.
Documentation
Docs now match the code: pages for removed subsystems pruned, storage/identity/deal-library pages rewritten to current architecture, AI-client setup guides corrected (X-API-Key auth, /mcp/ endpoint, real tool names), all counts aligned to auto-generated inventories (43 tools / 14 endpoints / 38 event types).
Known gaps (tracked, sequenced)
Negotiation is implemented but not yet invoked by the real-mode booking path before walking; avails responses are honest but stateless (no inventory ledger/holds yet); structural spec convergence continues. Test suite: 3319 passed / 0 failed.