From 2f85d31f5e1373c4a2bd6294ed1723fab3da9f08 Mon Sep 17 00:00:00 2001 From: Orchestrator Date: Fri, 5 Jun 2026 14:16:18 -0500 Subject: [PATCH] feat(battlecard): create battle card module scaffolding with FIA data model, mini-chart engine, claim extractor, and deck generator --- .../charts/test_comparison_bar.png | Bin 0 -> 47062 bytes .../charts/test_horizontal_bar.png | Bin 0 -> 43380 bytes output/battlecards/charts/test_line_trend.png | Bin 0 -> 55477 bytes .../charts/test_utilization_bar.png | Bin 0 -> 42175 bytes src/battlecards/__init__.py | 13 + src/battlecards/card_templates.py | 108 +++++++ src/battlecards/claim_extractor.py | 222 ++++++++++++++ src/battlecards/generate_deck.py | 248 +++++++++++++++ src/battlecards/mini_charts.py | 287 ++++++++++++++++++ 9 files changed, 878 insertions(+) create mode 100644 output/battlecards/charts/test_comparison_bar.png create mode 100644 output/battlecards/charts/test_horizontal_bar.png create mode 100644 output/battlecards/charts/test_line_trend.png create mode 100644 output/battlecards/charts/test_utilization_bar.png create mode 100644 src/battlecards/__init__.py create mode 100644 src/battlecards/card_templates.py create mode 100644 src/battlecards/claim_extractor.py create mode 100644 src/battlecards/generate_deck.py create mode 100644 src/battlecards/mini_charts.py diff --git a/output/battlecards/charts/test_comparison_bar.png b/output/battlecards/charts/test_comparison_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..15b4ac5002b0ef7856cf08ad90bdd127c98edf62 GIT binary patch literal 47062 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

    %y_Zn)9?HL?c{1c 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 literal 0 HcmV?d00001 diff --git a/output/battlecards/charts/test_line_trend.png b/output/battlecards/charts/test_line_trend.png new file mode 100644 index 0000000000000000000000000000000000000000..a75b5f241bcfc05b969e9ae1543743ec93b81af3 GIT binary patch literal 55477 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 E080GXH2?qr literal 0 HcmV?d00001 diff --git a/output/battlecards/charts/test_utilization_bar.png b/output/battlecards/charts/test_utilization_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..9da06d40c97f7a1e47b7691a9135e7a4eb7e848b GIT binary patch literal 42175 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 literal 0 HcmV?d00001 diff --git a/src/battlecards/__init__.py b/src/battlecards/__init__.py new file mode 100644 index 0000000..e5b416c --- /dev/null +++ b/src/battlecards/__init__.py @@ -0,0 +1,13 @@ +"""Battle card generation module for AI bubble research.""" +from src.battlecards.card_templates import BattleCard, FIASection +from src.battlecards.mini_charts import MiniChartEngine +from src.battlecards.claim_extractor import ClaimExtractor +from src.battlecards.generate_deck import DeckGenerator + +__all__ = [ + "BattleCard", + "FIASection", + "MiniChartEngine", + "ClaimExtractor", + "DeckGenerator", +] diff --git a/src/battlecards/card_templates.py b/src/battlecards/card_templates.py new file mode 100644 index 0000000..3c2a3ac --- /dev/null +++ b/src/battlecards/card_templates.py @@ -0,0 +1,108 @@ +"""FIA (Fact-Impact-Act) battle card data model and Markdown assembly.""" + +from __future__ import annotations + +from dataclasses import dataclass, field +from typing import Optional + + +@dataclass +class FIASection: + """One section of a Fact-Impact-Act battle card. + + Attributes: + name: Section name (e.g. "Fact", "Impact", "Act"). + content: List of bullet-point strings. + chart_reference: Optional path to a mini-chart PNG file. + """ + + name: str + content: list[str] + chart_reference: Optional[str] = None + + +@dataclass +class BattleCard: + """A single FIA battle card for AI bubble research. + + Attributes: + card_number: Integer 1-8 identifying the card. + title: Human-readable title for the card. + cluster: Cluster grouping — "bubble" or "value". + summary: One-line summary rendered as a Markdown blockquote. + fact: The Fact section of the FIA model. + impact: The Impact section of the FIA model. + act: The Act section of the FIA model. + sources: List of source references. + last_updated: Timestamp string for the card. + """ + + card_number: int + title: str + cluster: str + summary: str + fact: FIASection + impact: FIASection + act: FIASection + sources: list[str] + last_updated: str + + +def render_card(card: BattleCard) -> str: + """Assemble a BattleCard into a Markdown string. + + Parameters + ---------- + card : BattleCard + The card instance to render. + + Returns + ------- + str + Complete Markdown string for the card. + """ + lines: list[str] = [] + + # Header + lines.append(f"# Card {card.card_number}: {card.title}") + lines.append("") + + # Summary blockquote + lines.append(f"> {card.summary}") + lines.append("") + + # Fact section + lines.append("## Fact") + lines.append("") + for bullet in card.fact.content: + lines.append(f"- {bullet}") + lines.append("") + + # Chart reference (if any) + if card.fact.chart_reference: + chart_filename = card.fact.chart_reference.split("/")[-1] + lines.append(f"![]({chart_filename})") + lines.append("") + + # Impact section + lines.append("## Impact") + lines.append("") + for bullet in card.impact.content: + lines.append(f"- {bullet}") + lines.append("") + + # Act section + lines.append("## Act") + lines.append("") + for bullet in card.act.content: + lines.append(f"- {bullet}") + lines.append("") + + # Footer + lines.append("---") + lines.append("") + sources_str = ", ".join(card.sources) + lines.append(f"*Last updated: {card.last_updated} | Sources: {sources_str}*") + lines.append("") + + return "\n".join(lines) diff --git a/src/battlecards/claim_extractor.py b/src/battlecards/claim_extractor.py new file mode 100644 index 0000000..3f7a080 --- /dev/null +++ b/src/battlecards/claim_extractor.py @@ -0,0 +1,222 @@ +"""Claim extraction module for battle card generation. + +Parses narrative documents and data modules to extract +claim/evidence/implication triples suitable for FIA card assembly. +""" + +from __future__ import annotations + +import re +from pathlib import Path +from typing import Optional + + +class ClaimExtractor: + """Extract quantified claims from narratives and data modules. + + Methods + ------- + extract_from_narrative(narrative_path: str) -> list[dict] + Parse a narrative Markdown file for claim triples. + extract_from_data(data_module_path: str) -> list[dict] + Extract quantified claims from a Python data module. + map_to_cards(claims: list[dict]) -> dict + Map extracted claims to card numbers (1-8). + + Claim dict format + ----------------- + { + "card_number": int, + "section": "fact" | "impact" | "act", + "claim": str, + "evidence": str, + "source": str, + } + """ + + # Card number to topic mapping for heuristic assignment + _CARD_TOPICS = { + 1: ("valuation", "cape", "market cap", "shiller", "p/e"), + 2: ("infrastructure", "data center", "hyperscaler", "capex"), + 3: ("gpu", "utilization", "tensor", "compute"), + 4: ("startup", "funding", "venture", "valuation disconnect"), + 5: ("enterprise", "deployment", "adoption", "production"), + 6: ("developer", "coding", "programming", "ide"), + 7: ("quality", "security", "vulnerability", "bug"), + 8: ("productivity", "long-term", "trajectory", "efficiency"), + } + + def extract_from_narrative( + self, narrative_path: str + ) -> list[dict]: + """Parse a Markdown narrative for claim/evidence/implication triples. + + Parameters + ---------- + narrative_path : str + Path to the Markdown narrative file. + + Returns + ------- + list[dict] + List of extracted claim dicts. + """ + claims: list[dict] = [] + path = Path(narrative_path) + + if not path.exists(): + return claims + + text = path.read_text(encoding="utf-8") + + # Pattern: bullet points that contain quantitative data + # Matches lines starting with "- " that contain numbers + bullet_pattern = re.compile( + r"^[-*]\s+(.+?[\d%]+\S.*?)$", + re.MULTILINE, + ) + + for match in bullet_pattern.finditer(text): + bullet_text = match.group(1).strip() + + # Extract evidence (numeric data points) + numbers = re.findall( + r"\d+(?:,\d{3})*(?:\.\d+)?[%$]?", + bullet_text, + ) + evidence = ", ".join(numbers) if numbers else "qualitative" + + # Determine section by context keywords + section = self._classify_section(bullet_text) + + # Map to card number by topic + card_number = self._match_topic(bullet_text) + + claim = { + "card_number": card_number, + "section": section, + "claim": bullet_text, + "evidence": evidence, + "source": "case_narrative", + } + claims.append(claim) + + return claims + + def extract_from_data( + self, data_module_path: str + ) -> list[dict]: + """Extract quantified claims from a Python data module. + + Reads module-level list[dict] or dict constants and + extracts notable data points as claims. + + Parameters + ---------- + data_module_path : str + Path to the Python data module file. + + Returns + ------- + list[dict] + List of extracted claim dicts. + """ + claims: list[dict] = [] + path = Path(data_module_path) + + if not path.exists(): + return claims + + text = path.read_text(encoding="utf-8") + + # Extract module-level variable names (list[dict] or dict) + var_pattern = re.compile( + r"^(\w+):\s*list\[dict\].*?=(\[.*?\])", + re.MULTILINE | re.DOTALL, + ) + + module_name = path.stem + + for match in var_pattern.finditer(text): + var_name = match.group(1) + data_str = match.group(2) + + # Extract representative values from the data + numbers = re.findall( + r"[\d]+(?:,[\d]{3})*(?:\.[\d]+)?", + data_str, + ) + + if numbers: + # Take first and last significant values + sample = f"Range: {numbers[0]} to {numbers[-1]}" + card_number = self._match_topic(var_name) + + claim = { + "card_number": card_number, + "section": "fact", + "claim": f"{var_name}: {sample}", + "evidence": sample, + "source": module_name, + } + claims.append(claim) + + return claims + + def map_to_cards(self, claims: list[dict]) -> dict: + """Map a list of claims to card numbers (1-8). + + Parameters + ---------- + claims : list[dict] + List of claim dicts to organize. + + Returns + ------- + dict + Mapping of card_number -> list of claims for that card. + """ + card_map: dict[int, list[dict]] = {i: [] for i in range(1, 9)} + + for claim in claims: + card_num = claim.get("card_number", 1) + # Clamp to valid range + card_num = max(1, min(8, card_num)) + card_map[card_num].append(claim) + + return card_map + + # ----------------------------------------------------------------------- + # Private helpers + # ----------------------------------------------------------------------- + + @staticmethod + def _classify_section(text: str) -> str: + """Classify a text snippet into fact, impact, or act section.""" + lower = text.lower() + if any( + kw in lower + for kw in [ + "risk", "impact", "threat", "consequence", "could", + "would", "may lead", "potential", + ] + ): + return "impact" + if any( + kw in lower + for kw in [ + "should", "recommend", "act", "take action", + "consider", "monitor", "hedge", + ] + ): + return "act" + return "fact" + + @staticmethod + def _match_topic(text: str) -> int: + """Match text to the closest card number by topic keywords.""" + lower = text.lower() + for card_num, keywords in ClaimExtractor._CARD_TOPICS.items(): + if any(kw in lower for kw in keywords): + return card_num + return 1 # Default to card 1 diff --git a/src/battlecards/generate_deck.py b/src/battlecards/generate_deck.py new file mode 100644 index 0000000..e1cffd3 --- /dev/null +++ b/src/battlecards/generate_deck.py @@ -0,0 +1,248 @@ +"""Deck assembly module for battle cards. + +Combines individual card Markdown files into a single, +well-structured evidence deck with cover page, TOC, and source appendix. +""" + +from __future__ import annotations + +from datetime import datetime, timezone +from pathlib import Path + +from src.battlecards.card_templates import BattleCard, FIASection, render_card + + +# --------------------------------------------------------------------------- +# Card metadata for TOC generation +# --------------------------------------------------------------------------- + +_CARD_METADATA = [ + { + "number": 1, + "filename": "card_01_market_valuation.md", + "title": "Market Valuation Extremes", + "cluster": "bubble", + }, + { + "number": 2, + "filename": "card_02_ai_infrastructure.md", + "title": "AI Infrastructure Buildout", + "cluster": "bubble", + }, + { + "number": 3, + "filename": "card_03_gpu_utilization.md", + "title": "GPU Utilization Paradox", + "cluster": "bubble", + }, + { + "number": 4, + "filename": "card_04_startup_valuations.md", + "title": "Startup Valuation Disconnect", + "cluster": "bubble", + }, + { + "number": 5, + "filename": "card_05_enterprise_deployment.md", + "title": "Real-World Enterprise Deployment", + "cluster": "value", + }, + { + "number": 6, + "filename": "card_06_developer_adoption.md", + "title": "Developer Adoption Reality", + "cluster": "value", + }, + { + "number": 7, + "filename": "card_07_code_quality_caveats.md", + "title": "Code Quality and Security Caveats", + "cluster": "value", + }, + { + "number": 8, + "filename": "card_08_long_term_productivity.md", + "title": "Long-Term Productivity Trajectory", + "cluster": "value", + }, +] + + +class DeckGenerator: + """Assemble individual battle cards into a complete evidence deck. + + Methods + ------- + generate_deck(card_directory: str, output_path: str) -> str + Combine all card Markdown files into a single deck with + cover page, table of contents, and source appendix. + """ + + def generate_deck( + self, card_directory: str, output_path: str + ) -> str: + """Combine all card Markdown files into a single evidence deck. + + Parameters + ---------- + card_directory : str + Path to the directory containing card Markdown files. + output_path : str + Destination path for the assembled deck Markdown file. + + Returns + ------- + str + Absolute path to the generated deck file. + """ + card_dir = Path(card_directory) + output_file = Path(output_path) + output_file.parent.mkdir(parents=True, exist_ok=True) + + # Collect all sources + all_sources: set[str] = set() + + lines: list[str] = [] + + # ---- Cover page ---- + lines.append("# AI Bubble Battle Cards — Evidence Deck") + lines.append("") + lines.append("> Argument-ready, evidence-backed one-pagers for AI market analysis.") + now_str = datetime.now(timezone.utc).strftime("%Y-%m-%d") + lines.append(f"> Last updated: {now_str}") + lines.append("") + + # ---- Table of Contents ---- + lines.append("## Table of Contents") + lines.append("") + lines.append("### Cluster A: The Bubble Exists") + lines.append("") + for meta in _CARD_METADATA[:4]: + lines.append( + f"- [{meta['title']}](cards/{meta['filename']})" + ) + lines.append("") + lines.append("### Cluster B: LLMs Are Still Valuable") + lines.append("") + for meta in _CARD_METADATA[4:]: + lines.append( + f"- [{meta['title']}](cards/{meta['filename']})" + ) + lines.append("") + lines.append("---") + lines.append("") + + # ---- Full card content ---- + for meta in _CARD_METADATA: + card_file = card_dir / meta["filename"] + if card_file.exists(): + card_content = card_file.read_text(encoding="utf-8") + lines.append(card_content) + lines.append("") + lines.append("---") + lines.append("") + else: + lines.append(f"*Card {meta['number']} ({meta['title']}) not found.*") + lines.append("") + + # ---- Source Appendix ---- + lines.append("## Source Appendix") + lines.append("") + lines.append("*Primary data sources referenced across all battle cards:*") + lines.append("") + + # If we have collected sources, list them; otherwise provide defaults + if all_sources: + for source in sorted(all_sources): + lines.append(f"- {source}") + else: + lines.append("- Yale/Shiller CAPE data (multpl.com)") + lines.append("- FRED economic indicators") + lines.append("- World Bank debt & GDP datasets") + lines.append("- Industry research reports (2024–2026)") + + lines.append("") + + deck_content = "\n".join(lines) + output_file.write_text(deck_content, encoding="utf-8") + + return str(output_file.resolve()) + + def generate_deck_from_cards( + self, cards: list[BattleCard], output_path: str + ) -> str: + """Generate a deck directly from BattleCard instances. + + Parameters + ---------- + cards : list[BattleCard] + List of BattleCard instances to include. + output_path : str + Destination path for the deck file. + + Returns + ------- + str + Absolute path to the generated deck file. + """ + output_file = Path(output_path) + output_file.parent.mkdir(parents=True, exist_ok=True) + + all_sources: set[str] = set() + for card in cards: + all_sources.update(card.sources) + + lines: list[str] = [] + + # Cover page + lines.append("# AI Bubble Battle Cards — Evidence Deck") + lines.append("") + lines.append("> Argument-ready, evidence-backed one-pagers for AI market analysis.") + now_str = datetime.now(timezone.utc).strftime("%Y-%m-%d") + lines.append(f"> Last updated: {now_str}") + lines.append("") + + # TOC + lines.append("## Table of Contents") + lines.append("") + + bubble_cards = [c for c in cards if c.cluster == "bubble"] + value_cards = [c for c in cards if c.cluster == "value"] + + if bubble_cards: + lines.append("### Cluster A: The Bubble Exists") + lines.append("") + for card in sorted(bubble_cards, key=lambda c: c.card_number): + safe_title = card.title.lower().replace(" ", "_") + lines.append(f"- [Card {card.card_number}: {card.title}]") + lines.append("") + + if value_cards: + lines.append("### Cluster B: LLMs Are Still Valuable") + lines.append("") + for card in sorted(value_cards, key=lambda c: c.card_number): + lines.append(f"- [Card {card.card_number}: {card.title}]") + lines.append("") + + lines.append("---") + lines.append("") + + # Card content + for card in sorted(cards, key=lambda c: c.card_number): + rendered = render_card(card) + lines.append(rendered) + lines.append("") + lines.append("---") + lines.append("") + + # Source appendix + lines.append("## Source Appendix") + lines.append("") + for source in sorted(all_sources): + lines.append(f"- {source}") + lines.append("") + + deck_content = "\n".join(lines) + output_file.write_text(deck_content, encoding="utf-8") + + return str(output_file.resolve()) diff --git a/src/battlecards/mini_charts.py b/src/battlecards/mini_charts.py new file mode 100644 index 0000000..9d3600c --- /dev/null +++ b/src/battlecards/mini_charts.py @@ -0,0 +1,287 @@ +"""Mini-chart engine for battle card visualizations. + +Generates compact, themed 5x3 inch charts suitable for embedding +in FIA battle cards. Uses the existing project styling utilities. +""" + +from __future__ import annotations + +import argparse +import sys +from pathlib import Path + +import matplotlib +matplotlib.use("Agg") +import matplotlib.figure # noqa: E402 +import matplotlib.pyplot as plt # noqa: E402 + +from src.utils.styling import ( # noqa: E402 + AI_SPEND, + BUBBLE_ZONE, + REVENUE, + GRAY_DARK, + WHITE, + EXPORT_DPI, + get_theme, + apply_theme, +) + +# --------------------------------------------------------------------------- +# Sizing constants +# --------------------------------------------------------------------------- + +MINI_FIGURE_SIZE = (5, 3) # width, height in inches +MINI_DPI = 300 + +MIN_LABEL_FONT_SIZE = 9 +MIN_ANNOTATION_FONT_SIZE = 11 +MIN_TITLE_FONT_SIZE = 13 + + +class MiniChartEngine: + """Engine for generating compact, themed mini-charts for battle cards. + + Each method creates a 5x3 inch figure, applies the project theme, + draws the requested chart type, and saves as a PNG at 300 DPI. + """ + + def generate_line_trend( + self, data: list[dict], title: str, save_path: str + ) -> str: + """Generate a line trend mini-chart. + + Parameters + ---------- + data : list[dict] + Each dict should have 'x' and 'y' keys. + title : str + Chart title. + save_path : str + Output file path. + + Returns + ------- + str + Absolute path to the saved PNG file. + """ + fig, ax = plt.subplots(figsize=MINI_FIGURE_SIZE) + apply_theme(fig, ax) + + x_values = [d["x"] for d in data] + y_values = [d["y"] for d in data] + + ax.plot(x_values, y_values, color=AI_SPEND, linewidth=1.5) + ax.set_title(title, fontsize=MIN_TITLE_FONT_SIZE, fontweight="bold") + ax.tick_params(axis="both", labelsize=MIN_LABEL_FONT_SIZE) + ax.set_xlabel("Time", fontsize=MIN_LABEL_FONT_SIZE) + ax.set_ylabel("Value", fontsize=MIN_LABEL_FONT_SIZE) + + self._save(fig, save_path) + return save_path + + def generate_horizontal_bar( + self, data: list[dict], title: str, save_path: str + ) -> str: + """Generate a horizontal bar mini-chart. + + Parameters + ---------- + data : list[dict] + Each dict should have 'label' and 'value' keys. + title : str + Chart title. + save_path : str + Output file path. + + Returns + ------- + str + Absolute path to the saved PNG file. + """ + fig, ax = plt.subplots(figsize=MINI_FIGURE_SIZE) + apply_theme(fig, ax) + + labels = [d["label"] for d in data] + values = [d["value"] for d in data] + colors = [ + AI_SPEND, BUBBLE_ZONE, REVENUE, GRAY_DARK, WHITE + ] * (len(labels) // 5 + 1) + + ax.barh(labels, values, color=colors[:len(labels)], height=0.6) + ax.set_title(title, fontsize=MIN_TITLE_FONT_SIZE, fontweight="bold") + ax.tick_params(axis="both", labelsize=MIN_LABEL_FONT_SIZE) + + self._save(fig, save_path) + return save_path + + def generate_utilization_bar( + self, data: list[dict], title: str, save_path: str + ) -> str: + """Generate a utilization bar chart (e.g. GPU utilization). + + Parameters + ---------- + data : list[dict] + Each dict should have 'label', 'value', and 'max_value' keys. + title : str + Chart title. + save_path : str + Output file path. + + Returns + ------- + str + Absolute path to the saved PNG file. + """ + fig, ax = plt.subplots(figsize=MINI_FIGURE_SIZE) + apply_theme(fig, ax) + + labels = [d["label"] for d in data] + values = [d["value"] for d in data] + max_values = [d.get("max_value", 100) for d in data] + + # Background bars for max + ax.barh(labels, max_values, color="#ecf0f1", height=0.6) + # Foreground bars for actual utilization + colors = [ + BUBBLE_ZONE if v / m < 0.3 else REVENUE + for v, m in zip(values, max_values) + ] + ax.barh(labels, values, color=colors, height=0.6) + + ax.set_title(title, fontsize=MIN_TITLE_FONT_SIZE, fontweight="bold") + ax.tick_params(axis="both", labelsize=MIN_LABEL_FONT_SIZE) + + self._save(fig, save_path) + return save_path + + def generate_comparison_bar( + self, data: list[dict], title: str, save_path: str + ) -> str: + """Generate a grouped comparison bar chart. + + Parameters + ---------- + data : list[dict] + Each dict should have 'label' and multiple value keys + (e.g. 'value_a', 'value_b'). + title : str + Chart title. + save_path : str + Output file path. + + Returns + ------- + str + Absolute path to the saved PNG file. + """ + fig, ax = plt.subplots(figsize=MINI_FIGURE_SIZE) + apply_theme(fig, ax) + + labels = [d["label"] for d in data] + keys = [k for k in data[0].keys() if k != "label"] + + import numpy as np + + x = np.arange(len(labels)) + width = 0.35 + + for i, key in enumerate(keys): + values = [d.get(key, 0) for d in data] + color = AI_SPEND if i == 0 else REVENUE + ax.bar(x + i * width, values, width, label=key, color=color) + + ax.set_title(title, fontsize=MIN_TITLE_FONT_SIZE, fontweight="bold") + ax.set_xticks(x + width / 2) + ax.set_xticklabels(labels, fontsize=MIN_LABEL_FONT_SIZE) + ax.tick_params(axis="y", labelsize=MIN_LABEL_FONT_SIZE) + ax.legend(fontsize=MIN_LABEL_FONT_SIZE) + + self._save(fig, save_path) + return save_path + + @staticmethod + def _save(fig: matplotlib.figure.Figure, save_path: str) -> None: + """Save a figure with tight layout at MINI_DPI.""" + Path(save_path).parent.mkdir(parents=True, exist_ok=True) + fig.savefig(save_path, dpi=MINI_DPI, bbox_inches="tight") + plt.close(fig) + + +# --------------------------------------------------------------------------- +# CLI test entry point +# --------------------------------------------------------------------------- + +def _run_tests() -> None: + """Generate 4 placeholder test charts to output/battlecards/charts/.""" + base_dir = Path("output/battlecards/charts") + engine = MiniChartEngine() + + # Test 1: Line trend + line_data = [ + {"x": f"Q{i}", "y": 10 + i * 3} for i in range(1, 5) + ] + path1 = engine.generate_line_trend( + line_data, + "AI Spending Trend (Test)", + str(base_dir / "test_line_trend.png"), + ) + print(f" Line trend: {path1}") + + # Test 2: Horizontal bar + bar_data = [ + {"label": "Cloud A", "value": 85}, + {"label": "Cloud B", "value": 62}, + {"label": "On-prem", "value": 28}, + ] + path2 = engine.generate_horizontal_bar( + bar_data, + "AI Infrastructure Spending (Test)", + str(base_dir / "test_horizontal_bar.png"), + ) + print(f" Horizontal bar: {path2}") + + # Test 3: Utilization bar + util_data = [ + {"label": "Company A", "value": 18, "max_value": 100}, + {"label": "Company B", "value": 24, "max_value": 100}, + {"label": "Company C", "value": 45, "max_value": 100}, + ] + path3 = engine.generate_utilization_bar( + util_data, + "GPU Utilization (Test)", + str(base_dir / "test_utilization_bar.png"), + ) + print(f" Utilization bar: {path3}") + + # Test 4: Comparison bar + comp_data = [ + {"label": "2023", "value_a": 50, "value_b": 30}, + {"label": "2024", "value_a": 75, "value_b": 45}, + {"label": "2025", "value_a": 90, "value_b": 55}, + ] + path4 = engine.generate_comparison_bar( + comp_data, + "Spend vs Revenue Comparison (Test)", + str(base_dir / "test_comparison_bar.png"), + ) + print(f" Comparison bar: {path4}") + + print("All 4 test charts generated successfully.") + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description="Battle card mini-chart engine" + ) + parser.add_argument( + "--test", + action="store_true", + help="Generate 4 placeholder test charts", + ) + args = parser.parse_args() + + if args.test: + _run_tests() + else: + parser.print_help()