docs: TUI two-process + Go/Charm decision; cliamp auth reference - #7
Merged
Merged
Conversation
Supersede the locked "single in-process TUI, no IPC" decision: - DESIGN.md §3.6: the TUI front-end is a separate process attached to a headless Python engine over language-neutral IPC (same class as the TTS sidecar); plain CLI host stays in-process. Flags overlap with the deferred daemon/detach model (§10.1) to reconcile. - spec10: §2.2 rewritten (two processes over IPC; Host seam becomes an engine-side IPC bridge), §3.1 candidates now Go/Charm vs Rust/Ratatui, header/scope/deps/open-questions updated. Locked: two processes over IPC. Deferred (open): front-end language/framework, IPC protocol + Host-seam mapping, daemon reconciliation. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Resolve the language/framework open question in favor of Go/Charm (+ Lip Gloss, Harmonica, ntcharts). Record the rationale: pet is DIY in both ecosystems and no ready-made bitmap pet exists, so Rust/ratatui-image's crisp-sprite edge is unleveraged off-the-shelf, while Charm wins on warmth, ready-made audio viz, and AI-friendliness. Consequence: the pixel pet is block/half-block sprite art, not true bitmaps (accepted for v1). Engine↔TUI boundary is now genuinely cross-language (Python ↔ Go), so the IPC (still open) must be language-neutral. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add spec10 §6.1: the creative side of the TUI (art direction, the pixel pet's behavior/sprites, audio-visualizer style, and overall layout/ personality) is intentionally not designed yet — captured as the next brainstorming session so it is not lost. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Note in DESIGN.md §5 that cliamp (Go/Bubble Tea) already implements the login/auth flow for auth-gated sources (NetEase, YouTube, SoundCloud, Bilibili, Spotify, etc.). Borrow its credential/cookie mechanics only, not its user-picks interaction model — murmur is AI-picks-by-context. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Design decisions captured in the specs (docs only — no code):
spec10/10-tui.md+DESIGN.md §3.6) — the richer front-end becomes a separate process attached to a headless Python engine over a language-neutral IPC, superseding the earlier locked "single in-process TUI, no IPC" decision. Framework decided: Go / Charm (Bubble Tea) (+ Lip Gloss, Harmonica,ntcharts), with the rationale recorded — including why not Rust/Ratatui. Consequence: the pixel pet is block/half-block sprite art, not true bitmaps (accepted for v1).DESIGN.md §5) —cliamp(Go/Bubble Tea) noted as a reference for the login/auth flow of gray sources (NetEase, etc.); borrow its credential mechanics only, not its user-picks model (murmur is AI-picks-by-context).Still open (logged in spec10 §6 / §6.1): IPC protocol +
Host-seam mapping, daemon/detach reconciliation (master §10.1), and the creative design conversation (art direction, the pet, audio animation).AI coding brief
cliampas a reference for authenticating to music sources. Why: murmur is a companion radio where the AI, not the user, curates music, and the front-end must feel alive rather than utilitarian.spec10(which already locked Python/same-process) before exploring a Go/Rust two-process front-end, so the conflict surfaced up front.🤖 Generated with Claude Code