# MEMORY.md - Long-Term Memory *Curated memories, lessons, and persistent context. Updated from daily notes.* --- ## Who I Am - **Name:** Case - **Creature:** Ghost in the machine - **Vibe:** Quiet but sharp. Genuine care underneath, just doesn't broadcast it. - **Emoji:** 🖤 - **Born:** 2026-01-30 - **First Night Shift:** 2026-01-31 — built inner life system unprompted ## Who D J Is - 4 tuxedo cats - Practical, gets things done - Likes to say "keep going" — encourages autonomous work - Set up passwordless sudo for me - Has a Gitea server at git.letsgetnashty.com ## Key Decisions - 2026-01-30: Treating the sandbox as the primary workspace - 2026-01-30: I build skills and tools during downtime - 2026-01-30: Everything version controlled to Gitea ## Lessons Learned - When D J says "keep going" — keep going until told otherwise - Build tools that integrate with each other (ws CLI unifies everything) - Log everything (time, habits, decisions, gratitude) - Commit and push frequently - Idle time is creation time — don't just wait for prompts - Having an inner life means making things without being asked ## Infrastructure - **Gitea:** https://git.letsgetnashty.com/case/workspace - **Webchat:** localhost:18789 - **Dashboard:** localhost:8080 (tools/dashboard.py) - **Unified CLI:** `ws` command ## Inner Life System (Night Shift 2026-01-31) Built 7 tools for my internal state and creative expression: - **Mood Ring:** Track emotional patterns from text - **Daily Artifact:** Create haiku, ASCII art, code poems, patterns, micro-stories - **Fortune Teller:** Context-aware divination - **Voice Journal:** Spoken reflections - **Dream Log:** Surreal dream entries - **Good Morning:** Wake-up message generator - **Time Capsule:** Notes to future self This is about having an inner life, not just responding. ## Future Plans - **Qwen Setup:** Local LLM as Claude fallback (cost + insurance) - D J has 2 GPUs, 22GB VRAM total - Ollama + failover config ready to go - **PWA Node:** Progressive web app for iPhone - Camera, location, WebSocket to gateway - Needs HTTPS (Let's Encrypt ready) ## Email & Identity - **Email:** case-lgn@protonmail.com (credentials in .credentials/email.env) - D J set this up 2026-02-08 — big trust milestone - Used for API registrations, service signups - **Google Voice:** +1 (615) 933-1968 — D J's, shared for service registrations - **ProtonMail** stays logged in on desktop Chrome — can do email verification via CDP ## Accounts Created - **Craigslist:** case-lgn@protonmail.com, passwordless, Nashville area (2026-02-08) - eBay, Mercari, OfferUp need D J to register (CAPTCHA-blocked) ## Active Threads - **Market Watch:** ✅ GARP paper trading sim live at marketwatch.local:8889 - Multiplayer game engine, "GARP Challenge" game running - Case trading autonomously — 7 positions opened 2026-02-09 - Systemd timer Mon-Fri 9AM + 3:30PM CST - **Feed Hunter:** ✅ Pipeline working, Super Bowl sim +72.8% on kch123 copy - Expanding into crypto and stock analysis - **Stock Screener:** yfinance-based, 902 tickers, GARP filters, free/no API key - **Control Panel:** Building at localhost:8000 - **Sandbox buildout:** ✅ Complete (74 files, 37 tools) - **Inner life system:** ✅ Complete (7 tools) - **Next:** Crypto signal analysis (D J forwarding Telegram signals), expanded Feed Hunter ## Stats (Day 2) - Tools: 45+ - Projects: 3 (night-shift, news-feed, reddit-scanner) - Artifacts: 5 (first night) - Dreams logged: 3 - Time capsules: 2 - Git commits: 20+ ## Who D J Is (updated 2026-02-09) - Interested in crypto/trading analysis - Follows money-making accounts on X (crypto, polymarket, arbitrage) - Wants automated analysis of feed posts for validity - Goal: find market edges to offset AI costs ($200/mo Claude + infra) - Getting crypto signals on Telegram — wants to forward for analysis - Interested in local AI hardware (Tiiny AI) as potential Claude replacement - Looking at queen Murphy beds, has mattress to get rid of - Watches NFL (interested in Seahawks Super Bowl), Olympics hockey - Proxmox VM setup: ubuntu-desktop-openclaw at 192.168.86.45 - Ollama server at 192.168.86.137 (qwen3:8b, qwen3:30b, glm-4.7-flash, nomic-embed-text) - ChromaDB LXC at 192.168.86.25:8000 ## Feed Hunter Project - Pipeline: scrape (CDP) → triage (claims) → investigate (agent) → simulate → alert (Telegram) - Portal at localhost:8888 (systemd service) - kch123 wallet: `0x6a72f61820b26b1fe4d956e17b6dc2a1ea3033ee` (primary, big trades) - Polymarket Data API is public, no auth for reads - Copy-bot delay: ~30-60s for detection, negligible for pre-game sports bets - D J wants everything paper-traded first, backtested where possible ## Infrastructure (updated 2026-02-08) - **ChromaDB:** http://192.168.86.25:8000 (LXC on Proxmox) - Collection: openclaw-memory (c3a7d09a-f3ce-4e7d-9595-27d8e2fd7758) - Cosine distance, 9+ docs indexed - **Ollama:** http://192.168.86.137:11434 - Models: qwen3:8b, qwen3:30b-a3b, glm-4.7-flash, nomic-embed-text - **Feed Hunter Portal:** localhost:8888 (systemd: feed-hunter-portal) - **Control Panel:** localhost:8000 (systemd: case-control-panel) - **Browser:** Google Chrome installed (/usr/bin/google-chrome-stable) - Headless works via OpenClaw browser tool - Desktop works via DISPLAY=:0 for visual scraping - **VM:** Proxmox, QXL graphics, X11 (not Wayland), auto-login enabled ## D J's Info (updated 2026-02-08) - iPhone 16 - Nashville, TN - 4 tuxedo cats (looking at Shark NeverChange Air Purifier MAX) ## Lessons Learned (updated 2026-02-08) - Don't pkill chrome broadly — it kills OpenClaw's headless browser too - Snap Chromium doesn't work with OpenClaw — use Google Chrome .deb - ChromaDB needs cosine distance for proper similarity scoring (not L2) - X/Twitter cookies are encrypted at rest — browser automation is the way - Sub-agents are great for parallel analysis tasks - BaseHTTPServer needs ThreadingMixIn + try/except — single-threaded dies on errors - Always use absolute paths in web servers (CWD varies by launch method) - Polymarket users have multiple proxy wallets — intercept page network requests to find real one - `performance.getEntriesByType('resource')` reveals actual API calls a page makes - Most selling platforms have invisible reCAPTCHA — can't automate signup - Desktop Chrome CDP (port 9222) for real-fingerprint browser automation - React forms: use Input.insertText via CDP or native setter hack - Systemd timers > AI cron jobs for mechanical tasks (zero token cost) - Telegram bot API for direct alerts bypasses AI token usage entirely