{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "scanner-9b8d77a2bbb2ae75", "name": "Stray `console.log` in TS/JS \u2014 packages/emnapi/script/build.js:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/emnapi/script/build.js:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ad33eda93a8ff8ba", "name": "Stray `console.log` in TS/JS \u2014 packages/emnapi/src/emnapi.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/emnapi/src/emnapi.ts:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c0d14c39354798dc", "name": "Stray `console.log` in TS/JS \u2014 packages/test/worker.js:102", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/worker.js:102"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d63af2dfc12d01f", "name": "TODO/FIXME marker in shipping code \u2014 packages/test/gc.js:114", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/test/gc.js:114"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f6f2eae5c9538e56", "name": "Stray `console.log` in TS/JS \u2014 packages/test/gc.js:120", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/gc.js:120"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5ab9f86ec746369f", "name": "TODO/FIXME marker in shipping code \u2014 packages/test/common.js:268", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/test/common.js:268"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7d0b0c978a0c872d", "name": "Stray `console.log` in TS/JS \u2014 packages/test/common.js:98", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/common.js:98"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a795af79cf4cbbfc", "name": "Stray `console.log` in TS/JS \u2014 packages/test/util.js:145", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/util.js:145"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7b2538e15a282e87", "name": "Stray `console.log` in TS/JS \u2014 packages/test/node-addon-api/handlescope.test.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/node-addon-api/handlescope.test.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-636ca35bd2f0cf74", "name": "Stray `console.log` in TS/JS \u2014 packages/test/node-addon-api/common/index.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/node-addon-api/common/index.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-83cd39cfbcf6289f", "name": "Stray `console.log` in TS/JS \u2014 packages/test/function/function.test.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/function/function.test.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7be6319e76fea46d", "name": "Stray `console.log` in TS/JS \u2014 packages/test/tsfn2/main.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/tsfn2/main.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c619fc620d0d6fb1", "name": "Stray `console.log` in TS/JS \u2014 packages/test/trap_in_thread/trap_in_thread.test.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/trap_in_thread/trap_in_thread.test.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-17a17289500e6641", "name": "TODO/FIXME marker in shipping code \u2014 packages/test/make_callback/make_callback.test.js:38", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/test/make_callback/make_callback.test.js:38"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c2aeb79ca7ee8aed", "name": "Stray `console.log` in TS/JS \u2014 packages/test/typedarray/typedarray.test.js:74", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/typedarray/typedarray.test.js:74"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-96401402ff17d68b", "name": "Stray `console.log` in TS/JS \u2014 packages/test/finalizer/finalizer_fatal.test.js:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/finalizer/finalizer_fatal.test.js:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bd3afae5ea575d00", "name": "Stray `console.log` in TS/JS \u2014 packages/test/tsfn/tsfn.test.js:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/tsfn/tsfn.test.js:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ebb5f2e022a2f10c", "name": "Stray `console.log` in TS/JS \u2014 packages/test/tsfn/tsfn-wasi.js:85", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/tsfn/tsfn-wasi.js:85"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4befbead9d10023f", "name": "Stray `console.log` in TS/JS \u2014 packages/test/async_cleanup_hook/async_cleanup_hook.test.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/async_cleanup_hook/async_cleanup_hook.test.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d1e010a4d08d154", "name": "Stray `console.log` in TS/JS \u2014 packages/test/script/test-entry.js:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/script/test-entry.js:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-834ff5e6b48b65c2", "name": "Stray `console.log` in TS/JS \u2014 packages/test/script/test.js:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/script/test.js:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-569bcffbf0428110", "name": "Stray `console.log` in TS/JS \u2014 packages/test/script/test-build-all-napi-version.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/script/test-build-all-napi-version.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7611ea6680cf0b00", "name": "Stray `console.log` in TS/JS \u2014 packages/test/hello/hello.test.js:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/hello/hello.test.js:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-25f60dc45dbf1029", "name": "Stray `console.log` in TS/JS \u2014 packages/test/bigint/bigint.test.js:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/bigint/bigint.test.js:71"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-73e67112fe5e8d8d", "name": "Stray `console.log` in TS/JS \u2014 packages/test/pool/pool-wasi.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/pool/pool-wasi.js:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-98b335943ca34c99", "name": "Stray `console.log` in TS/JS \u2014 packages/test/dataview/dataview.test.js:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/dataview/dataview.test.js:71"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8d19df20dcb32756", "name": "Stray `console.log` in TS/JS \u2014 packages/test/async/async-wasi.js:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/async/async-wasi.js:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-45a982c361240090", "name": "Stray `console.log` in TS/JS \u2014 packages/test/async/main.js:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/async/main.js:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d30309c79c1a1a40", "name": "Stray `console.log` in TS/JS \u2014 packages/test/emnapitest/emnapi.test.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/emnapitest/emnapi.test.js:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9a0e436c104450f4", "name": "Stray `console.log` in TS/JS \u2014 packages/shared/src/build.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/shared/src/build.ts:36"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3eb6464550dcd0f5", "name": "Stray `console.log` in TS/JS \u2014 packages/wasi-threads/test/worker.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/wasi-threads/test/worker.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46c46036b34c4ac9", "name": "Stray `console.log` in TS/JS \u2014 packages/wasi-threads/test/browser-worker.js:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/wasi-threads/test/browser-worker.js:5"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7af1667d5b7f5bf5", "name": "Stray `console.log` in TS/JS \u2014 packages/wasi-threads/test/build.js:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/wasi-threads/test/build.js:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0a51b5bcb96e03b3", "name": "Stray `console.log` in TS/JS \u2014 packages/wasi-threads/test/run.js:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/wasi-threads/test/run.js:46"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2393182af4227d99", "name": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/exported-function-ref.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/exported-function-ref.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bd040a6984052bdb", "name": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/bundle.js:3", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/bundle.js:3"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-031af4d39641f457", "name": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/alias.js:3", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/alias.js:3"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8b43d2242da3f7bd", "name": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/object-literal.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/object-literal.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-60a7d791aad5ec1f", "name": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/virtual-modules.js:4", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/virtual-modules.js:4"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-04d33442b2a69aed", "name": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/input/exported-function-ref.js:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/input/exported-function-ref.js:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7faea82a39ecd214", "name": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/input/alias.js:4", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/input/alias.js:4"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-12489f234b5d2915", "name": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/input/object-literal.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/input/object-literal.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a538b4d6a7853f49", "name": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/input/virtual-modules.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/input/virtual-modules.js:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b7fa43422478fc7b", "name": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/rollup/src/dep.ts:4", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/rollup/src/dep.ts:4"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-80d1a3526740391c", "name": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/src/index.ts:213", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/src/index.ts:213"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b38854f316fbe138", "name": "Stray `console.log` in TS/JS \u2014 packages/bench/index.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/bench/index.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b95b16b550a35965", "name": "Stray `console.log` in TS/JS \u2014 packages/runtime/script/build.js:177", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/runtime/script/build.js:177"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fbde1ebe9d4fb0ed", "name": "TODO/FIXME marker in shipping code \u2014 packages/runtime/src/ObjectTemplate.ts:6", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/runtime/src/ObjectTemplate.ts:6"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-deb53457bc4bcb5f", "name": "Stray `console.log` in TS/JS \u2014 packages/example/index-wasi.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/example/index-wasi.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dd9bfdaec09ed68d", "name": "Stray `console.log` in TS/JS \u2014 packages/example/index-emscripten.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/example/index-emscripten.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eacc00a63dcb47a8", "name": "TODO/FIXME marker in shipping code \u2014 packages/core/src/emnapi/index.d.ts:71", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/emnapi/index.d.ts:71"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a0c4d51cab88e267", "name": "Stray `console.log` in TS/JS \u2014 script/spawn.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 script/spawn.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bfe50bb7ecb2dd08", "name": "Stray `console.log` in TS/JS \u2014 script/which.js:54", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 script/which.js:54"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-356c7de1caac82eb", "name": "Stray `console.log` in TS/JS \u2014 script/release.js:225", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 script/release.js:225"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7b96f9b388dd667b", "name": "Insecure pattern 'new_function_used' in packages/emnapi/script/preprocess.js:165", "shortDescription": {"text": "Insecure pattern 'new_function_used' in packages/emnapi/script/preprocess.js:165"}, "fullDescription": {"text": "Found a known-risky pattern (new_function_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9447b3598e4939ee", "name": "Insecure pattern 'node_child_process' in packages/emnapi/script/build.js:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/emnapi/script/build.js:4"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4d815069aa773336", "name": "Insecure pattern 'new_function_used' in packages/runtime/src/util.ts:35", "shortDescription": {"text": "Insecure pattern 'new_function_used' in packages/runtime/src/util.ts:35"}, "fullDescription": {"text": "Found a known-risky pattern (new_function_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-38efdc373db60d9b", "name": "Insecure pattern 'node_child_process' in script/spawn.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in script/spawn.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b7f5beb29b7399d2", "name": "Insecure pattern 'node_child_process' in script/fetch-v8-headers.js:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in script/fetch-v8-headers.js:4"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-776e1f9516f47e9e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-64192a3c67110d01", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1d7e834080dbebed", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "softprops/action-gh-release@v3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-299e5e0d9ac9f81f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cb639d9a10a47b23", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b3ed68815bca2f8c", "name": "Node manifest has dependencies but no lockfile: package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-67a848ffef2a552c", "name": "Node manifest has dependencies but no lockfile: packages/rollup-plugin-emscripten-esm-library/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/rollup-plugin-emscripten-esm-library/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-332c996d13baab17", "name": "Node manifest has dependencies but no lockfile: packages/test/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/test/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-480df648bcef93e8", "name": "Node manifest has dependencies but no lockfile: packages/wasi-threads/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/wasi-threads/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ce71fe63000afe35", "name": "Node manifest has dependencies but no lockfile: packages/bench/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/bench/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8d2d76cbf0bd201a", "name": "Node manifest has dependencies but no lockfile: packages/ts-transform-macro/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/ts-transform-macro/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-52d796fddd5f858a", "name": "Node manifest has dependencies but no lockfile: packages/runtime/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/runtime/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-00205d293b796136", "name": "Node manifest has dependencies but no lockfile: packages/example/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/example/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-28e92806c0db3cd2", "name": "Node manifest has dependencies but no lockfile: packages/core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/core/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 56 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6dc62ce576f35b9d", "name": "Legacy-named symbol `_napi_register_wasm_v1` in packages/emnapi/index.js:45", "shortDescription": {"text": "Legacy-named symbol `_napi_register_wasm_v1` in packages/emnapi/index.js:45"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0cdb8418eda7b82c", "name": "Commented-code block (5 lines) in packages/emnapi/src/util.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in packages/emnapi/src/util.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cf7a60e432791774", "name": "Legacy-named symbol `napi_create_buffer_copy` in packages/emnapi/src/value/create.ts:491", "shortDescription": {"text": "Legacy-named symbol `napi_create_buffer_copy` in packages/emnapi/src/value/create.ts:491"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-10577dcee9ee9af7", "name": "Legacy-named symbol `node_api_module_get_api_version_v1` in packages/emnapi/src/core/init.ts:159", "shortDescription": {"text": "Legacy-named symbol `node_api_module_get_api_version_v1` in packages/emnapi/src/core/init.ts:159"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-52b1a067dfac186c", "name": "Commented-code block (10 lines) in packages/emnapi/src/core/index.ts:25", "shortDescription": {"text": "Commented-code block (10 lines) in packages/emnapi/src/core/index.ts:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aac6d4ab81b24ef3", "name": "Legacy-named symbol `_napi_register_wasm_v1` in packages/emnapi/src/emscripten/init.ts:10", "shortDescription": {"text": "Legacy-named symbol `_napi_register_wasm_v1` in packages/emnapi/src/emscripten/init.ts:10"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fdfb18655f6f0dda", "name": "Commented-code block (12 lines) in packages/emnapi/src/emscripten/init.ts:13", "shortDescription": {"text": "Commented-code block (12 lines) in packages/emnapi/src/emscripten/init.ts:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6ed336540b501cdd", "name": "Commented-code block (9 lines) in packages/emnapi/src/emscripten/index.ts:31", "shortDescription": {"text": "Commented-code block (9 lines) in packages/emnapi/src/emscripten/index.ts:31"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bf0ea5db15c6546d", "name": "Commented-code block (25 lines) in packages/test/gc.js:71", "shortDescription": {"text": "Commented-code block (25 lines) in packages/test/gc.js:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-55cfb49ed3e9e6b0", "name": "Commented-code block (7 lines) in packages/test/common.js:3", "shortDescription": {"text": "Commented-code block (7 lines) in packages/test/common.js:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6a7a370d49a3cd7e", "name": "Commented-code block (13 lines) in packages/test/make_callback/make_callback.test.js:41", "shortDescription": {"text": "Commented-code block (13 lines) in packages/test/make_callback/make_callback.test.js:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-85c33ea635b58082", "name": "Commented-code block (5 lines) in packages/test/async_context/gcable-callback.test.js:57", "shortDescription": {"text": "Commented-code block (5 lines) in packages/test/async_context/gcable-callback.test.js:57"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a5afd616c0c06dda", "name": "Commented-code block (11 lines) in packages/test/tsfn/tsfn.test.js:69", "shortDescription": {"text": "Commented-code block (11 lines) in packages/test/tsfn/tsfn.test.js:69"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-af2150f1d1399075", "name": "Commented-code block (11 lines) in packages/test/tsfn/tsfn-wasi.js:107", "shortDescription": {"text": "Commented-code block (11 lines) in packages/test/tsfn/tsfn-wasi.js:107"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c5d057a08afa98b8", "name": "Commented-code block (7 lines) in packages/test/runjs/runjs.test.js:4", "shortDescription": {"text": "Commented-code block (7 lines) in packages/test/runjs/runjs.test.js:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8237fdb71a9ac8ec", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/example/wasi-module-loader.js:44", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/example/wasi-module-loader.js:44"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c4ca7f280b1c254a", "name": "Commented-code block (11 lines) in packages/core/src/worker.ts:77", "shortDescription": {"text": "Commented-code block (11 lines) in packages/core/src/worker.ts:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-143ba02b00c79ac6", "name": "Commented-code block (11 lines) in script/release.js:44", "shortDescription": {"text": "Commented-code block (11 lines) in script/release.js:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/21584"}, "properties": {"repository": "toyobayashi/emnapi", "repoUrl": "https://github.com/toyobayashi/emnapi", "branch": "main"}, "results": [{"ruleId": "scanner-9b8d77a2bbb2ae75", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/emnapi/script/build.js:38"}, "properties": {"repobilityId": "642739257165255d", "scanner": "scanner-primary", "fingerprint": "9b8d77a2bbb2ae75", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ad33eda93a8ff8ba", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/emnapi/src/emnapi.ts:21"}, "properties": {"repobilityId": "5ca78135bd170fe1", "scanner": "scanner-primary", "fingerprint": "ad33eda93a8ff8ba", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c0d14c39354798dc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/worker.js:102"}, "properties": {"repobilityId": "ef26267205d76d15", "scanner": "scanner-primary", "fingerprint": "c0d14c39354798dc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6d63af2dfc12d01f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/test/gc.js:114"}, "properties": {"repobilityId": "38f8ca73ae91c97d", "scanner": "scanner-primary", "fingerprint": "6d63af2dfc12d01f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f6f2eae5c9538e56", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/gc.js:120"}, "properties": {"repobilityId": "494b7abf97849e75", "scanner": "scanner-primary", "fingerprint": "f6f2eae5c9538e56", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5ab9f86ec746369f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/test/common.js:268"}, "properties": {"repobilityId": "03bf1c7fcd92854c", "scanner": "scanner-primary", "fingerprint": "5ab9f86ec746369f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7d0b0c978a0c872d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/common.js:98"}, "properties": {"repobilityId": "c4c2603cab01d9ad", "scanner": "scanner-primary", "fingerprint": "7d0b0c978a0c872d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a795af79cf4cbbfc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/util.js:145"}, "properties": {"repobilityId": "d71eaacc5d8a9faa", "scanner": "scanner-primary", "fingerprint": "a795af79cf4cbbfc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7b2538e15a282e87", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/node-addon-api/handlescope.test.js:9"}, "properties": {"repobilityId": "dd7232263f547b7e", "scanner": "scanner-primary", "fingerprint": "7b2538e15a282e87", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-636ca35bd2f0cf74", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/node-addon-api/common/index.js:25"}, "properties": {"repobilityId": "242862e27b0bdb56", "scanner": "scanner-primary", "fingerprint": "636ca35bd2f0cf74", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-83cd39cfbcf6289f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/function/function.test.js:14"}, "properties": {"repobilityId": "024eec2fc405d8f2", "scanner": "scanner-primary", "fingerprint": "83cd39cfbcf6289f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7be6319e76fea46d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/tsfn2/main.js:18"}, "properties": {"repobilityId": "2d7ea9f5cca8455f", "scanner": "scanner-primary", "fingerprint": "7be6319e76fea46d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c619fc620d0d6fb1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/trap_in_thread/trap_in_thread.test.js:25"}, "properties": {"repobilityId": "a6e1e05c3db97573", "scanner": "scanner-primary", "fingerprint": "c619fc620d0d6fb1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-17a17289500e6641", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/test/make_callback/make_callback.test.js:38"}, "properties": {"repobilityId": "7931b8cee6d74b93", "scanner": "scanner-primary", "fingerprint": "17a17289500e6641", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-c2aeb79ca7ee8aed", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/typedarray/typedarray.test.js:74"}, "properties": {"repobilityId": "5be63cde9e579e08", "scanner": "scanner-primary", "fingerprint": "c2aeb79ca7ee8aed", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-96401402ff17d68b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/finalizer/finalizer_fatal.test.js:37"}, "properties": {"repobilityId": "2e87a1ba530374ec", "scanner": "scanner-primary", "fingerprint": "96401402ff17d68b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bd3afae5ea575d00", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/tsfn/tsfn.test.js:27"}, "properties": {"repobilityId": "629c3f75136e755a", "scanner": "scanner-primary", "fingerprint": "bd3afae5ea575d00", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ebb5f2e022a2f10c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/tsfn/tsfn-wasi.js:85"}, "properties": {"repobilityId": "bcbe13ee80737f93", "scanner": "scanner-primary", "fingerprint": "ebb5f2e022a2f10c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4befbead9d10023f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/async_cleanup_hook/async_cleanup_hook.test.js:18"}, "properties": {"repobilityId": "5818acc860aca50c", "scanner": "scanner-primary", "fingerprint": "4befbead9d10023f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4d1e010a4d08d154", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/script/test-entry.js:6"}, "properties": {"repobilityId": "8fba91fbd5ffd069", "scanner": "scanner-primary", "fingerprint": "4d1e010a4d08d154", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-834ff5e6b48b65c2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/script/test.js:8"}, "properties": {"repobilityId": "08af10a6561dc8b2", "scanner": "scanner-primary", "fingerprint": "834ff5e6b48b65c2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-569bcffbf0428110", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/script/test-build-all-napi-version.js:60"}, "properties": {"repobilityId": "05259f6fb059b413", "scanner": "scanner-primary", "fingerprint": "569bcffbf0428110", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7611ea6680cf0b00", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/hello/hello.test.js:11"}, "properties": {"repobilityId": "2f8866c9ad490bd4", "scanner": "scanner-primary", "fingerprint": "7611ea6680cf0b00", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-25f60dc45dbf1029", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/bigint/bigint.test.js:71"}, "properties": {"repobilityId": "c4704f1573086a66", "scanner": "scanner-primary", "fingerprint": "25f60dc45dbf1029", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73e67112fe5e8d8d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/pool/pool-wasi.js:44"}, "properties": {"repobilityId": "af6a7d180bb0b4e2", "scanner": "scanner-primary", "fingerprint": "73e67112fe5e8d8d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-98b335943ca34c99", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/dataview/dataview.test.js:71"}, "properties": {"repobilityId": "33cf0845509e64b5", "scanner": "scanner-primary", "fingerprint": "98b335943ca34c99", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8d19df20dcb32756", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/async/async-wasi.js:52"}, "properties": {"repobilityId": "f842572bd296993f", "scanner": "scanner-primary", "fingerprint": "8d19df20dcb32756", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-45a982c361240090", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/async/main.js:42"}, "properties": {"repobilityId": "d6084ed3f0bcaeb2", "scanner": "scanner-primary", "fingerprint": "45a982c361240090", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d30309c79c1a1a40", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/test/emnapitest/emnapi.test.js:26"}, "properties": {"repobilityId": "3b5a9514b5268344", "scanner": "scanner-primary", "fingerprint": "d30309c79c1a1a40", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9a0e436c104450f4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/shared/src/build.ts:36"}, "properties": {"repobilityId": "1c5c8f29a325cbc0", "scanner": "scanner-primary", "fingerprint": "9a0e436c104450f4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3eb6464550dcd0f5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/wasi-threads/test/worker.js:14"}, "properties": {"repobilityId": "4d43f3372a57c6df", "scanner": "scanner-primary", "fingerprint": "3eb6464550dcd0f5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-46c46036b34c4ac9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/wasi-threads/test/browser-worker.js:5"}, "properties": {"repobilityId": "176dec2e1bb762c1", "scanner": "scanner-primary", "fingerprint": "46c46036b34c4ac9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7af1667d5b7f5bf5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/wasi-threads/test/build.js:37"}, "properties": {"repobilityId": "d3df8cfab53f9066", "scanner": "scanner-primary", "fingerprint": "7af1667d5b7f5bf5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0a51b5bcb96e03b3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/wasi-threads/test/run.js:46"}, "properties": {"repobilityId": "a0be3b2b2a1e3daf", "scanner": "scanner-primary", "fingerprint": "0a51b5bcb96e03b3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2393182af4227d99", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/exported-function-ref.js:10"}, "properties": {"repobilityId": "b31d7fe31dff52a5", "scanner": "scanner-primary", "fingerprint": "2393182af4227d99", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bd040a6984052bdb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/bundle.js:3"}, "properties": {"repobilityId": "5bf65fc8cba96606", "scanner": "scanner-primary", "fingerprint": "bd040a6984052bdb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-031af4d39641f457", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/alias.js:3"}, "properties": {"repobilityId": "ea93914bd84cb942", "scanner": "scanner-primary", "fingerprint": "031af4d39641f457", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8b43d2242da3f7bd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/object-literal.js:10"}, "properties": {"repobilityId": "68379b50d4e64daa", "scanner": "scanner-primary", "fingerprint": "8b43d2242da3f7bd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-60a7d791aad5ec1f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/expected/virtual-modules.js:4"}, "properties": {"repobilityId": "fa71da7b0ddf05d3", "scanner": "scanner-primary", "fingerprint": "60a7d791aad5ec1f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-04d33442b2a69aed", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/input/exported-function-ref.js:11"}, "properties": {"repobilityId": "6f85ecaa1e24260b", "scanner": "scanner-primary", "fingerprint": "04d33442b2a69aed", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7faea82a39ecd214", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/input/alias.js:4"}, "properties": {"repobilityId": "2514774f91cab6d4", "scanner": "scanner-primary", "fingerprint": "7faea82a39ecd214", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-12489f234b5d2915", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/input/object-literal.js:12"}, "properties": {"repobilityId": "f6d45a9a92d363ee", "scanner": "scanner-primary", "fingerprint": "12489f234b5d2915", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a538b4d6a7853f49", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/input/virtual-modules.js:7"}, "properties": {"repobilityId": "455c842cbb4b4ef6", "scanner": "scanner-primary", "fingerprint": "a538b4d6a7853f49", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b7fa43422478fc7b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/test/rollup/src/dep.ts:4"}, "properties": {"repobilityId": "65c359451ee21f05", "scanner": "scanner-primary", "fingerprint": "b7fa43422478fc7b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-80d1a3526740391c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/ts-transform-emscripten-esm-library/src/index.ts:213"}, "properties": {"repobilityId": "be4365bf9f3876ca", "scanner": "scanner-primary", "fingerprint": "80d1a3526740391c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b38854f316fbe138", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/bench/index.js:16"}, "properties": {"repobilityId": "0983657f35a886e8", "scanner": "scanner-primary", "fingerprint": "b38854f316fbe138", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b95b16b550a35965", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/runtime/script/build.js:177"}, "properties": {"repobilityId": "be90a24a778a6e84", "scanner": "scanner-primary", "fingerprint": "b95b16b550a35965", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fbde1ebe9d4fb0ed", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/runtime/src/ObjectTemplate.ts:6"}, "properties": {"repobilityId": "8f8fa8e5aaca3377", "scanner": "scanner-primary", "fingerprint": "fbde1ebe9d4fb0ed", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-deb53457bc4bcb5f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/example/index-wasi.js:12"}, "properties": {"repobilityId": "26fdf242070f20da", "scanner": "scanner-primary", "fingerprint": "deb53457bc4bcb5f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dd9bfdaec09ed68d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/example/index-emscripten.js:12"}, "properties": {"repobilityId": "647350241e624b62", "scanner": "scanner-primary", "fingerprint": "dd9bfdaec09ed68d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eacc00a63dcb47a8", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/emnapi/index.d.ts:71"}, "properties": {"repobilityId": "1f90ce8b40a87fb1", "scanner": "scanner-primary", "fingerprint": "eacc00a63dcb47a8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a0c4d51cab88e267", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 script/spawn.js:21"}, "properties": {"repobilityId": "5ada32649d8c10d0", "scanner": "scanner-primary", "fingerprint": "a0c4d51cab88e267", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bfe50bb7ecb2dd08", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 script/which.js:54"}, "properties": {"repobilityId": "69080b531ee4126d", "scanner": "scanner-primary", "fingerprint": "bfe50bb7ecb2dd08", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-356c7de1caac82eb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 script/release.js:225"}, "properties": {"repobilityId": "feb3e3b50c99ed7b", "scanner": "scanner-primary", "fingerprint": "356c7de1caac82eb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-7b96f9b388dd667b", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in packages/emnapi/script/preprocess.js:165"}, "properties": {"repobilityId": "aec970817ccca6ca", "scanner": "scanner-primary", "fingerprint": "7b96f9b388dd667b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/emnapi/script/preprocess.js"}, "region": {"startLine": 165}}}]}, {"ruleId": "scanner-9447b3598e4939ee", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/emnapi/script/build.js:4"}, "properties": {"repobilityId": "c8879adabce30135", "scanner": "scanner-primary", "fingerprint": "9447b3598e4939ee", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/emnapi/script/build.js"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-4d815069aa773336", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in packages/runtime/src/util.ts:35"}, "properties": {"repobilityId": "7c3e6ff20513cad4", "scanner": "scanner-primary", "fingerprint": "4d815069aa773336", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/runtime/src/util.ts"}, "region": {"startLine": 35}}}]}, {"ruleId": "scanner-38efdc373db60d9b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in script/spawn.js:1"}, "properties": {"repobilityId": "f080b2715051b1c1", "scanner": "scanner-primary", "fingerprint": "38efdc373db60d9b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "script/spawn.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b7f5beb29b7399d2", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in script/fetch-v8-headers.js:4"}, "properties": {"repobilityId": "6adab3fef45e4047", "scanner": "scanner-primary", "fingerprint": "b7f5beb29b7399d2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "script/fetch-v8-headers.js"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-776e1f9516f47e9e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c4336e4d757a4bb3", "scanner": "scanner-primary", "fingerprint": "776e1f9516f47e9e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/debug.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-64192a3c67110d01", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "87338a8bfcb6f435", "scanner": "scanner-primary", "fingerprint": "64192a3c67110d01", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1d7e834080dbebed", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "190a3ee1a1272a5a", "scanner": "scanner-primary", "fingerprint": "1d7e834080dbebed", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/main.yml"}, "region": {"startLine": 92}}}]}, {"ruleId": "scanner-299e5e0d9ac9f81f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "cb6b9b70fd6463a9", "scanner": "scanner-primary", "fingerprint": "299e5e0d9ac9f81f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/main.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "b86179956da3a4a8", "scanner": "scanner-primary", "fingerprint": "cb639d9a10a47b23", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b3ed68815bca2f8c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: package.json"}, "properties": {"repobilityId": "7edae0550c126386", "scanner": "scanner-primary", "fingerprint": "b3ed68815bca2f8c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-67a848ffef2a552c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/rollup-plugin-emscripten-esm-library/package.json"}, "properties": {"repobilityId": "dd9fa7bb0ee510ac", "scanner": "scanner-primary", "fingerprint": "67a848ffef2a552c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/rollup-plugin-emscripten-esm-library/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-332c996d13baab17", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/test/package.json"}, "properties": {"repobilityId": "3bf64e6f9babe1cd", "scanner": "scanner-primary", "fingerprint": "332c996d13baab17", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/test/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-480df648bcef93e8", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/wasi-threads/package.json"}, "properties": {"repobilityId": "78269796f5b763dd", "scanner": "scanner-primary", "fingerprint": "480df648bcef93e8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/wasi-threads/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ce71fe63000afe35", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/bench/package.json"}, "properties": {"repobilityId": "d71f611876671172", "scanner": "scanner-primary", "fingerprint": "ce71fe63000afe35", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/bench/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8d2d76cbf0bd201a", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/ts-transform-macro/package.json"}, "properties": {"repobilityId": "e81ba599cf20b8e3", "scanner": "scanner-primary", "fingerprint": "8d2d76cbf0bd201a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/ts-transform-macro/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-52d796fddd5f858a", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/runtime/package.json"}, "properties": {"repobilityId": "4932f1d5119af9ac", "scanner": "scanner-primary", "fingerprint": "52d796fddd5f858a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/runtime/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-00205d293b796136", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/example/package.json"}, "properties": {"repobilityId": "fe20d3c01bd8e734", "scanner": "scanner-primary", "fingerprint": "00205d293b796136", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/example/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-28e92806c0db3cd2", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/core/package.json"}, "properties": {"repobilityId": "8640e46be7e3f9b2", "scanner": "scanner-primary", "fingerprint": "28e92806c0db3cd2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "239f2327ccbe447a", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "17ce08639d6ec238", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "5851e09752a8bc9b", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-6dc62ce576f35b9d", "level": "note", "message": {"text": "Legacy-named symbol `_napi_register_wasm_v1` in packages/emnapi/index.js:45"}, "properties": {"repobilityId": "df68ff1a30633561", "scanner": "scanner-primary", "fingerprint": "6dc62ce576f35b9d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0cdb8418eda7b82c", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/emnapi/src/util.ts:5"}, "properties": {"repobilityId": "67a1606138c8cd0e", "scanner": "scanner-primary", "fingerprint": "0cdb8418eda7b82c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf7a60e432791774", "level": "note", "message": {"text": "Legacy-named symbol `napi_create_buffer_copy` in packages/emnapi/src/value/create.ts:491"}, "properties": {"repobilityId": "74fc4293c686f9d5", "scanner": "scanner-primary", "fingerprint": "cf7a60e432791774", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-10577dcee9ee9af7", "level": "note", "message": {"text": "Legacy-named symbol `node_api_module_get_api_version_v1` in packages/emnapi/src/core/init.ts:159"}, "properties": {"repobilityId": "010af4eefda0555b", "scanner": "scanner-primary", "fingerprint": "10577dcee9ee9af7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-52b1a067dfac186c", "level": "none", "message": {"text": "Commented-code block (10 lines) in packages/emnapi/src/core/index.ts:25"}, "properties": {"repobilityId": "ab0c1150d64d0348", "scanner": "scanner-primary", "fingerprint": "52b1a067dfac186c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aac6d4ab81b24ef3", "level": "note", "message": {"text": "Legacy-named symbol `_napi_register_wasm_v1` in packages/emnapi/src/emscripten/init.ts:10"}, "properties": {"repobilityId": "3f9d8c20657e4d6f", "scanner": "scanner-primary", "fingerprint": "aac6d4ab81b24ef3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fdfb18655f6f0dda", "level": "none", "message": {"text": "Commented-code block (12 lines) in packages/emnapi/src/emscripten/init.ts:13"}, "properties": {"repobilityId": "d3a6e8ea87ba2f25", "scanner": "scanner-primary", "fingerprint": "fdfb18655f6f0dda", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ed336540b501cdd", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/emnapi/src/emscripten/index.ts:31"}, "properties": {"repobilityId": "af7fc97303cf5e7f", "scanner": "scanner-primary", "fingerprint": "6ed336540b501cdd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf0ea5db15c6546d", "level": "none", "message": {"text": "Commented-code block (25 lines) in packages/test/gc.js:71"}, "properties": {"repobilityId": "85e9db88893a4460", "scanner": "scanner-primary", "fingerprint": "bf0ea5db15c6546d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55cfb49ed3e9e6b0", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/test/common.js:3"}, "properties": {"repobilityId": "4c996cf236f95120", "scanner": "scanner-primary", "fingerprint": "55cfb49ed3e9e6b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a7a370d49a3cd7e", "level": "none", "message": {"text": "Commented-code block (13 lines) in packages/test/make_callback/make_callback.test.js:41"}, "properties": {"repobilityId": "0a3e56c0c1a7f718", "scanner": "scanner-primary", "fingerprint": "6a7a370d49a3cd7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85c33ea635b58082", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/test/async_context/gcable-callback.test.js:57"}, "properties": {"repobilityId": "361cb4412c45ac70", "scanner": "scanner-primary", "fingerprint": "85c33ea635b58082", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a5afd616c0c06dda", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/test/tsfn/tsfn.test.js:69"}, "properties": {"repobilityId": "6ddf0ac6f8c4c272", "scanner": "scanner-primary", "fingerprint": "a5afd616c0c06dda", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-af2150f1d1399075", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/test/tsfn/tsfn-wasi.js:107"}, "properties": {"repobilityId": "07b9fd481c391fe7", "scanner": "scanner-primary", "fingerprint": "af2150f1d1399075", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5d057a08afa98b8", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/test/runjs/runjs.test.js:4"}, "properties": {"repobilityId": "29b351edc222cb2c", "scanner": "scanner-primary", "fingerprint": "c5d057a08afa98b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8237fdb71a9ac8ec", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/example/wasi-module-loader.js:44"}, "properties": {"repobilityId": "44e534eff75b27ba", "scanner": "scanner-primary", "fingerprint": "8237fdb71a9ac8ec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c4ca7f280b1c254a", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/core/src/worker.ts:77"}, "properties": {"repobilityId": "eb898bf143014699", "scanner": "scanner-primary", "fingerprint": "c4ca7f280b1c254a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-143ba02b00c79ac6", "level": "none", "message": {"text": "Commented-code block (11 lines) in script/release.js:44"}, "properties": {"repobilityId": "9404156d3938d719", "scanner": "scanner-primary", "fingerprint": "143ba02b00c79ac6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}