Files
James Maes 7c0465cf35 refactor: move presentation shells to _reference/, shrink workspace
Move nuncio-tui, nuncio-gui (+src-tauri, ui), and nuncio-mcp out of the Cargo
workspace into _reference/ (git renames; history preserved), retained for the
Phase 5 native client-repo extraction. Remove the unused nuncio-mcp dev-dep
from nunciod and rework daemon_e2e_test to drive the real nuncio-cli
HeadlessRunner (more coverage, no archived-shell dependency). Workspace is now
engine + daemon + reference CLI (8 members); build/clippy/tests green.

Refs #145
2026-07-26 21:01:05 -05:00

2.2 KiB

_reference/ — archived pre-gRPC presentation shells

This directory holds three presentation shells that were removed from the Cargo workspace (backlog 0.D.2, GH-145) as part of shrinking the workspace to just the engine, the daemon, and the reference CLI:

  • nuncio-tui — the Ratatui terminal UI shell
  • nuncio-gui — the Rust GUI core plus its src-tauri Tauri desktop shell and its ui/ React/Vite frontend
  • nuncio-mcp — the MCP (Model Context Protocol) server shell for LLM tool access

They were built directly against the in-process nuncio-core/nuncio-mail/ nuncio-cal/nuncio-store/nuncio-filter/nuncio-contacts library APIs, from the pre-gRPC phase of the project. Per the target architecture in docs/ROADMAP.md, nunciod is moving to publish a versioned gRPC API over loopback, and every presentation shell other than the in-repo nuncio-cli reference client is planned to live in its own separate native client repository (Phase 5 — Client projects): nuncio-tui, nuncio-gui-macos, nuncio-gui-windows, nuncio-mcp, etc.

This code is retained intact, not deleted, so it can be mined for UI/UX ideas, keybindings, view layout, and MCP tool-surface design when those Phase 5 client repos are built against the new gRPC API. It is not built, checked, or tested by the root Cargo workspace — none of these directories are members of the workspace Cargo.toml, so cargo build --workspace, cargo check-all, and cargo test --workspace never touch them.

Each crate's internal path = "../..." dependencies on the engine crates have been updated to point at ../../crates/<name> (e.g. _reference/nuncio-tui/Cargo.toml now points at ../../crates/nuncio-core) so the crate sources still resolve correctly relative to their new location. They are not guaranteed to build standalone as-is: they still declare *.workspace = true fields (version, edition, lints, and workspace [dependencies] aliases) that only resolve inside a Cargo workspace, and they are not their own workspace root. Restoring a standalone build (for mining or resurrection) will require either vendoring those workspace values directly into each Cargo.toml, or giving _reference/ its own [workspace] root.