Future state — where each surface is going

The three surfaces in this repo (thesis kickoff, deal triage, holdings monitoring) are deliberately scoped down to one job each. Each is the entry point into a larger workflow inside a real fund. This doc captures what the production shape of each surface looks like — beyond what's demoed today.

Thesis kickoff

The rendered memo is the demo's end-state. The production end-state is the memo plus a connected lifecycle:

Deal triage

The current surface processes one teaser at a time on demand. The production shape is automated, routed, and learning-enabled:

Holdings monitoring (anomaly)

Today the surface is pull-based — you click "Explain" when you want a write-up. The production shape inverts that and grows from classification to action:

The underlying architecture

flowchart TB subgraph SRC["1 · Sources"] S1[Broker feeds
positions / fills] S2[Deal pipeline
teasers / CIMs / IC memos] S3[Portco reports
monthly KPIs / cashflow] S4[Public filings
10-Ks / S-1s / news] end subgraph ING["2 · Ingestion + canonical layer"] I1[Typed write-layer
schema discipline] I2[Canonical store
BigQuery / DuckDB] I3[dbt models
positions · deals · KPIs] end subgraph AGENTS["3 · Agent surfaces"] A1[Portfolio analytics
P&L attribution
risk + concentration] A2[Deal triage
teaser → structured memo
IC criteria scoring] A3[IC memo review
thesis · risks · evidence
against rubric] end subgraph GATES["4 · Human review gates"] G1[Pricing review
weekly] G2[IC meeting
per deal] G3[Portfolio review
monthly] end subgraph OUT["5 · Outputs into existing rituals"] O1[Notion / Linear
tickets + memos] O2[Sheets / Looker
dashboards] O3[Slack digests
daily / on-event] end SRC --> ING ING --> AGENTS AGENTS --> GATES GATES --> OUT OUT -.feedback loop.-> AGENTS classDef src fill:#fef3c7,stroke:#92400e classDef ing fill:#dbeafe,stroke:#1e40af classDef agt fill:#dcfce7,stroke:#166534 classDef gat fill:#fce7f3,stroke:#9f1239 classDef out fill:#e0e7ff,stroke:#3730a3 class S1,S2,S3,S4 src class I1,I2,I3 ing class A1,A2,A3 agt class G1,G2,G3 gat class O1,O2,O3 out

Most of the work lives in layer 2 — a clean data store makes the agent surfaces straightforward; without it, no amount of model capability rescues the system. The three demoed surfaces sit in layer 3, and they work only as well as layer 2 is honest: clean positions, clean deal records, clean portco data.