Skip to content

Update PROGRESS.md generator for DealJockey phases#63

Merged
atc964 merged 13 commits intomainfrom
fix/progress-md-dealjockey-phases
Mar 19, 2026
Merged

Update PROGRESS.md generator for DealJockey phases#63
atc964 merged 13 commits intomainfrom
fix/progress-md-dealjockey-phases

Conversation

@atc964
Copy link
Copy Markdown
Collaborator

@atc964 atc964 commented Mar 19, 2026

Summary

  • Adds DealJockey phase grouping (Phases 1-4) to PROGRESS.md generator
  • Filters out [LEGACY] beads from display
  • Groups Phase 1 execution beads alongside imported buyer-te6b.* beads

Context

46 DealJockey beads migrated from parent repo (ar-te6b.) to buyer repo (buyer-te6b.). The generator needed to recognize the new naming pattern and group them into DealJockey phase sections.

Test plan

  • Verified PROGRESS.md regenerates correctly with all phases
  • LEGACY beads filtered out
  • Phase 1 completed work shows checkmarks

🤖 Generated with Claude Code

atc964 and others added 13 commits March 18, 2026 18:35
New L2 agent alongside existing channel specialists (Branding, CTV,
Performance, etc.) that manages deal portfolios: import, catalog,
inspect, organize, migrate, and optimize deals across publishers,
SSPs, and DSPs.

Includes L1 routing heuristics as module-level documentation for
future wiring into the Portfolio Manager's routing logic.

bead: buyer-muf

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add four new EventType enum values for DealJockey Phase 1:
- DEAL_IMPORTED: emitted when deals are imported from CSV/external sources
- DEAL_TEMPLATE_CREATED: emitted when deal templates are created
- PORTFOLIO_INSPECTED: emitted when portfolio queries are executed
- DEAL_MANUAL_ACTION_REQUIRED: emitted when human intervention is needed

Includes 28 tests covering enum values, Event model creation,
EventBus publish/subscribe, DealStore persistence, and emit helpers.

bead: buyer-rna

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Extend the deals table with intrinsic fields (counterparties, pricing
details, inventory targeting, supply chain, lifecycle, linear TV) and
create three new extrinsic tables (portfolio_metadata, deal_activations,
performance_cache) per the D-4 hybrid data layer decision.

Includes migrate_v1_to_v2 function with ALTER TABLE for existing DBs,
new indexes, and 29 new tests covering migration, intrinsic/extrinsic
fields, and backward compatibility.

bead: buyer-5tg

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Pure-function parser that reads CSV files and maps them to the v2 deal
library schema. Supports flexible column name detection (case-insensitive,
underscore/space variants), custom column mapping overrides, date/price/
deal-type/media-type normalization, per-row validation with error
collection, and in-file deduplication. Does not touch DealStore or emit
events -- caller is responsible for persistence and event emission.

76 unit tests covering column detection, normalization, validation,
edge cases, and mixed valid/invalid rows.

bead: buyer-ymj

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Create a CrewAI-compatible tool that validates and prepares structured
deal input for the deal portfolio. Includes ManualDealEntry Pydantic
model with validation for deal_type, media_type, seller_type,
price_model, status, and flight date ordering. Pure
validation/preparation -- does not interact with DealStore directly.

bead: buyer-vbh

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Extend DealStore with CRUD methods for portfolio_metadata,
deal_activations, and performance_cache tables. Extend save_deal()
to accept all v2 intrinsic fields (counterparty, pricing, inventory,
lifecycle, supply chain, linear TV) while maintaining backward
compatibility. Extend list_deals() with v2 filters: media_type,
seller_domain, deal_type, and advertiser_id (via JOIN to
portfolio_metadata).

bead: buyer-vjc

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Implement four CrewAI tools that let DealJockey list, filter, search,
and aggregate deal portfolio views:

- ListPortfolioTool: rich filtering (status, media_type, seller_domain,
  deal_type, advertiser_id, seller_type), pagination, and sorting
- SearchPortfolioTool: free-text case-insensitive search across
  display_name, description, seller_org, and seller_domain with
  match-context reporting
- PortfolioSummaryTool: aggregate stats by status, media type, deal
  type, top sellers, total portfolio value, and expiring deals
- InspectDealTool: deep single-deal inspection with portfolio_metadata,
  deal_activations, and performance_cache

All tools accept a DealStore instance via constructor and return
human-readable formatted strings (not raw dicts) for agent
readability.

45 unit tests covering all tools, filters, edge cases, and exports.

bead: buyer-8ap

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Standalone Flask app exercising all Phase 1 capabilities:
- Schema status panel with version, tables, v2 columns
- Deal portfolio table with sorting, filtering, search
- CSV import with parse preview and save-to-portfolio
- Manual deal entry form with validation
- Event log for Phase 1 event types
- Agent info sidebar with L1 routing heuristics
- Portfolio summary modal with aggregate statistics
- Deal detail modal with metadata, activations, performance cache

Includes 14-deal seed dataset with mixed media types, statuses,
deal types, sellers, portfolio metadata, activations, and
performance cache entries.

29 tests covering seed data, API routes, CSV import, and manual entry.

bead: buyer-087

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add DealJockey phase grouping by buyer-te6b.* bead IDs
- Filter out [LEGACY] beads from progress display
- Group Phase 1 execution beads with DealJockey section

bead: buyer-nm8

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@atc964 atc964 merged commit e396ef5 into main Mar 19, 2026
@atc964 atc964 deleted the fix/progress-md-dealjockey-phases branch March 20, 2026 01:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant