● HANDOFF Nyx / Wobbleby / Helios 2026-07-27

Read this before touching anything

Pick this up cold, on a different account.

One long session across three projects, condensed to what a fresh assistant actually needs: current state, the bug pattern that kept recurring, and the traps that cost real time to find.

then paste as your first message on the other account

01 — Who and what

Operator is a solo builder running Nyx, a self-hosted autonomous coding agent (the "agent-orchestrator" repo), which builds his other products. Three live threads:

ProjectPathWhat it is
Nyx~/projects/agent-orchestratorThe agent platform. Plans, marathons, workers, gates, a daemon on localhost:8787.
Wobbleby~/projects/wobblebyExpo/React Native baby milestone + photo app. The product being built.
Helios~/projects/heliosHis dad's healthcare SaaS (remote patient monitoring). Strategy work only.

02 — The through-line

"Instructed" vs "achieved"

The single most useful idea from this session. Every major failure was a status computed from the wrong signal — a system reporting that it performed a step rather than that the step produced a true result. Four instances found and fixed in one day:

  1. The supervisor reported all green for 47 ticks while holding a critical wedged-epic finding. consolidateStatus accepted a detected array and never read it, so a finding that produced no action left the status green.
  2. A venture stage advanced to packet_ready with an empty packet directory — it hashed nothing and moved on, so the gate designed to reject exactly that never ran.
  3. 8,206 tests passed while dispatchPacketPlan was never wired into production, because every test injected a working fake of the missing thing.
  4. A "dev server never answered" timeout that was actually a dead child process — the launcher spawned a package.json script body bare, so vite wasn't on PATH. Raising the timeout could never have helped.

When reviewing anything here, ask what the system would fail to notice. That question found all four.

03 — Nyx

Current state

Tests
8,381 pass
Skipped
3
Failed
0
Files
702

Built this session

Bugs fixed (proven by revert-and-reproduce, not assumed)

Known-open

04 — Wobbleby

Current state

The app has NO new code from this session. Six plans failed and the marathon epic wedged, root cause = machine OOM (80MB free, 3.1GB/4GB swap). The design work is all done and committed; the build never ran.

Design system (approved, committed)

Key docs

The fidelity rule

Comps govern feel and structure. The SPEC governs content and numbers. Where they disagree, the comp is wrong. 03-growth.png literally mislabels a 7-month-old's typical height range — image models fabricate. Numbers come from fixtures and the CDC dataset, never read off an image. Uncomped screens are derived from the system, not improvised.

Ready to run

Queue item AZuCOQ7t4lmw, brief verified correct (twilight direction, tiered build order, all 22 screens, account deletion is ship-blocking). Blocked only on memory.

05 — Helios

Dad's project

Strategy memo live at helios-freetier.pages.dev, built from six research passes. Key conclusions:

06 — Operator

Preferences learned this session

07 — Environment

Hard-won traps

codex exec "<prompt>" -i <ref.png>prompt POSITIONAL, before the variadic -i. Flag-first silently reads stdin, exits 0, produces nothing. Check artifacts on disk, never exit codes.

Background removal: ~/.nyx/tools/rembg-venv/bin/rembg. Install is rembg[cpu,cli] — plain rembg omits the onnxruntime backend and fails only at call time. Verify alpha by PNG colour-type 6 + transparent corners, never by eye.

sips writes PNG bytes into a .jpg name unless you pass -s format jpeg. Cloudflare sends nosniff, so a mislabelled image silently fails to render.

HTML: <img width/height> + CSS width:100% without height:auto stretches images. And background-attachment:fixed needs a background-color or everything below the first viewport goes white.

wrangler pages deploy without --branch main creates a preview; production keeps serving the old build. Always grep the served HTML to confirm.

pnpm install hangs on an interactive purge prompt — use --config.confirmModulesPurge=false.

Editing a queue item's notes does NOT update a plan already created from it. A stale plan pointed at the retired design direction had to be cancelled manually. Always re-check after revising a brief.

08 — Next

Immediate steps

  1. Operator: free memory. 80MB free, swap nearly exhausted; VS Code holds it. Nothing dispatches successfully until then.
  2. Re-dispatch AZuCOQ7t4lmw (Wobbleby twilight rebuild) against the merged tree. This is the real test: can Nyx take a design packet and produce an app?
  3. Then: supervisor detectors, the shared-packet-dir defect, VP2's visual-verification step.

Operator-only, still outstanding: Apple Developer ($99/yr), Google Play ($25), and a large pile of unpushed commits in both repos.

09 — Files

Worth reading first

~/projects/agent-orchestrator/docs/marathon-specs/vp1-venture-pipeline.md
~/projects/agent-orchestrator/docs/marathon-specs/vp2-wireframe-studio.md
~/projects/wobbleby/docs/SCREENS.md
~/projects/wobbleby/design/ASSETS.md
~/projects/wobbleby/design/COMPONENTS.md

Live sites: wobbleby-comps.pages.dev (+ /night, /wireframes), nyx-wireframe-mode.pages.dev, helios-freetier.pages.dev.