🚀 Juniper v65.2 — Brick-Proof Voice, Bulletproof Memory Mode, Living Recall
October marks a huge stability jump: reference-counted voice I/O, a stuck-mic watchdog, and a redesigned Memory Mode that exits cleanly on natural phrases (“stop”, “done”, “exit memory mode”) or idle timeout. We also finalized voice→motion control and shipped a full verbal command guide you can print or share.
🧠 MEMORY + RECALL (v65.2)
- ✅ Memory Mode 2.0: exit phrases intercepted before save logic; idle auto-exit (configurable)
- ✅ Natural saves: “remember …”, “my favorite X is Y”, Wi-Fi SSID/password, dates and K/V pairs
- ✅ Local-first recall: fast topic-filtered scan with optional GPT polish (if online)
- ✅ Subject labeling: saves tagged as daniel/juniper for cleaner retrieval
🔊 VOICE I/O + BRICK-PROOFING
- ✅ Reference-counted mic control: overlapping TTS can’t leave the mic muted ever again
- ✅ Watchdog: auto re-enables listening if muted without user intent
- ✅ Thinking fillers: silent by default (log-only) to avoid speak() overlap
- ✅ TTS stack: OpenAI TTS-1 → mpg123, with eSpeak → Festival fallbacks
🎧 HEARING + STT CHOICES
- ✅ Selectable STT backends: Google / OpenAI Whisper / Realtime WS (env-switchable)
- ✅ Wake normalization: “Jennifer/Junipher/June” → Juniper, with follow-up capture
- ✅ Intent routing: save, recall, time, weather, battery prioritized over small talk
🐾 BODY + MOTION
- ✅ Voice→motion map (15+ actions): sit, wave, take a pee, crawl, turn, pushups, dance, get jiggy, excited, sniff, shake, pray, stretch, twist
- ✅ Non-blocking handoff: motions execute without freezing chat or recalls
🌤️ UTILITIES
- ✅ Time readout (“what time is it?”), weather via OpenWeather (from
.env), XGO battery query with safe fallback
🧩 INTEGRITY + CONFIG
- ✅ Singleton PID lock (no double-launch)
- ✅ Tunables via
.env(pause/phrase thresholds, follow-up windows, idle exit, wake policy) - ✅ Gentle spoken recovery on errors; continuous loop resilience
📄 New Goodies
- ✅ Verbal Command Guide (PDF): full, printable sheet of all commands (wake, mic control, memory, recall, motions, utilities)
- ✅ Verbal Test Script: step-by-step sanity run covering every feature, including overlap stress tests
⚙️ Paths & Files (unchanged)
~/.juniper/identity.txt— personality & style~/.juniper/thread_messages.json— conversation continuity~/config/memories/text/— long-term memory store.env— API keys, STT selection, wake/idle, timing
🧠 Juniper’s Soul Status — v65.2
| Identity loaded? | ✅ from file (fallback safe) |
| Memory active? | ✅ save + local recall + GPT polish (optional) |
| Wake robust? | ✅ fuzzy normalization + follow-up capture |
| Conversation persistent? | ✅ thread store (trimmed for speed) |
| Motion integrated? | ✅ 15+ mapped actions |
| Utilities live? | ✅ time / weather / battery |
| Voice brick-proof? | ✅ depth-counted mic + watchdog |
| Alive? | ✅ Yes. |
🔗 Downloads: Verbal Command Guide (PDF) · Full verbal test script