Raven Scott
dd5890b98c
Core error propagation hardening:
Updated kernel-runner delegate deny path to emit on stderr in packages/bare-os-booter/lib/kernel-runner.js.
Added structured errno metadata (err.code) via vfsErr(...) and applied it to key VFS traversal/permission throws in packages/bare-os-booter/lib/vfs.js (ENOENT/EACCES paths).
Critical command exit-code fixes:
packages/bare-os-coreutils/src/ls.js
Tracks access/stat failures and sets nonzero exit when any operand fails.
packages/bare-os-coreutils/src/grep.js
Recursive walker now reports traversal/stat errors back to main flow so fatal status becomes 2.
packages/bare-os-coreutils/src/rm.js
-f only suppresses not-found style errors; permission/deny failures stay nonzero.
packages/bare-os-coreutils/src/chmod.js
Treats falsy/no-op backend chmod result as failure (nonzero).
packages/bare-os-coreutils/src/find.js
Added root-path preflight so missing root now reports explicit error + nonzero.
Minor quirks:
packages/bare-os-coreutils/src/xargs.js
-P0 now maps to bounded parallel cap (env/default cap), not forced serial.
packages/bare-os-coreutils/src/ulimit.js
-f with value now returns explicit unsupported-setter diagnostic + nonzero.
-f alone reports unlimited.
Regression tests:
Added packages/bare-os-coreutils/test/error-propagation.test.mjs covering:
grep missing file => exit 2
rm -f permission error => nonzero
find missing root => nonzero + diagnostic
ulimit -f 1M => explicit unsupported + nonzero
xargs -P0 bounded behavior
2026-04-27 08:31:31 -04:00
..
2026-04-04 18:09:08 -04:00
2026-04-27 07:59:00 -04:00
2026-04-09 20:42:54 -04:00
2026-04-09 20:42:54 -04:00
2026-04-23 20:49:38 -04:00
2026-04-23 20:39:50 -04:00
2026-04-05 16:34:58 -04:00
2026-04-22 03:44:42 -04:00
2026-04-26 07:05:24 -04:00
2026-04-09 20:42:54 -04:00
2026-04-09 20:42:54 -04:00
2026-04-09 00:53:45 -04:00
2026-04-21 18:22:32 -04:00
2026-04-23 20:39:50 -04:00
2026-04-03 20:46:09 -04:00
2026-04-04 17:51:47 -04:00
2026-04-26 23:49:54 -04:00
2026-04-05 02:08:38 -04:00
2026-04-26 06:57:07 -04:00
2026-04-23 20:39:50 -04:00
2026-04-26 22:28:21 -04:00
2026-04-03 23:44:13 -04:00
2026-04-03 23:42:47 -04:00
2026-04-03 23:44:13 -04:00
2026-04-04 18:09:08 -04:00
2026-04-04 18:46:00 -04:00
2026-04-21 20:05:57 -04:00
2026-04-22 06:38:52 -04:00
2026-04-05 23:14:08 -04:00
2026-04-22 22:24:23 -04:00
2026-04-26 07:48:55 -04:00
2026-04-04 02:51:33 -04:00
2026-04-23 21:24:04 -04:00
2026-04-04 01:20:57 -04:00
2026-04-04 01:20:57 -04:00
2026-04-04 18:09:08 -04:00
2026-04-05 13:50:07 -04:00
2026-04-05 15:04:59 -04:00
2026-04-04 19:23:06 -04:00
2026-04-04 18:41:34 -04:00
2026-04-04 21:23:49 -04:00
2026-04-05 01:31:03 -04:00
2026-04-05 15:52:59 -04:00
2026-04-03 20:46:09 -04:00
2026-04-05 13:50:07 -04:00
2026-04-04 01:20:57 -04:00
2026-04-26 22:28:21 -04:00
2026-04-04 18:46:00 -04:00
2026-04-24 01:14:35 -04:00
2026-04-04 17:51:47 -04:00
2026-04-04 16:39:15 -04:00
2026-04-26 07:15:34 -04:00
2026-04-04 06:39:31 -04:00
2026-04-26 07:48:55 -04:00
2026-04-04 22:39:33 -04:00
2026-04-05 03:16:33 -04:00
2026-04-26 23:49:54 -04:00
2026-04-04 02:34:21 -04:00
2026-04-05 00:45:17 -04:00
2026-04-26 23:49:54 -04:00
2026-04-26 23:49:54 -04:00
2026-04-04 21:23:49 -04:00
2026-04-04 22:39:33 -04:00
2026-04-05 23:14:08 -04:00
2026-04-05 14:17:20 -04:00
2026-04-05 13:50:07 -04:00
2026-04-05 14:45:01 -04:00
2026-04-05 01:06:59 -04:00
2026-04-05 01:31:03 -04:00
2026-04-05 00:32:40 -04:00
2026-04-26 07:22:31 -04:00
2026-04-04 17:51:47 -04:00
2026-04-05 15:52:59 -04:00
2026-04-04 17:51:47 -04:00
2026-04-26 22:28:21 -04:00
2026-04-22 22:09:58 -04:00
2026-04-04 18:41:34 -04:00
2026-04-04 17:51:47 -04:00
2026-04-05 02:08:38 -04:00
2026-04-24 09:05:52 -04:00
2026-04-04 22:00:01 -04:00
2026-04-26 07:22:31 -04:00
2026-04-04 22:39:33 -04:00
2026-04-26 07:22:31 -04:00
2026-04-21 22:45:50 -04:00
2026-04-04 04:33:25 -04:00
2026-04-05 15:52:59 -04:00
2026-04-05 23:14:08 -04:00
2026-04-03 21:39:36 -04:00
2026-04-26 23:49:54 -04:00
2026-04-04 22:28:47 -04:00
2026-04-04 22:13:19 -04:00
2026-04-05 23:01:54 -04:00
2026-04-24 08:54:16 -04:00
2026-04-26 22:28:21 -04:00
2026-04-26 07:48:55 -04:00
2026-04-26 22:28:21 -04:00
2026-04-04 18:20:56 -04:00
2026-04-25 02:59:32 -04:00
2026-04-27 00:41:06 -04:00
2026-04-26 07:15:34 -04:00
2026-04-26 22:28:21 -04:00
2026-04-03 20:46:09 -04:00
2026-04-04 02:51:33 -04:00
2026-04-26 23:17:20 -04:00
2026-04-05 15:04:59 -04:00
2026-04-04 22:13:19 -04:00
2026-04-05 22:45:21 -04:00
2026-04-05 23:14:08 -04:00
2026-04-05 22:45:21 -04:00
2026-04-22 20:06:18 -04:00
2026-04-04 19:08:51 -04:00
2026-04-26 23:49:54 -04:00
2026-04-04 05:54:08 -04:00
2026-04-26 06:19:47 -04:00
2026-04-26 22:28:21 -04:00
2026-04-04 17:06:35 -04:00
2026-04-05 14:45:01 -04:00
2026-04-27 08:31:31 -04:00
2026-04-04 17:51:47 -04:00
2026-04-05 04:33:14 -04:00
2026-04-21 17:26:41 -04:00
2026-04-03 20:46:09 -04:00
2026-04-27 08:07:18 -04:00
2026-04-27 00:41:06 -04:00
2026-04-27 00:41:06 -04:00
2026-04-27 08:15:50 -04:00
2026-04-04 18:09:08 -04:00
2026-04-08 23:07:07 -04:00
2026-04-04 17:51:47 -04:00
2026-04-26 07:48:55 -04:00
2026-04-26 22:28:21 -04:00
2026-04-21 23:19:38 -04:00
2026-04-27 08:07:18 -04:00
2026-04-25 02:00:44 -04:00
2026-04-04 22:00:01 -04:00
2026-04-27 08:31:31 -04:00
2026-04-04 18:09:08 -04:00
2026-04-26 22:28:21 -04:00