JAB-002: implement a standard console object in beagle/js/ — console.log/info/debug → stdout, warn/error → stderr, Node-style multi-arg + %s/%d/%o formatting

The jab JS runtime has NO console global: scripts hand-roll utf8.Encode → io.buf → io.write(fd) for every line, and io.log only writes raw strings/typed arrays to stderr (no formatting, no stdout). Surfaced by SUBS-041, whose worker needed a diagnostic line and found "no console/log global." Add a standard console object as a focused new beagle/js/ binding module (console.cpp + a JABCConsoleInstall() hook), layering over the existing utf8/io write leaves: log/info/debug → stdout (fd 1), warn/error → stderr (fd 2), with Node-like behaviour (multi-arg space-join, %s/%d/%i/%f/%j/%o/%% specifiers, non-string args stringified). Scope: beagle C++ (beagle/js/). See Issues.

Input

Context

Goals

Constraints

WIP

Design decisions

TODOs

Blockers and bummers

Outcome