Update PROGRESS.md generator for DealJockey phases#63
Merged
Conversation
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>
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.
Summary
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
🤖 Generated with Claude Code