Skip to content

Redesign the interactive wizard as a proper TUI (replace thin questionary+rich flow) #36

@fmasi

Description

@fmasi

Problem

The current mailrag wizard is a thin questionary + rich runner: a sequence of line-by-line prompts that scroll down the terminal (persona pick → model → per-folder scope picker → calibrate gate → prune confirm → spend confirm → index). It works and is unit-testable (questionary is injected), but it does not look or feel like a cohesive TUI.

Fred's feedback (2026-06-07), after running ./mailrag wizard --profile … --limit 50 end-to-end: did not like the UI — expected something nicer-looking and simpler, a proper TUI, not the scrolling prompt flow.

Goal

A cohesive, full-screen TUI for the guided pipeline that:

  • shows the persona recipe / funnel as a single coherent view (where you are in the ladder),
  • keeps the two real interaction points clean: the calibrate gate (proceed / re-tune / abort) and confirm-before-spend,
  • presents the folder scope picker as a navigable tree rather than one yes/no prompt per folder,
  • stays unit-testable (the current design injects questionary; preserve an equivalent seam so the flow can be driven headlessly in tests).

Candidate approach

Likely Textual (same ecosystem as rich, already a dep) for a real app surface. Keep the headless run verb as-is; this is purely the interactive layer.

Out of scope / sequencing

Refs: src/persona/wizard.py, src/pipeline/select.py, docs/VERBS.md, docs/GUIDE.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions