feat(maestro): orchestra-themed session-name generator (#23)
New shared `maestro-names` crate producing `adjective-instrument` session handles drawn from the orchestra pit — musical tempo/dynamics/articulation markings × instruments and forms (e.g. `allegro-cello`, `crescendo-oboe`, `staccato-viola`), tying handles to the app's conductor metaphor. - Pure generation takes an injected RNG; no thread_rng/clock in pure paths, so seeded tests are reproducible (repo invariant). - `generate_unique` prefers the bare name, appending an incrementing numeric suffix (`-2`, `-3`, …) only on collision via an injected `is_taken`. - `generate_thread` is the one impure convenience wrapper for runtime callers. - Wordlists are public so the web UI can mirror them for instant reroll; the Rust generator stays the source of truth. Closes #23. Part of #21 (spawn dialog rework). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,7 @@ crates/
|
||||
├── maestro/ # umbrella binary `maestro` (cli + daemon + registry, feature-gated) (NAP-245)
|
||||
├── maestro-protocol/ # shared wire types (NAP-211)
|
||||
├── maestro-config/ # shared on-disk config schema (NAP-233)
|
||||
├── maestro-names/ # orchestra-themed session-handle generator (#23)
|
||||
├── maestro-cli/ # `maestro list/spawn/attach/kill/policy` dispatch (NAP-216)
|
||||
├── maestro-daemon/ # `maestro daemon` — tmux wrapper + WS endpoints (NAP-212, NAP-214)
|
||||
├── maestro-registry/ # `maestro registry` — phone book + HTTP API (NAP-213, NAP-215)
|
||||
|
||||
Reference in New Issue
Block a user