jialong@columbia:~/site$cat ./lab/repf.md
home
> Lab · repf-agent

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, never autonomous decisions. 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: reading 100–300 page PPAs, reconciling a sponsor model against the contract, flagging tax structure issues.

I came in through Columbia's REPF course (INAFU 6326). 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 — PPA, term sheet, sponsor financial model, supporting docs — the agent helps a tax equity / debt analyst:

  1. Parse PPA / term sheet → structured terms, risk flags, comparison to a benchmark dataset
  2. Validate financial model → check the sponsor's Excel against contract terms, run sensitivities
  3. Check tax equity structure → flag IRA-era compliance issues (bonus credits, prevailing wage, transferability mechanics)
  4. Draft IC memo → produce a near-final investment committee memo with citations back to source documents
  5. Maintain deal memory → cross-deal patterns, market benchmarks, the firm's prior decisions

Every output is draft-and-review, with citations. The agent never recommends a deal yes or no — that line stays with the human.

How it's being built

Discovery first, code second. The current Phase 0 slice is an eval harness, not a product:

  • parse-ppa runs a real claude -p extraction 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, not 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–30 deals a year and this sounds like a tool you'd want to test, reach out.