Skip to content

How It Works

This page walks the full path a deal takes through Memosa at an analyst’s altitude — what happens, in what order, and where you come in. Each stage links to a deeper engineering page if you want the mechanics.

The short version: you upload documents, Memosa analyzes them in parallel, a cited draft assembles in Canvas, you edit and approve, then you export.

You hand Memosa a deal — an offering memorandum (PDF), an underwriting model (Excel), and any CoStar market exports — via Slack or Web Chat Intake. You also give the deal a name. Memosa needs at least the PDF and the Excel model before it’s ready to generate.

Each document is parsed and broken into overlapping chunks. Every chunk is contextually enriched — a short summary of what it’s about is prepended so it retrieves well later — then embedded and stored in a vector index scoped to this deal only. No data from one deal ever bleeds into another. When an agent later needs evidence for a section, a multi-stage retrieval pipeline finds the most relevant chunks, recovers any missing source types a section requires, and re-ranks the results so the strongest evidence rises to the top.

Deep dives: document processing, the retrieval pipeline, reranking, and namespacing and isolation.

In parallel, your Excel model goes through FormulaGraph: every formula is resolved into a dependency graph, the top value drivers are identified, the model is classified by how complete it is, and risks — circular references, hardcoded overrides, missing reserves — are surfaced with cell-level provenance. This is what lets the memo speak accurately about your numbers rather than guessing.

Deep dive: FormulaGraph.

A set of parallel domain agents — financial, risk, market, comparables, exit strategy, property, construction, and more — each take responsibility for part of the memo. They retrieve their own evidence, reason over it, and draft their section. They run under a time-budget system that gives each phase a guaranteed share of the clock and degrades gracefully under pressure rather than failing hard.

Deep dive: LangGraph and deep agents.

The sections come together into a single structured memo, with charts, context-aware image captions, and — most importantly — [SRC:n] citation markers on every retrievable claim. Because multiple agents draft in parallel, their citation numbers are globally re-indexed at assembly time so two agents don’t collide on the same [SRC:1]. The finished draft appears in Canvas, the web editor.

Deep dives: synthesis and footnotes, Canvas architecture.

This is where you take over. In Canvas you can edit any section directly, accept or reject AI suggestions, run Deep Brushes (focused editorial passes like audit, enrich, or quantify), insert charts, propagate a changed metric across the document, and leave comments. Multiple people can edit the same memo at once. Memosa scores each section’s quality and grades the whole document’s readiness as you work — and learns from your edits over time.

Deep dives: the Canvas editor, Deep Brushes, quality and readiness.

When the memo is ready, you move it to Approved. Approval is the gate: it’s what unlocks exports. A memo’s lifecycle is Draft → Editing → Approved, and approval is deliberately a meaningful step, not a formality.

Deep dives: document lifecycle, the approval gate.

An approved memo can be exported as an Investor Packet (DOCX/PDF), a Canvas PDF, or pushed to OMCMS. These are the committee-ready deliverables.

Deep dives: Investor Packet, Canvas PDF, OMCMS.

Of those eight stages, only three are yours:

StageWho does it
Upload documents + name the dealYou
Ingest, retrieve, reverse-engineer, analyze, draftMemosa
Edit, collaborate, refineYou
Score quality, grade readinessMemosa (as you edit)
ApproveYou
ExportYou (approval unlocks it)
  • README.md — “How It Works” numbered pipeline (ingest, chunking, FormulaGraph, parallel agents, retrieval, citations, charts, approval-gated exports).
  • CLAUDE.md — RAG pipeline, citation [SRC:n] regex, document lifecycle (DRAFT → EDITING → APPROVED), namespace isolation, footnote re-indexing.
  • src/services/intake_coordinator.py — readiness gating (PDF + Excel + deal name required before generation).
  • .claude/rules/20-patterns.md — Canvas document lifecycle, footnote direct-parameter pattern (global [SRC:n] re-indexing across parallel agents).