Lossless Changelog
component

Interactive Terminal Application with Rich Framework

New guided CLI application that walks users through memo generation, export, and iteration without requiring knowledge of individual commands, flags, or file paths.

Changelog - 2026-03-24_01

Interactive Terminal Application with Rich Framework

New guided CLI application that walks users through memo generation, export, and iteration without requiring knowledge of individual commands, flags, or file paths. Built with Rich (panels, tables, spinners, themed output) and questionary (interactive select menus, confirmations, text input).


Why

The system has ~15 CLI commands spread across src/main.py, cli/generate_one_pager.py, cli/generate_tables.py, cli/export_branded.py, cli/assemble_draft.py, cli/md2docx.py, and more. Each requires knowing the exact module path, required flags, file paths, and dependency ordering. For anyone who didn't build the system, this is hostile.

The interactive app provides a single entry point:

BASH
python -m cli.terminal_app.py_rich.app

What Changed

New Module: cli/terminal_app/py_rich/

cli/terminal_app/
├── __init__.py
└── py_rich/
    ├── __init__.py
    ├── app.py         # Main entry point, menu loop, all user flows
    ├── discovery.py   # Auto-detect firms, deals, versions, curations
    └── theme.py       # Color palette, Rich theme, questionary styling

Capabilities

Main Menu:

  • 📝 Generate a new investment memo

  • 📄 Generate a one-pager summary

  • 📤 Export an existing memo (HTML / PDF / Word)

  • 🔧 Improve a specific section

  • 🔄 Integrate content from versions

  • 📊 Run a specific agent

Generate Flow:

  • Interactive firm selection (auto-discovers from io/ directory)

  • Interactive deal selection (shows stage, deck/dataroom status, latest version)

  • Version strategy: fresh start, resume, or specific version number

  • Confirmation panel showing all settings before launch

  • Runs full pipeline, then offers post-run actions (export, one-pager, improve)

Export Flow:

  • Firm → deal → version selection

  • Format choice: HTML+PDF, one-pager, Word, or all

  • Mode selection: light, dark, or both

  • Chains the appropriate CLI commands automatically

One-Pager Flow:

  • Firm → deal → version → light/dark mode

  • Calls cli/generate_one_pager.py with resolved paths

Improve Section Flow:

  • Firm → deal → version selection

  • Lists all sections from 2-sections/*.md for selection

  • Calls improve-section.py with correct arguments

Run Specific Agent Flow:

  • Categorized agent menu (Assembly, Export)

  • Resolves paths and runs the selected agent

Integrate Content Flow (scaffolded):

  • Source review: discovers source catalogs, shows section-level source counts

  • Competitive review: merges competitors across all versions, shows deduped summary table with AI classifications and version history

  • Table review and syndicate investigation: placeholders for next iteration

Auto-Discovery (discovery.py)

The app automatically discovers:

  • Firms: Scans io/ for directories with deals/ subdirectories

  • Deals: Finds configured deals with {DealName}.json config files

  • Versions: Lists all version directories with metadata (has final draft, has one-pager, date)

  • Curations: Detects existing _source-curation.json, _competitive-curation.json, etc.

  • Deal config: Loads type, mode, stage, deck/dataroom status from JSON

Theming (theme.py)

Consistent visual identity using the Humain Ventures palette:

  • Accent: #51A084 (Lochinvar green)

  • Primary: #090E18 (Bunker dark)

  • Muted: #656F84 (Blue Bayoux)

  • Rich theme with named styles: accent, info, muted, warning, error, success

  • Questionary prompt styling matching the Rich theme

Dependencies

  • questionary (2.1.1) — added for interactive prompts

  • rich — already installed, used for panels, tables, rules, themed console


Files Changed

FileChange
cli/terminal_app/__init__.pyCreated — Package init
cli/terminal_app/py_rich/__init__.pyCreated — Package init
cli/terminal_app/py_rich/app.pyCreated — Main app: banner, menu loop, 6 user flows
cli/terminal_app/py_rich/discovery.pyCreated — Auto-detection of firms, deals, versions, curations
cli/terminal_app/py_rich/theme.pyCreated — Color palette, Rich theme, questionary styling

Verification

Tested against io/humain/ with Metabologic deal:

  • Banner renders with accent-colored border

  • Firm discovery finds "humain" with correct deal count

  • Deal selection shows Metabologic with version history, deck/dataroom indicators

  • Generate flow produces confirmation table and launches pipeline

  • Export flow chains HTML/PDF/Word commands correctly

  • Competitive integration merges 19 competitors from v0.2.4 into summary table