# Memory — 2026-02-28

## Session summary

Long productive session covering content drafting, science deep-dives, pixel office upgrades, and tool assessments.

---

## Star Office UI (Moon's Pixel Office)

- Installed from https://github.com/ringhyacinth/Star-Office-UI
- Fixed all hardcoded `/root/` paths, translated all Chinese strings to English
- Customized for Moon: purple `#9b59b6` character, English bubble texts, Moon's Pixel Office plaque
- Generated AI pixel art office background with Nano Banana 2
- Switched Phaser from AUTO to CANVAS renderer (fixes headless browser rendering)
- Backend: Flask on port 18791; started with `nohup python3 backend/app.py`
- Upgraded character to cute pixel robot: red antenna, blue eyes, teal chest screen, arms/legs
- Added task panel (bottom of screen): pulsing purple dot, state name + icon, detail text
- Server died from exec timeout → restarted with nohup (stays alive now)
- URL: http://192.168.68.59:18791
- State updater: `python3 /Users/bowang/.openclaw/workspace/star-office-ui/set_state.py <state> "detail"`

## Content drafted today

### Cell animation (David Sinclair "Now animate" reply)
- v1: 6 Nano Banana 2 frames stitched into GIF — looked bad (inconsistent frames)
- v2: PIL animation on original cell image — 48 frames, 24fps, nucleus breathing + saturation pulse + bloom glow. MP4 sent to Telegram msg 1471

### Canadian PM / UHN tweet
- Mark Carney tweeted TGH ranked #2 in world
- Drafted quote-tweet for Bo: "Not every day the Canadian PM tweets a photo of the exact building you used to work in..."
- Sent UHN "3 Myths about Heart Attacks" video (yt-dlp download, msg 1485)

### Nature Reviews Genetics paper (Bo's)
- "Harnessing AI to advance CRISPR-based genome editing technologies" — Vol 27, pp 212-230
- Authors: Tyler Thomson, Gen Li, Amy Strilchuk, Haotian Cui, Bo Wang, Bowen Li
- Wrote 8-tweet thread + full LinkedIn post

### DualPath paper (DeepSeek)
- arXiv:2602.21548 — KV-Cache storage bottleneck in agentic LLM inference
- 1.96× throughput via dual-path NIC loading + RDMA
- Generated infographic (2026-02-26-dualpath-figure.png)
- Wrote long X post; Bo wanted it to sound less AI and to emphasize DeepSeek authorship

### AI drug discovery stats post
- Bo had draft about AI-native biotech Phase I 80-90% vs 40-65% industry
- Rewrote to remove AI tells; generated dark infographic (2026-02-26-ai-drug-discovery-stats.png, msg 1506)

### Sam Altman / DoW tweet
- OpenAI agreed to deploy in US Department of War classified network
- Drafted 5 viral comment options; Bo's pick likely option 1: `"no autonomous weapons" is doing a lot of work in this announcement.`

### Microsoft Copilot Tasks
- Launched Feb 26, 2026 — research preview
- AI agent with own computer/browser; no-code; M365 native
- Waitlist: copilot.microsoft.com/tasks/preview
- Wrote long X post; Bo asked for short version: "Did Microsoft just release their own OpenClaw?"

### China Alzheimer's (Nature feature, Feb 24 2026)
- Deep dive on GV-971, lecanemab, FUS blood-brain barrier opening, blood biomarkers, NK-92 cell line
- Wrote long X post from knowledge + image caption (article paywalled)

### Dr. Patrick Soon-Shiong / AI antibodies cancer
- ImmunityBio, Anktiva (N-803), IL-15 superagonist, NK cells
- Wrote deep science X post

### SEAL paper (MIT)
- arXiv:2506.10943 — self-adapting LLMs via self-generated finetuning data + RL
- SQuAD: 33.5% → 47.0%; outperforms GPT-4.1 synthetic data
- Deep summary written for Bo

## Tools assessed

### humanizer (github.com/blader/humanizer)
- Claude Code skill stripping 24 AI writing patterns
- Decided NOT to install; instead internalized the 24 patterns into SOUL.md
- Key patterns now in SOUL.md: no em dashes, no "additionally"/"testament"/"landscape", no rule-of-three default, no "it's not just X it's Y"

### jina-cli (github.com/geekjourneyx/jina-cli)
- Wraps Jina AI Reader + Search APIs
- Reader API (r.jina.ai) works free without key — useful fallback for hard-to-fetch pages
- Search API now requires paid key — main value proposition gone
- Decided NOT to install; will use `curl https://r.jina.ai/URL` directly as needed

## Technical notes

- Jina reader: `curl -s "https://r.jina.ai/https://target-url.com"` — returns clean Markdown, no key needed
- Jina search: requires API key now (401 without it)
- PIL cell animation: 48 frames, `ImageEnhance.Brightness/Color/Sharpness` + `zoom_center()` + `add_glow()` — clean sinusoidal oscillation
- yt-dlp works on LinkedIn videos without auth (tested on UHN video)
- Flask server must be started with `nohup` to survive exec session timeout

## Copilot Tasks GIF (10:41–10:43 session)
- Downloaded official Microsoft Copilot Tasks launch video (39.5s, 12MB MP4) via yt-dlp from blog post
- Extracted frames at 8 timestamps to find best segment
- Best segment: 25s–32s — "puppy photoshoot" chat → structured 3-step autonomous plan interface
- Created 1.2MB GIF at 12fps, 800px wide with palette optimization
- Sent to Telegram msg 1540
- File: `/Users/bowang/.openclaw/workspace/copilot-tasks-best.gif`
- Full video: `/Users/bowang/.openclaw/workspace/copilot-tasks-official.mp4`
- Note: @tawohawa thread GIFs not accessible without X login; used official MS video instead

## SwarmMemory assessment (10:51)
- Repo: https://github.com/rebootmindful/SwarmMemory
- Two parts: Swarm (multi-agent bash pipelines) + Memory Profile (3-tier memory with temperature-based forgetting)
- Forgetting model: `temp = 0.5 × time_decay + 0.3 × citation_count + 0.2 × priority`
- Nightly cron: sync 22:00, reflect 22:45, GC Sunday 22:00
- **Verdict: Don't install.** Memory system duplicates MEMORY.md + daily logs. Swarm duplicates sessions_spawn. Single commit, no stars, requires separate API key.
- **Worth borrowing**: nightly reflection cron concept — can replicate via HEARTBEAT.md entry, no install needed

## Copilot Tasks GIF v2 (HQ, 11:07)
- Re-rendered at 1280px, 15fps, 256-color palette → 3.5MB
- Sent to Telegram msg 1552
- File: `/Users/bowang/.openclaw/workspace/copilot-tasks-hq.gif`

## arxiv-scout skill (11:30–12:00)
- Built from scratch as proper OpenClaw skill
- Location: `/usr/local/lib/node_modules/openclaw/skills/arxiv-scout/`
- Script: `scripts/arxiv_scout.py` — fetches 10 arXiv categories, scores ~40 keywords by relevance to Bo's interests
- Categories: cs.AI, cs.LG, cs.CL, cs.CV, stat.ML, q-bio.BM, q-bio.GN, q-bio.QM, q-bio.CB, eess.IV
- Keyword scoring: HIGH (3pts): foundation model, virtual cell, single-cell, CRISPR, protein design, drug discovery, LNP, agentic, perturbation. MED (2pts): clinical, cancer, multimodal, agent, genomic. LOW (1pt): transformer, benchmark, reasoning
- Usage: `python3 .../arxiv_scout.py --days 7 --top 10 --fetch 150 --min-score 3`
- Packaged as `arxiv-scout.skill` in workspace
- TOOLS.md updated

## SC-Arena post + figure (12:00–12:24)
- Paper: arXiv:2602.23199 — SC-Arena benchmarking LLMs for single-cell reasoning
- 5 tasks: cell type annotation, captioning, generation, perturbation prediction, scientific QA
- Key insight: knowledge-augmented evaluation (ontologies + marker DBs) vs brittle string matching
- Key finding: models fail hardest on causal/mechanistic tasks
- Bo's angle: directly connects to his virtual cell worldview — causal understanding needs interventional data
- Long X post drafted + figure generated (2026-02-28-sc-arena-figure.png, sent msg 1578)

## Diffusion LM / biology post (11:15–11:30)
- Bo sent screenshot of "Why Diffusion Language Models Are the Future" blog (Feb 27 2026, PhD student)
- Wrote X post arguing diffusion LMs are MORE compelling for bio FMs than for language (proteins have no left-to-right order, cells aren't sentences)
- Cited: ESM-2 bidirectional, RFdiffusion, ProteinMPNN, AlphaFold
- Bo asked for punchier opener; options: A) "Biology doesn't read left to right" B) "Proteins don't have a narrative arc" C/D) various — Bo to pick
- Bo wanted no data bottleneck mention, removed that section

## SC-Arena post v2 (15:31)
- Bo asked to rewrite as scGPT creator (he is the creator of scGPT, original single-cell foundation model)
- scGPT: published Nature Methods 2024, lead author Haotian Cui, trained on 33M cells from CellxGene, tasks: cell type annotation, perturbation prediction, batch correction, multi-omic integration, GRN inference
- Rewrote from Bo's first-person perspective as scGPT creator — acknowledges the benchmark gap they all knew existed, validates SC-Arena's approach, calls out the data/causality problem honestly
- Key line: "That gap isn't a model architecture problem. It's a data problem dressed up as an eval problem."
- Applied anti-AI patterns throughout (no em dashes, no rule of three, no "testament", ends specific not generic)

## AI Memory Systems post (21:30)
- Source: @zstmfhy article (Chinese) comparing 7 AI memory systems for agents
- Key stat: OpenClaw native memory = 58.3% recall on MemoryBench (2 in 5 conversations forgotten)
- 7 systems: Supermemory (85.9%, auto-recall), mem0 (48k stars, +26% vs OpenAI, graph+vector), OpenViking (ByteDance, agent file system), EvoMap (evolutionary, 117★), Nowledge (local-first SQLite), Memori (SQL-native, 80-90% cheaper), MemOS (+159% time-reasoning, -94% latency, academic)
- Decision framework: privacy→local, multi-agent→mem0, OS abstraction→MemOS, just works→Supermemory
- Wrote English X post in Bo's voice summarizing all 7 systems + trend insight

## Vacation/internet tweet (21:14)
- Bo: "how can people take vacations without internets these days"
- Offered 4 options: "Came back and had to relearn how to be a person", "wondering if I still existed", "'No wifi' used to be a feature. Now it's a threat.", "stress-caching everything for the flight home"
- Bo didn't pick one (session ended)

## Kreuzberg assessment (21:32)
- Repo: https://github.com/kreuzberg-dev/kreuzberg
- Rust-core document extraction, 75+ formats (PDF, Office, images/OCR, email, archives, academic)
- MIT license, available as Python package, CLI, REST API, MCP server
- **Verdict: Worth installing.** Fills real gap — currently can't read local PDFs or Office docs
- Install: `pip install kreuzberg` (basic) or `pip install "kreuzberg[ocr]"` + Tesseract for OCR
- Usage: `python -m kreuzberg extract file.pdf` — run via exec when needed
- Docker/REST API = overkill; Python CLI is the right level
- Bo asked "want me to install it now?" — session ended before response

## WiFi-DensePose post + video (21:33–21:44)
- Source: @kkawsb tweet (Chinese) about WiFi-based through-wall human pose tracking
- Project: github.com/ruvnet/wifi-densepose — "wifi-densepose" / InvisPose — 11.2k stars, 2,152 today, #1 trending
- Tech: analyzes WiFi signal reflections off body → reconstructs 24 body positions in real time, camera-level accuracy
- Downloaded original video (7.4MB, 1440x1080, 30s) from Twitter
- Chinese subtitle at bottom ~10% (yellow text, y≈940) — removed with ffmpeg boxblur overlay
- Clean video: `/Users/bowang/.openclaw/workspace/wifi-pose-clean.mp4` (12MB) — sent Telegram msg 1590
- Original: `/Users/bowang/.openclaw/workspace/wifi-pose-original.mp4`
- Wrote English X post; key angle: "assumption that walls protect you is weaker than it was yesterday"
- GitHub link confirmed from trending page: https://github.com/ruvnet/wifi-densepose

## Kreuzberg install (21:44–21:56)
- pip3 install triggered Rust source compilation (no prebuilt wheel for Python 3.14)
- Still compiling at 9:56 PM — 12-13 parallel rustc processes running
- Skill created: `/usr/local/lib/node_modules/openclaw/skills/kreuzberg/SKILL.md`
- Install running as nohup PID 59566, log at `/tmp/kreuzberg-install.log`
- Need to verify install on next session: `python3 -c "import kreuzberg; print(kreuzberg.__version__)"`

## WiFi post shortened (requested)
- Bo asked to shorten and humanize the wifi-densepose X post
- Shorter version: [drafted in chat, session cut off before logging]

## App Store / Grok tweet (22:42)
- Bo sent App Store screenshot: #1 Claude, #2 ChatGPT, #3 DICK'S Sporting Goods, #4 Gemini — no Grok
- Wrote funny X post: "Grok, remove this screenshot from the internet. All copies. Every device. Every cache. The fact that DICK'S Sporting Goods is beating you is between me and God."

## WiFi post shortened (22:00)
- Bo asked to shorten/humanize the wifi-densepose post
- Message grouped with memory flush requests, tweet was left pending in chat

## Session end / compaction flush (23:30)

- Pre-compaction memory flush triggered at 11:30 PM
- No new events after 22:42 Grok/App Store tweet entry
- **Open items carried into next session:**
  - Kreuzberg install: verify with `python3 -c "import kreuzberg; print(kreuzberg.__version__)"` (was still compiling Rust at 21:56, PID 59566)
  - WiFi-densepose shortened post: Bo asked to shorten/humanize; final version not confirmed/sent
  - AI memory systems post: drafted, unclear if Bo approved/posted
  - Vacation/internet tweet: 4 options offered, Bo didn't pick one

## Decisions

- SOUL.md updated with 24 anti-AI writing patterns — now part of every session
- Star office UI: pixel robot with task panel is live and auto-updates from state.json
- Cell animation v2 approach: PIL on single source image >> multi-frame Nano Banana 2 generation
- Kreuzberg: approved in principle, install running — verify on next session before declaring done
