Appearance
MEMORY.md Archive
Incremental archive of older ## Most Recent Decisions sections, peeled off MEMORY.md as it grows past 200 lines. Newest archive sections appended at the bottom.
Archived 2026-05-26 (oldest 46 lines: 2026-05-18 → 2026-05-20)
Most Recent Decisions (2026-05-20)
- Journeys tab fully rebuilt: 382 exercises (S1–S5 + triads), keyboard visualizer (green=current, purple=next), key transposer (12 semitones), family/level/string-set filters, mastery rating (Easy/Good/Hard) → /api/mastery/
- Repertoire tab added (⌘R, 🎸): MIDI/GP Practice player moved here; removed from Journeys bottom panel
- Calendar redesigned: 3-column compare (Last week same day / Yesterday / Today), shared hour labels, NowLine only on Today, sticky date headers
- Mermaid fix: orphaned DOM nodes from failed renders now cleaned up in Diagrams.tsx — "Syntax error" text no longer appears at page bottom
- Triads sequences COMPLETE: all 16 exercises × 36 steps populated via Python voicing generator; zig-zag cycle-of-4ths motion; keyboard visualizer now works for triads too
Most Recent Decisions (2026-05-19 afternoon)
- VPS LIVE (#800004 CLOSED): nnamah-vps on GCP europe-west2-b · e2-micro · Debian 12 · 30 GB · static IP 34.13.8.155 · daily snapshot to EU · HTTP+HTTPS open · procured 2026-05-19
- New open loop #831042: Jimmy Neutron to build sleep mode stack on nnamah-vps (Orochimaru crons, Telegram daemon, morning briefing)
Most Recent Decisions (2026-05-19)
- Dashboard heavy scrutiny complete: 5 stale/done tasks removed (200003, 200004, 200005, 200013, 600007); 23 tasks remain; task ID format locked as 6 random digits, no letters
- Task audit (delta): 15 anomalies resolved, 3 context rules written (Jimmy telegram retention, Thorfinn synthesis protocol, Squidward PDF storage); task-audit-2026-05-19.md written
- Studio TopNav wired: floating fixed top-right overlay (height 34px); sidebar removed; Studio is now full-screen; TopNav dropdown lists all Studio tabs via TAB_SHORTCUTS
- #200003 CLOSED: iOS Shortcut Fix 2+3 resolved server-side — normalise-inbox-captures.sh converts .txt→.md and injects frontmatter; runs 07:05 daily via com.hinata.normalise-inbox LaunchAgent; Shortcut behaviour no longer matters
- Strudel FIXED: optimizeDeps.exclude: ['@strudel/repl'] in vite.config.ts — esbuild was breaking internal chunk reference, preventing strudel-editor web component from registering; code attribute removed from JSX (set via DOM property only); free-mode code snapshots to localStorage (hinata-strudel-free-code)
- Music tool persistence complete: Practice tab now persists selected file, BPM, viewMode to localStorage across tab switches; useElo + useMastery both confirmed solid (localStorage sync + vault API authoritative on mount)
- Flashcard buttons always visible: rating buttons (Hard/Good/Easy/✕) no longer gated on card flip — users can progress cards they already know without clicking to reveal; card still flips on click
Most Recent Decisions (2026-05-18)
- Chord flashcard game LIVE: squidward-music/connections/flashcard.html — standalone HTML, 7521 transition cards from 382 exercises (s1–s5 + triads), SVG fret box renderer, session of 60 cards, Space=reveal/got-it, A=again, again-queue interleaves; no chord quality/type labels shown
- Connections data routed: inbox/Chord Library.zip → squidward-music/connections/data/ (11 JSON files)
- PostureViewer 3D LIVE: Three.js + GLTFLoader; loads human-skeleton-decimated.glb (1MB) as translucent reference skeleton; MediaPipe landmarks from posture-snapshots.json rendered as stick figure (33 joints + bone connections) on top; 4 snapshots dated 2026-01-02; OrbitControls (drag/zoom); posture metrics panel with colour-coded thresholds; two new Vite endpoints: /api/posture-snapshots + /api/posture-skeleton
- transcribe-audio.sh COMPLETE (#200004 closed): --type work|music|general flag, source discard enforced for work audio (retention policy), LaunchAgent at 07:00 daily; music audio → Sandpit/audio/music/
- Morning briefing mail integration LIVE: generate-morning-briefing.py reads mail-digest.json + pending-completions.json; Mail section injected between Open Loops and Cognitive Note; shows routed emails by commander with polled timestamp
- Website tab COMPLETE: MaturityStrip (active phases + %, deliverables), D1StatsPanel (live row counts via /api/d1-stats), infrastructure cards, endpoint inventory (17 routes); d1-stats endpoint added to Worker + deployed; missing schema tables applied to remote D1
- Bulma tab LIVE in Hinata Studio: Flask app logic fully ported — transaction table (date presets, search, category chips, anomaly tags), Weekly WoW comparison, Monthly budget ledger with pro-rata pace, ML Insights (rule-based persona, CompositeGauge, 30-day line chart, top merchants)
- Minato morning briefing overhaul (#800003 closed): generate-morning-briefing.py built; reads MEMORY.md + reference_quote-bank.md; outputs filled v2 template to briefings/YYYY-MM-DD.md; Telegram delivery via existing bot
- Cloudflare Zero Trust michaelnnamah org (#200013 DONE): Option B live, loop closed
- dbt cert loop permanently removed — Michael will study as and when; no tracking
- Practice tab LIVE in Hinata Studio (#400002 closed): AlphaTab GP3/GP4 lead sheet, PNG BPM-scroll, PDF iframe, Piano Roll (Tone.js + @tonejs/midi), per-instrument MIDI export via gp_to_midi.py; seeded with Bach Ave Maria, Naruto Alone, Dragon Ball, Fly Me to the Moon, Chopin Nocturne
- Portfolio desktop layout question: CSS scroll-snap on sections ≥768px is the right approach; hash links (#home, #projects) for navigation — no React Router needed
- Monzo application SUBMITTED by Michael (2026-05-18 morning) — salary anchor £90k, floor £80k
Archived 2026-05-26 wrap-up (2026-05-25 + 2026-05-24 decisions)
[Full archive content preserved in original documentation/activities/reference_memory-archive.md and historical MEMORY.md sections.]
Archived 2026-05-26 evening wrap-up
- 6 Telegram Commander bots live + responder layer (2026-05-26 morning)
- Pilates researcher live end-to-end (2026-05-26 ~03:20)
- Football tenant LIVE on jimmy-vps — #400004 CLOSED (2026-05-26 08:51)
- Token Burn project-name labels live (2026-05-26)