Files
pbakaus_impeccable/tests/oracle/vectors
Paul Bakaus b6a34de55a Tests: gate behavior on the oracle and the engine binary
Unit tests of the deleted Node scripts and the JS detector are removed;
their behavior is pinned by tests/oracle goldens (frozen JS behavior plus
reviewed deltas) and the engine's own tests. tests/oracle.test.mjs replays
the corpus against the binary (IMPECCABLE_BIN or skill/scripts/bin/<target>/,
via tests/lib/engine-bin.mjs) and skips cleanly without one; the framework
fixture sweep drives live-inject, live-wrap, and detect-csp through the
binary the same way. record.mjs learns --bin. The function-level vectors
under tests/oracle/vectors/calls are committed as the frozen snapshot they
can no longer be regenerated from. Suites: core trimmed to build and
transformer tests, oracle added to the default run, detector/live reduced to
packaging and reference checks, the live-e2e helper tests move to the opt-in
live-e2e lane pending its retarget, cli-remote-e2e is an empty placeholder.

Prepared with AI assistance (Claude Code).
2026-08-31 19:59:20 -07:00
..

Function-level vectors

record-calls.mjs runs the detect CLI and the pure-function unit tests with a loader hook (hooks.mjs / hooks-impl.mjs) that routes every exported function declaration in the pure engine modules through recorder.mjs. Each call whose arguments and result are plain data is written once (deduplicated by arguments) to calls/<module>/<fn>.jsonl as { "args": [...], "result": ... }.

Encoding of values JSON cannot carry: {"$undef":true}, {"$nan":true}, {"$inf":1|-1}, {"$negzero":true}, {"$map":[[k,v],...]}, {"$set":[...]}.

calls/_skipped.json names the functions whose calls held DOM-ish objects or closures; those are covered end to end by the detect goldens instead.

calls/ (about 10 MB) is the frozen snapshot recorded from the JS engine right before it left the tree with the launcher swap. It can never be regenerated: the modules record-calls.mjs, hooks.mjs, hooks-impl.mjs, and recorder.mjs instrumented no longer exist here, and those scripts stay only as the historical record of how the vectors were produced. Treat the directory as read-only test data for the engine's rule-level parity checks.