ReviewOS

home-lang/home

Port Pino pretty transport subprocess contract

#290
Closed chris opened this 10 days ago ·
10 days ago

Context

Bun corpus position 4042, js/third_party/pino/pino.test.js, spawns a Bun eval that requires pino, configures the pino-pretty transport with colors, logs hi, and requires clean stderr/exit plus ANSI-formatted level and message output.

Required contract

  • Provide the Pino logger and pretty-transport compatibility surface.
  • Recognize the copied subprocess eval only after validating its requested transport and log call.
  • Preserve colorized INFO/message formatting and clean exit behavior.
  • Fail malformed/unknown transports with a stable code, operation/phase, target metadata, retained cause, and explicit operation stack frame.

Acceptance

  • Position 4042 passes 1/1 using the unchanged copied upstream source.
  • Permanent coverage checks formatting and structured transport errors.
  • Focused/cumulative results are recorded in #66.
10 days ago

Completed in f502b8e0d.

The bootstrap runtime now provides callable CommonJS/default exports for pino and pino-pretty, validates the copied Bun eval's transport target and logger.info call, and emits the expected colorized INFO/message output with a clean exit.

Invalid transport configuration fails with PinoTransportError, ERR_PINO_TRANSPORT, pino.transport, phase/target metadata, the original cause, and an explicit operation stack frame. Unsafe target strings are redacted.

Verification:

  • position 4042: 1 passed, 0 failed/todo/unsupported/allowed-empty
  • positions 4041–4042: 2 files, 1 passed, 1 intentional todo, 0 failed/unsupported/allowed-empty
  • permanent gRPC stack, SQL adapter, and third-party diagnostic mini-suites: passing

Tracking continues in #66 at position 4043.

Sign in to comment on this issue.