Enigma: quiet filesystem diagnostics without hiding failures
The runner now supports --quiet-fs. Combined with --trace-api, it disables
the incidental per-ReadFile diagnostic in both the main and process-scoped
contexts. --trace-fs still requests those records explicitly. Default behavior,
verbose filesystem messages, API failures, unimplemented traps and output guards
are unchanged. No console method is replaced and no output budget is enlarged.
The exact logger is lib/filesystem.js's fs_read_file_result: it logs when
ctx._debugReadFile or the explicit fs trace category is set. test/run.js
previously set _debugReadFile: TRACE_API in both contexts, independent of
the API-name filter and the existing preload's 16-record cap. This explains
the previously observed output guard during gfx32/fl-concrete.png reads.
The option now sets TRACE_API && !QUIET_FS; the filesystem module is unchanged.
Historical runner adapter
The new option is a change based on current-main donor
9183b84473507ffe7c0598725e080a821c747945; it did not already exist in the
historical Enigma runner. Current-main input runner SHA256 is
3c59fd034391e069f24a6047cf96cd8dac84a791d7d7591d55e5f7cb6e161a5e.
tools/enigma-quiet-filesystem.cjs is the reusable adapter for the retained
historical runner. It replaces, rather than chains with, the earlier
preload.cjs, preserving that preload's exact two API-cap transformations and
adding only the two _debugReadFile: false substitutions. Both files are
checked before installation, with runner and filesystem identity checked again
when their exact filenames compile. Unrelated modules pass through unchanged.
Missing runner-root configuration rejects preload installation.
Canonical donor /home/user/wine-assembly-shadow-man-span-static-canonical-oct23,
revision d8cd8c54c8d63c107696f1e4ef7a1e229dcadc1e:
| File | Required SHA256 |
|---|---|
| test/run.js | 4d7b9587676db38fcf3314807acb2b2a42b5f09d2c98fcf3dccb8a6cde9e1809 |
| lib/filesystem.js | 4c255570c74512262849420c74fe73704fcfe006dc09fb963272c66c9ea0b27e |
The filesystem hash is also identical in current main. The historical runner
hash is not. The adapter rejects current main instead of falsely treating it
as the canonical historical runner. Inputs and prior preload/capture/supervisor
identities are in enigma-quiet-filesystem-20261024/input-identities.json.
Validation
Run ENIGMA_CANONICAL_RUNNER=/tmp/enigma-quiet-filesystem-runner-oct24/canonical node --max-old-space-size=256 test/enigma-quiet-filesystem.test.cjs (join the
line break with a space). The fixture consists only of the two pinned Git blobs.
Without that environment variable, the reusable test covers current-main mode;
historical acceptance in this task used both pinned files.
The real filesystem module and its VirtualFS run in supported browser export
mode with a 4 KiB host ArrayBuffer and identity address translation, without
WASM, guest execution or providers. 2,000 successful reads emit 201,999 bytes
under the old setting and zero with quiet mode. Read bytes/counts stay correct,
invalid-handle error 6 remains intact, and explicit fs tracing emits two records.
Both runner context assignments are evaluated from actual source. The adapter's
actual extracted API logger emits exactly 16 of 40 requests. Its installed
compile hook preserves fatal API stdout, unimplemented stderr, and an uncaught
guard exception with exit 1. Mutated runner/filesystem, current-main runner and
missing preload configuration all reject. This is logger qualification, not
an Enigma startup or gameplay run.
The local synthetic output control sets RLIMIT_FSIZE to exactly 131072, writes that many bytes, then attempts one more: error 27 / exit 1, file length 131072. The temporary payload was deleted after recording the receipt. Existing guest supervision and guard code remain untouched. Two initial test-fixture failures are retained: incorrect browser RegionMap injection, then a baseline read count too small to cross the guard. Corrected fixture uses the real global name and 2,000 reads; the output limit itself was never changed.
Next execution, coordinator owned
enigma-quiet-filesystem-20261024/next-child-command.txt is the exact child
command; next-argv.json and next-env.json are its structured equivalent.
It preserves all previous provider, asset-tree, batch/time, memory, count,
input and API-selection arguments. The only argv change replaces the old
preload with this adapter and the original capture preload. Set
ENIGMA_RUNNER_ROOT=/tmp/enigma-provider-complete-startup-oct24/runner.
The adapter never automatically loads the capture preload, so both --require
arguments in the supplied command are required to preserve capture behavior.
This command is a child argv for the next authorized guarded supervisor run, not an instruction to launch an unsupervised process. Restore the retained manifest's canonical runtime files first; they need not exist in this offline checkout. The coordinator must supply a fresh box/allocation, admission and exact canonical mount-parser validation, including the unchanged tree mount, and retain the 131072-byte output guard, 60-second outer wall limit and existing capture identity/pixel checks. No mount argv or conditional guest execution was used in this task; mount validation is therefore not claimed. No runtime outcome beyond the old batch-11689 output stop is inferred.
Resources and publication
Initial measured admission projected 50,649,774 bytes including focused Git/source/temp/evidence, full external session bytes, future history/events, positive SQLite growth and 8 MiB reserve; host free after projected increment 3,608,044,882 bytes. Limits: 64 MiB total, 24 MiB/file, fresh MemAvailable at least 805306368, Node heap 256 MiB, CPU/wall at most 60 seconds for cheap tests. The final test used 0.041 seconds wall. Captures retain a conservative initial 110000-byte charge against 1 MiB; instruction accounting retains 46000 bytes against 64 KiB. Final measured resource and cleanup receipts accompany this report. Readonly donors/tools are standing inputs, not copied tool installs. Alternate-depth Git stderr is retained under the task root, not repeatedly dumped. Root tracked files/index/refs and all donors remain readonly.
No build, instantiation, guest, browser, acquisition, main merge, public deploy
or box action occurred. No box was assigned. Prior bx_fvkjwxap was coordinator
reported snapshot-stopped; lifecycle remains with the coordinator. Only this
task's watcher and temporary output-control payload require cleanup.