Scorecard Agent & CLI Implementation
Implemented the Scorecard Agent and CLI tool to automatically generate Hypernova Capital's 12-dimension scorecards for emerging manager fund commitment memos. This completes the scorecard system introduced in changelog 2025-11-27_01.
Changelog - 2025-11-27 (#2)
Scorecard Agent & CLI Implementation
Overview
Implemented the Scorecard Agent and CLI tool to automatically generate Hypernova Capital's 12-dimension scorecards for emerging manager fund commitment memos. This completes the scorecard system introduced in changelog 2025-11-27_01.
New Feature: Scorecard Agent
Purpose
Generate structured scorecards for fund commitment memos using Hypernova's 12-dimension emerging manager evaluation framework. The agent produces three horizontal markdown tables (one per dimension group) with scores, percentile labels, and rationales grounded in memo artifacts.
Implementation
Created src/agents/scorecard_agent.py (~210 lines):
def scorecard_agent(state: MemoState) -> Dict[str, Any]:
"""Generate an emerging manager scorecard for fund commitment memos."""
def _load_scorecard_template() -> Dict[str, Any]:
"""Load the YAML scorecard template."""
def _load_section_snippets(output_dir: Path) -> Dict[str, str]:
"""Load key memo sections as additional context for scoring."""
def _build_scorecard_prompt(...) -> str:
"""Build the LLM prompt with context and scoring instructions."""Gating Conditions
The scorecard only generates when:
investment_type == "fund"outline_name == "lpcommit-emerging-manager"
Skips gracefully for direct investments or other outline types.
Context Sources
The agent loads multiple context sources for scoring:
state.json - Company metadata, memo mode, descriptions
1-research.json - Web research data
2-sections/ - Key section files:
02-gp-background--credibility.md03-fund-strategy--thesis.md04-portfolio-construction.md05-track-record--analysis.md
New Feature: CLI Scorecard Generator
Purpose
Standalone CLI tool to generate scorecards for existing fund memos without regenerating the full pipeline.
Implementation
Created cli/generate_scorecard.py (~120 lines):
# Usage
python cli/generate_scorecard.py "FundName"
python cli/generate_scorecard.py "FundName" --version v0.0.5
python cli/generate_scorecard.py output/FundName-v0.0.1Features
Resolves artifact directory from company name or direct path
Validates investment type and outline before proceeding
Uses
VersionManagerfor version resolutionRich console output with progress indicators
New Feature: Scorecard YAML Template
Purpose
Define the 12-dimension evaluation framework with scoring rubrics, evaluation guidance, and evidence sources in a structured YAML format.
Implementation
Created templates/scorecards/lp-commits_emerging-managers/hypernova-scorecard.yaml (~460 lines):
Structure
metadata:
scorecard_id: "hypernova-emerging-manager-v1"
name: "Emerging Manager Evaluation Framework"
version: "1.0.0"
firm: "Hypernova Capital"
applicable_types: ["fund"]
applicable_modes: ["consider", "justify"]
scoring:
scale:
min: 1
max: 5
labels:
1: "Bottom quartile"
5: "Exceptional"
percentile_mapping:
5: "Top 2-5%"
4: "Top 10-25%"
3: "Top 50%"
2: "Bottom 50%"
1: "Bottom 25%"
dimension_groups:
- group_id: "founder_dynamics"
name: "Founder & Deal Dynamics"
dimensions: [empathy, theory_of_market, ecosystem_imprint, hustle]
- group_id: "execution_style"
name: "Execution & Investment Style"
dimensions: [pull_force, pounce, integrity, grip]
- group_id: "portfolio_management"
name: "Portfolio Management & Discipline"
dimensions: [judgement, discipline, positioning, prudence]
dimensions:
empathy:
name: "Empathy"
short_description: "Insight-driven empathy with founders..."
full_description: |
The ongoing privilege to invest in competitive early-stage deals...
evaluation_guidance:
questions: [...]
evidence_sources: [...]
red_flags: [...]
scoring_rubric:
5: "Exceptional founder relationships..."
1: "Transactional approach..."Mode-Aware Scoring
The scorecard agent handles both memo modes with distinct instructions:
Consider Mode
Objective assessment for potential LP commitment
Acceptable to highlight missing data as risk
Must ground judgments in provided context
Recommendation options: PASS / CONSIDER / COMMIT
Justify Mode
Assumes LP has already committed
Uses existing memo sections as primary source of truth
When data is limited, defaults to 3/5 with inference rationale
Avoids generic "no information available" language
Recommendation: COMMIT (with supporting rationale)
Scorecard Output Format
Three Horizontal Tables (4 dimensions each)
Group 1: Founder & Deal Dynamics
| Empathy | Theory of Market | Ecosystem Imprint | Hustle |
| 4/5 | 4/5 | 5/5 | 5/5 |
| Top 10-25% | Top 10-25% | Top 2-5% | Top 2-5% |
| [Rationale grounded in artifacts...] | [Rationale...] | [Rationale...] | [Rationale...] |
Group 2: Execution & Investment Style
| Pull Force | Pounce | Integrity | Grip |
| 4/5 | 5/5 | 4/5 | 3/5 |
| Top 10-25% | Top 2-5% | Top 10-25% | Top 50% |
| [Rationale...] | [Rationale...] | [Rationale...] | [Rationale...] |
Group 3: Portfolio Management & Discipline
| Judgement | Discipline | Positioning | Prudence |
| 4/5 | 5/5 | 4/5 | 3/5 |
| Top 10-25% | Top 2-5% | Top 10-25% | Top 50% |
| [Rationale...] | [Rationale...] | [Rationale...] | [Rationale...] |
Summary Section
Overall assessment paragraph
Bullet list: Standout strengths (scores of 5)
Bullet list: Areas of concern (scores of 1-2)
Final recommendation: PASS / CONSIDER / COMMIT with rationale
Files Changed Summary
New Files (3)
| File | Size | Purpose |
src/agents/scorecard_agent.py | ~210 lines | Core scorecard generation agent |
cli/generate_scorecard.py | ~120 lines | CLI tool for standalone scorecard generation |
templates/scorecards/lp-commits_emerging-managers/hypernova-scorecard.yaml | ~460 lines | 12-dimension evaluation framework |
Usage
# Activate virtual environment
source .venv/bin/activate
# Generate scorecard by company name (uses latest version)
python cli/generate_scorecard.py "Avalanche"
# Generate scorecard for specific version
python cli/generate_scorecard.py "Avalanche" --version v0.0.3
# Generate scorecard by direct path
python cli/generate_scorecard.py output/Avalanche-v0.0.3Example Output
╭──────────────────────────────────────────────────────────╮
│ Generating Scorecard for: Avalanche │
│ Artifact directory: output/Avalanche-v0.0.3 │
╰──────────────────────────────────────────────────────────╯
✓ Loaded state.json
Scorecard generated for Avalanche using Hypernova emerging manager framework
Saved to output/Avalanche-v0.0.3/scorecard.md
Scorecard file: output/Avalanche-v0.0.3/scorecard.mdIntegration with Existing System
Artifact Trail
Scorecard output saved to existing artifact directory:
output/FundName-v0.0.x/
├── 0-deck-analysis.json + .md
├── 1-research.json + .md
├── 2-sections/*.md
├── 3-validation.json + .md
├── 4-final-draft.md
├── state.json
└── scorecard.md # NEWAgent Registration
Added to src/agents/__init__.py:
from .scorecard_agent import scorecard_agentChecklist Complete
From changelog 2025-11-27_01 "Next Steps":
Implement Scorecard Agent to auto-score dimensions from memo content
Add scorecard table insertion to memo sections (future)
Create direct investment scorecard template (future)
Contributors
Implementation by Claude Code (Anthropic) with user guidance.