Skip to content

Lessons

Workflow lessons

  1. Verify patches actually applied. A patch that reported success and changed nothing cost more time than any real compiler error. Check the tree, not the exit code.
  2. Read the generated makefile, not just the log. The host-vs-target compiler mix-up showed up in the build files long before anything failed.
  3. Long-running jobs must be truly detached. Background jobs die with the shell. Anything measured in hours runs under nohup, logs to disk, and gets a watchdog.
  4. Small deltas. App-side iterations stayed fast because the slow artifacts, one libnode per ABI, were built once and left alone.

Known limitations

  • One-shot embedding per process. Node’s initialization is process-global, so re-running the agent needs an app restart.
  • Watchdog timing. The supervisor stops the loop ~1.5 s after JS reports done. Fine for a proof, tunable for production.
  • Mock model backend. The full loop ran, but against a canned response. The remaining work is credentials and a real provider. The runtime engineering is done.

What comes next

Next is the sibling experiment, droidfx-proof. It asks the same question of a native Zig agent binary, including getting fork(2) past Android’s seccomp policy. Then a real provider behind the embedded SDK makes it shippable.