{"slug":"cncp-failures-mockups","total":15,"limit":100,"offset":0,"since":null,"commits":[{"hash":"6717b75","date":"2026-07-03 08:07:54 -0700","author":"Steve","subject":"chore: macstudio3 migration — reconcile from mac2 + repoint paths (stevestudio2→macstudio3, node/npm/npx→/opt/homebrew)","body":""},{"hash":"e860d55","date":"2026-05-31 16:56:02 -0700","author":"SteveStudio2","subject":"Link favicon.svg in head (use branded SVG, not .ico fallback)","body":""},{"hash":"844562b","date":"2026-05-31 16:32:27 -0700","author":"SteveStudio2","subject":"Add per-site favicon (kills /favicon.ico 404)","body":""},{"hash":"dec04b6","date":"2026-05-20 00:27:38 -0700","author":"Steve","subject":"add: pre-stage Meta Pixel snippet (placeholder; flip via _dw-batch set-fb-pixel.sh)","body":"Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>"},{"hash":"c0aa565","date":"2026-05-19 17:32:21 -0700","author":"SteveStudio2","subject":"Block .bak/.pre- snapshot artifacts from static serving + gitignore","body":"- Broadens .gitignore to cover editor/build snapshots (*.bak, *.bak.*,\n  *.pre-*, *.swp, tmp/, dist/, build/, .next/) so accidental snapshots\n  never enter the repo.\n- Adds an Express middleware 404-guard before express.static so any\n  .bak / .pre- / .swp path returns 404 even if a snapshot slips into\n  public/ on disk.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>"},{"hash":"2fdc877","date":"2026-05-19 17:31:35 -0700","author":"SteveStudio2","subject":"Add noreferrer to \"Open in new tab\" link","body":"target=_blank links should always pair with rel=\"noopener noreferrer\".\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>"},{"hash":"c2c9b1a","date":"2026-05-13 05:28:51 -0700","author":"SteveStudio2","subject":"gitignore: protect .env* from accidental commits per MEMORY rule","body":""},{"hash":"71f59dd","date":"2026-05-11 16:34:53 -0700","author":"Steve","subject":"cncp mockups: make entire card clickable to open variant + new-tab link · keyboard navigable","body":""},{"hash":"e689769","date":"2026-05-11 16:24:56 -0700","author":"SteveStudio2","subject":"v7 voices = per-band ElevenLabs stock voices (no pitch-shift) + age-on-login modal with localStorage persistence; 8 voices pre-warmed","body":""},{"hash":"2f518c5","date":"2026-05-11 16:21:06 -0700","author":"SteveStudio2","subject":"v7 voice: replace Web Speech with Steve's ElevenLabs cloned voice + per-band ffmpeg pitch/tempo shift; /api/voice endpoint with sha256 cache; 8 greetings pre-warmed; falls back to Web Speech on error","body":""},{"hash":"3ab046b","date":"2026-05-11 16:12:18 -0700","author":"SteveStudio2","subject":"v7 voices: 8 per-band TTS profiles (voice/pitch/rate) via Web Speech API; greeting on band change, blurbs in modal open, toast narration; mute toggle","body":""},{"hash":"788f2be","date":"2026-05-11 16:04:39 -0700","author":"SteveStudio2","subject":"v7 UI hooks: 8 band quick-jump pills, per-band modal/toast handlers, mark-resolved flow, Esc + × close, toddler celebration, elder confirm-then-resolve","body":""},{"hash":"12220e8","date":"2026-05-11 14:41:39 -0700","author":"SteveStudio2","subject":"v7 age-adaptive: 3→95 slider morphs UI through 8 design bands (toddler/kid/tween/teen/adult/mature/senior/elder) with band-specific palette/font/density/copy + index tile","body":""},{"hash":"5d00c00","date":"2026-05-11 13:47:45 -0700","author":"SteveStudio2","subject":"live-data toggle: /data proxies real CNCP failures + hermes status by default; ?seed=1 forces design-stable seed; meta badge + LIVE/SEED switcher on index + auto-refresh 30s","body":""},{"hash":"885ca32","date":"2026-05-11 13:37:12 -0700","author":"SteveStudio2","subject":"scaffold: 6 visually-distinct mockups of CNCP Failures+Hermes panel, web viewer on :9771","body":""}]}