Skip to content

Commit 6540309

Browse files
authored
Merge pull request #71 from IABTechLab/fix/progress-generator-v3
Fix PROGRESS.md generator: epic-driven discovery, no collisions
2 parents 3d54669 + d9e9695 commit 6540309

5 files changed

Lines changed: 1058 additions & 204 deletions

File tree

.beads/PROGRESS.md

Lines changed: 56 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Buyer Agent V2 — Progress
22

3-
**56 open** | **0 in progress** | **17 closed** | **30 blocked** | 73 total
3+
**39 open** | **0 in progress** | **51 closed** | **9 blocked** | 90 total
44

5-
`[█████░░░░░░░░░░░░░░░] 23% (17/73)`
5+
`[███████████░░░░░░░░░] 57% (51/90)`
66

77
## Phase 1 — Seller Interoperability
88

@@ -23,11 +23,23 @@
2323

2424
| | ID | Task | Priority | Blockers | Done |
2525
|---|---|---|---|---|---|
26-
| \[ ] | buyer-8ih | 2A: Multi-Seller Deal Orchestration | P2 || |
27-
| \[ ] | buyer-u8l | 2B: Campaign Brief to Deal Pipeline | P2 || |
28-
| \[!] | buyer-9zz | 2C: Budget Pacing & Reallocation | P2 | buyer-u8l | |
29-
| \[ ] | buyer-3aa | 2D: Creative Management Sub-Agent | P2 || |
30-
| \[!] | buyer-7m8 | 2E: Innovid & Flashtalking Creative Integration | P2 | buyer-3aa | |
26+
| \[x] | buyer-8ih | 2A: Multi-Seller Deal Orchestration | P2 || 2026-03-19 |
27+
| \[x] | buyer-u8l | 2B: Campaign Brief to Deal Pipeline | P2 || 2026-03-19 |
28+
| \[x] | buyer-9zz | 2C: Budget Pacing & Reallocation | P2 || 2026-03-19 |
29+
| \[x] | buyer-3aa | 2D: Creative Management Sub-Agent | P2 || 2026-03-19 |
30+
| \[x] | buyer-7m8 | 2E: Innovid & Flashtalking Creative Integration | P2 || 2026-03-19 |
31+
| \[x] | buyer-uoz | Ad server integration record storage | P1 || 2026-03-19 |
32+
| \[x] | buyer-78z | Add READY state to campaign state machine | P2 || 2026-03-19 |
33+
| \[x] | buyer-80k | Campaign brief JSON schema | P1 || 2026-03-19 |
34+
| \[x] | buyer-80o | Campaign data model (schema) | P1 || 2026-03-19 |
35+
| \[x] | buyer-ppi | Campaign event types | P1 || 2026-03-19 |
36+
| \[x] | buyer-f58 | Campaign reporting tools | P1 || 2026-03-19 |
37+
| \[x] | buyer-0u9 | Campaign state machine | P1 || 2026-03-19 |
38+
| \[x] | buyer-89g | Creative asset storage | P1 || 2026-03-19 |
39+
| \[x] | buyer-gb2 | Cross-track integration test | P1 || 2026-03-19 |
40+
| \[x] | buyer-2qs | Human approval gates / event bus | P1 || 2026-03-19 |
41+
| \[x] | buyer-lna | Pacing snapshot storage | P1 || 2026-03-19 |
42+
| \[x] | buyer-lae | Quote normalization logic | P1 || 2026-03-19 |
3143

3244
## Phase 3 — Platform & Infrastructure
3345

@@ -43,7 +55,9 @@
4355
| \[!] | buyer-1o3 | 3F: Deployment & Operations Guide | P3 | buyer-j95 | |
4456
| \[ ] | buyer-j95 | 3G: Infrastructure-as-Code Deployment (CloudFormation/Terraform) | P3 || |
4557

46-
## DealJockey Phase 1 — MVP DealJockey
58+
## Phase 4 — DealJockey — Deal Portfolio Management
59+
60+
### Phase 4A — MVP DealJockey
4761

4862
| | ID | Task | Priority | Blockers | Done |
4963
|---|---|---|---|---|---|
@@ -55,37 +69,37 @@
5569
| \[x] | buyer-te6b.1.11 | Extend DealStore schema | P1 || 2026-03-18 |
5670
| \[x] | buyer-te6b.1.3 | Implement CSV deal import parser | P1 || 2026-03-18 |
5771

58-
## DealJockey Phase 2 — Templates & Seller Integration
72+
### Phase 4B — Templates & Seller Integration
5973

6074
| | ID | Task | Priority | Blockers | Done |
6175
|---|---|---|---|---|---|
62-
| \[ ] | buyer-te6b.1.6 | Organize internal deal-booking modules (consolidate per ar-fad) | P1 || |
63-
| \[ ] | buyer-te6b.1.1 | Write DealJockey seller API contract (supply-chain, from-template, bulk, performance) | P1 || |
64-
| \[ ] | buyer-te6b.1.13 | [buyer-dj5] Deal template and supply path template CRUD | P1 || |
65-
| \[!] | buyer-te6b.2.7 | [buyer-dj6] AnalyzeSupplyPathTool | P2 | buyer-te6b.1.13 | |
66-
| \[!] | buyer-te6b.2.8 | [buyer-dj7] InstantiateDealFromTemplateTool | P2 | buyer-te6b.1.13, buyer-te6b.1.6 | |
67-
| \[!] | buyer-te6b.1.8 | [seller-dj2] Add GET /api/v1/supply-chain endpoint | P1 | buyer-te6b.1.1 | |
68-
| \[!] | buyer-te6b.1.9 | [seller-dj3] Add POST /api/v1/deals/from-template endpoint | P1 | buyer-te6b.1.1 | |
69-
| \[!] | buyer-te6b.1.10 | [seller-dj4] Add GET /api/v1/deals/{id}/performance endpoint | P1 | buyer-te6b.1.1 | |
76+
| \[x] | buyer-te6b.1.6 | Organize internal deal-booking modules (consolidate per ar-fad) | P1 || 2026-03-19 |
77+
| \[x] | buyer-te6b.1.1 | Write DealJockey seller API contract (supply-chain, from-template, bulk, performance) | P1 || 2026-03-19 |
78+
| \[x] | buyer-te6b.1.13 | [buyer-dj5] Deal template and supply path template CRUD | P1 || 2026-03-19 |
79+
| \[ ] | buyer-te6b.2.7 | [buyer-dj6] AnalyzeSupplyPathTool | P2 | | |
80+
| \[ ] | buyer-te6b.2.8 | [buyer-dj7] InstantiateDealFromTemplateTool | P2 | | |
81+
| \[x] | buyer-te6b.1.8 | [seller-dj2] Add GET /api/v1/supply-chain endpoint | P1 | | 2026-03-19 |
82+
| \[x] | buyer-te6b.1.9 | [seller-dj3] Add POST /api/v1/deals/from-template endpoint | P1 | | 2026-03-19 |
83+
| \[x] | buyer-te6b.1.10 | [seller-dj4] Add GET /api/v1/deals/{id}/performance endpoint | P1 | | 2026-03-19 |
7084

71-
## DealJockey Phase 3 — Portfolio Intelligence
85+
### Phase 4C — Portfolio Intelligence
7286

7387
| | ID | Task | Priority | Blockers | Done |
7488
|---|---|---|---|---|---|
75-
| \[!] | buyer-te6b.2.2 | Build cross-path price comparison tool | P2 | buyer-te6b.1.8 | |
76-
| \[!] | buyer-te6b.2.4 | Build deal deprecation analysis and execution | P2 | buyer-te6b.1.10 | |
89+
| \[ ] | buyer-te6b.2.2 | Build cross-path price comparison tool | P2 | | |
90+
| \[ ] | buyer-te6b.2.4 | Build deal deprecation analysis and execution | P2 | | |
7791
| \[ ] | buyer-te6b.2.6 | Build human instructions adapter for manual deal migration | P2 || |
7892
| \[ ] | buyer-te6b.2.12 | Define DealJockey event types (Phase 2) | P2 || |
79-
| \[!] | buyer-te6b.2.3 | Implement deal duplication for new advertisers | P2 | buyer-te6b.1.13, buyer-te6b.1.6 | |
93+
| \[ ] | buyer-te6b.2.3 | Implement deal duplication for new advertisers | P2 | | |
8094
| \[ ] | buyer-te6b.2.1 | Implement deal portfolio gap analysis | P2 || |
81-
| \[!] | buyer-te6b.2.5 | Implement portfolio health reporting | P2 | buyer-te6b.1.10 | |
82-
| \[!] | buyer-te6b.2.11 | [buyer-dj12] Deal migration tool (MigrateDealsTool) | P2 | buyer-te6b.1.6, buyer-te6b.1.8 | |
95+
| \[ ] | buyer-te6b.2.5 | Implement portfolio health reporting | P2 | | |
96+
| \[ ] | buyer-te6b.2.11 | [buyer-dj12] Deal migration tool (MigrateDealsTool) | P2 | | |
8397
| \[!] | buyer-te6b.2.9 | [buyer-dj8] BulkDealOperationTool | P2 | buyer-te6b.2.14 | |
84-
| \[!] | buyer-te6b.2.10 | [buyer-dj9] GetDealPerformanceTool | P2 | buyer-te6b.1.10 | |
85-
| \[!] | buyer-te6b.2.13 | [seller-dj5] Enhanced supply-chain with sellers.json and schain | P2 | buyer-te6b.1.8 | |
86-
| \[!] | buyer-te6b.2.14 | [seller-dj6] Add POST /api/v1/deals/bulk endpoint | P2 | buyer-te6b.1.1 | |
98+
| \[ ] | buyer-te6b.2.10 | [buyer-dj9] GetDealPerformanceTool | P2 | | |
99+
| \[ ] | buyer-te6b.2.13 | [seller-dj5] Enhanced supply-chain with sellers.json and schain | P2 | | |
100+
| \[ ] | buyer-te6b.2.14 | [seller-dj6] Add POST /api/v1/deals/bulk endpoint | P2 | | |
87101

88-
## DealJockey Phase 4 — Platform Integrations
102+
### Phase 4D — Platform Integrations
89103

90104
| | ID | Task | Priority | Blockers | Done |
91105
|---|---|---|---|---|---|
@@ -98,7 +112,7 @@
98112
| \[ ] | buyer-te6b.3.3 | Xandr API connector for deal import | P3 || |
99113
| \[ ] | buyer-te6b.3.7 | [buyer-dj11] Cross-platform deal activation tracker | P3 || |
100114

101-
## DealJockey Phase 5 — External Model Integration
115+
### Phase 4E — External Model Integration
102116

103117
| | ID | Task | Priority | Blockers | Done |
104118
|---|---|---|---|---|---|
@@ -107,14 +121,25 @@
107121
| \[ ] | buyer-te6b.4.1 | [buyer-dj14] Event system (Phase 4: optimization events) | P3 || |
108122
| \[ ] | buyer-te6b.4.2 | [buyer-dj15] Receive IAB Deals API v1.0 push updates | P3 || |
109123
| \[ ] | buyer-te6b.4.3 | [buyer-dj16] Curator awareness in SPO | P3 || |
110-
| \[!] | buyer-te6b.4.6 | [seller-dj7] Curator support (OpenDirect 3.0) | P3 | buyer-te6b.1.8 | |
124+
| \[ ] | buyer-te6b.4.6 | [seller-dj7] Curator support (OpenDirect 3.0) | P3 | | |
111125

112126
## Other
113127

114128
| | ID | Task | Priority | Blockers | Done |
115129
|---|---|---|---|---|---|
116-
| \[ ] | buyer-brn | Epic: Buyer reporting agent | P3 || |
130+
| \[x] | buyer-2fb | Bug: Seller API auth resolves credentials from query params instead of headers | P1 || 2026-03-19 |
131+
| \[ ] | buyer-1g4 | Bug: crewai Flow.kickoff() incompatible with FastAPI async handlers (seller endpoints) | P2 || |
132+
| \[x] | buyer-mt9 | Bug: crewai listen() API change crashes seller flow imports | P1 || 2026-03-19 |
133+
| \[x] | buyer-pnf | Bug: discover_inventory.py still has inline tier discount math | P3 || 2026-03-19 |
134+
| \[x] | buyer-947 | Bug: from-template missing flight date validation | P2 || 2026-03-19 |
135+
| \[x] | buyer-gp3 | Bug: from-template missing flight date validation | P2 || 2026-03-19 |
136+
| \[x] | buyer-111 | Bug: from-template missing_max_cpm returns 422 instead of 400 | P3 || 2026-03-19 |
137+
| \[x] | buyer-tvy | Bug: from-template missing_max_cpm returns 422 instead of 400 | P3 || 2026-03-19 |
138+
| \[x] | buyer-4xi | Bug: from-template returns wrong OpenRTB at value for PD deals | P3 || 2026-03-19 |
139+
| \[x] | buyer-op8 | Bug: from-template returns wrong OpenRTB at value for PD deals | P3 || 2026-03-19 |
140+
| \[x] | buyer-d9p | Bug: unused generate_deal_id import in unified_client.py | P4 || 2026-03-19 |
117141
| \[ ] | buyer-nz9 | Order Status & Audit API Integration | P2 || |
142+
| \[x] | buyer-c8e | Task: Run live smoke tests for DealJockey seller endpoints | P1 || 2026-03-19 |
118143

119144
---
120-
*Last updated: 2026-03-19 18:16 UTC — auto-generated by beads*
145+
*Last updated: 2026-03-19 19:41 UTC — auto-generated by beads*

0 commit comments

Comments
 (0)