REPF Agent
- repo:
- repf-agent
- lang:
- Python · Claude Code
- year:
- 2026 · active
REPF Agent is an early research prototype for U.S. renewable energy project finance. Only one slice truly works today: extracting terms from public PPAs and comparing the result with hand-graded answers. Financial-model validation, IRA tax-equity review, and cited investment-committee memos belong to the hoped-for V1, not to the product that exists now.
Why it exists
The IRA changed the working rules of tax equity: bonus credits, transferability, prevailing-wage requirements, domestic content. Teams are learning them while analyst time remains as scarce as before. The most mechanical parts of diligence—reading long PPAs, reconciling a sponsor model to the contract, surfacing tax-structure questions—are also the parts most worth evaluating rigorously. The present prototype tests the first claim. It has not established the rest.
The project began in Columbia's REPF course (INAF U6326). Eight discovery briefs—on tax equity, debt, PPAs, the IRA, market data, and IC-memo work—became a small knowledge base and an evaluation prototype. The aim is not to automate a deal. The narrower question is whether a carefully tested tool could turn several days of mechanical review into a draft an analyst can verify in an afternoon.
What it does (target V1)
The imagined V1 would read a PPA, term sheet, sponsor model, and supporting documents, then help 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
- Preserve deal memory across transactions: recurring patterns, market benchmarks, and the firm's prior decisions
Every output remains a draft for review and carries citations back to source. The system never gives the final yes or no on a deal. That boundary belongs to a person.
How it's being built
Discovery first, code second. The current slice is an evaluation harness, not yet a product:
parse-pparunsclaude -pextraction against hand-graded cases drawn from public PPAs: AES Waikoloa, Hale Kuawehi, Mililani I, and a SIPA template- The score is
0.6 × required + 0.3 × important + 0.1 × citation − 0.05 × hallucinations; a case passes at 0.85, and the phase gate is an 80% pass rate across at least ten cases - An industry-intelligence crawler keeps roughly 400 public articles per run for regulatory and market context
- The Columbia REPF briefs feed a ChromaDB retrieval index, grounding the system's analytical playbooks rather than supplying text to quote verbatim
The project leaves Phase 0 only after at least ten interviews, three expressions of willingness to pay $500 per month, one design partner, an 80% parse-ppa pass rate, and no fatal objection in the discovery work.
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
The repository is private, and the project remains in discovery and evaluation. If you are a tax-equity VP or director, or a project-finance analyst working on ten to thirty deals a year, and would test a tool like this, write to me.