REPF Agent
- repo:
- repf-agent
- lang:
- Python · Claude Code
- year:
- 2026 · active
REPF Agent is a vertical AI agent for U.S. renewable energy project finance, the workflow tax equity banks, PF lenders, and developer-side advisors run on every deal. It reads contracts, validates models, and drafts memos with citations. It doesn't make decisions, and a human still signs off.
Why it exists
The IRA rewrote tax equity. Bonus credits, transferability, prevailing wage, domestic content: every team is re-learning the rules at the same time U.S. utility-scale PF volume is at a multi-decade high. Analyst hours are the bottleneck, and the painful parts of diligence are exactly the parts a language model trained on a deal-grade eval harness can finally do reliably, like reading 100 to 300 page PPAs, reconciling a sponsor model against the contract, and flagging tax structure issues.
I came in through Columbia's REPF course (INAF U6326). Eight discovery briefs across tax equity, debt, PPA, IRA, market data, and IC memo workflows turned into a knowledge corpus and a working prototype. The aim isn't to automate the deal. It's to compress the four most painful workdays of every deal into something an analyst can review in an afternoon.
What it does (target V1)
Given a deal package of PPA, term sheet, sponsor financial model, and supporting docs, the agent helps a tax equity or debt analyst:
- Parse PPA / term sheet into structured terms, risk flags, and comparison against a benchmark dataset
- Validate the financial model by checking the sponsor's Excel against contract terms and running sensitivities
- Check tax equity structure, flagging IRA-era compliance issues across bonus credits, prevailing wage, and transferability mechanics
- Draft an IC memo, producing a near-final investment committee memo with citations back to source documents
- Maintain deal memory, covering cross-deal patterns, market benchmarks, and the firm's prior decisions
Every output is draft-and-review, with citations. The agent never recommends a deal yes or no, since that line stays with the human.
How it's being built
Discovery first, code second. The current Phase 0 slice is an eval harness rather than a product:
parse-pparuns a realclaude -pextraction against hand-graded eval cases pulled from public PPAs (AES Waikoloa, Hale Kuawehi, Mililani I and a SIPA-template case for ground truth)- Scoring formula is
0.6 × required + 0.3 × important + 0.1 × citation − 0.05 × hallucinations, pass at ≥ 0.85, gate at ≥ 80% across 10+ cases - An industry intel crawler keeps ~400 public articles per run for regulatory and market context
- Knowledge corpus from the Columbia REPF briefs feeds a ChromaDB RAG index, used to ground the agent's own playbooks and intuitions rather than for verbatim quotation
The gate to leave Phase 0: ≥ 10 interviews, ≥ 3 willingness-to-pay at $500/mo, ≥ 1 design partner, parse-ppa ≥ 80%, and no deal-killer in the discovery brief.
Stack
Python, Claude Code (claude -p), Anthropic Sonnet for multi-pass extraction, ChromaDB for the RAG index, an MCP-style skill harness, and a structured eval runner with cost budgets per case.
Status
Private repo. Phase 0, discovery and eval prototype. If you're a tax equity VP/Director or a PF analyst doing 10 to 30 deals a year and this sounds like a tool you'd want to test, reach out.