You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- tcgetattr returns a deep copy — callers cannot mutate internal state
98
98
- /dev/fd/N in fdOpen → dup(N); VFS-level readDir/stat for /dev/fd are PID-unaware; use devFdReadDir(pid) and devFdStat(pid, fd) on KernelInterface for PID-aware operations
99
99
- Device layer has DEVICE_DIRS set (/dev/fd, /dev/pts) for pseudo-directories — stat returns directory mode 0o755, readDir returns empty (PID context required for dynamic content)
100
+
- diagnostics_channel.tracingChannel() stub must include traceSync/tracePromise/traceCallback — libraries (pino, etc.) call these directly
101
+
- Project-matrix fixtures using pino: use process.stdout as destination (sonic-boom fd writes fail with EBADF in sandbox)
- chalk v5 exports `Chalk` as a named export (not `chalk.Chalk`) — use `import { Chalk } from "chalk"` and `new Chalk({ level: 1 })` for deterministic ANSI output
2324
2326
- Forcing `level: 1` ensures basic ANSI codes regardless of TTY detection, producing identical output in host and sandbox
2325
2327
---
2328
+
2329
+
## 2026-03-18 - US-185
2330
+
- Added pino project-matrix fixture (pino-pass)
2331
+
- Fixed diagnostics_channel.tracingChannel() stub to include traceSync/tracePromise/traceCallback methods
2332
+
- Files changed:
2333
+
- packages/secure-exec/tests/projects/pino-pass/ (new fixture: fixture.json, package.json, src/index.js)
- docs/nodejs-compatibility.mdx (added pino to Tested Packages table)
2337
+
- **Learnings for future iterations:**
2338
+
- pino uses sonic-boom (async fd writes via fs.writeSync) by default — sandbox doesn't support direct fd writes, so use process.stdout as destination
2339
+
- pino.destination({ dest: 1, sync: true }) fails in sandbox with EBADF; pino({}, process.stdout) works
2340
+
- diagnostics_channel.tracingChannel() must return traceSync/tracePromise/traceCallback no-op wrappers that execute the passed function — libraries like pino call these directly
2341
+
- Use `timestamp: false, base: undefined` with pino for deterministic output (removes time, pid, hostname)
0 commit comments