{"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-65ac0f7f75f9b9b5", "name": "Possibly dead Python function: disable_discussions", "shortDescription": {"text": "Possibly dead Python function: disable_discussions"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9dea937b70f4106f", "name": "Possibly dead Python function: cmd_launch", "shortDescription": {"text": "Possibly dead Python function: cmd_launch"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-82a38ecfdd461380", "name": "Possibly dead Python function: cmd_setup", "shortDescription": {"text": "Possibly dead Python function: cmd_setup"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-48ad3c1d84d2603b", "name": "Possibly dead Python function: cmd_profile", "shortDescription": {"text": "Possibly dead Python function: cmd_profile"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d4f0098d6271ba4", "name": "Possibly dead Python function: cmd_collect", "shortDescription": {"text": "Possibly dead Python function: cmd_collect"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-242dc77357c8e567", "name": "Possibly dead Python function: cmd_teardown", "shortDescription": {"text": "Possibly dead Python function: cmd_teardown"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9e38a8ce00b98fd", "name": "Possibly dead Python function: cmd_ssh", "shortDescription": {"text": "Possibly dead Python function: cmd_ssh"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9cfe4d1855a53de0", "name": "Possibly dead Python function: cmd_status", "shortDescription": {"text": "Possibly dead Python function: cmd_status"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-235b95ceb4b900d9", "name": "Possibly dead Python function: fetch_one", "shortDescription": {"text": "Possibly dead Python function: fetch_one"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c9ab0008779dca1", "name": "Possibly dead Python function: ngrams", "shortDescription": {"text": "Possibly dead Python function: ngrams"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-40735c60bfe4568b", "name": "Possibly dead Python function: valid_ngram_tokens", "shortDescription": {"text": "Possibly dead Python function: valid_ngram_tokens"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-66cfca510a85c24a", "name": "Possibly dead Python function: is_repetitive_phrase", "shortDescription": {"text": "Possibly dead Python function: is_repetitive_phrase"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d4ce0573eb468996", "name": "Possibly dead Python function: scrape_loop", "shortDescription": {"text": "Possibly dead Python function: scrape_loop"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0bbab5db77b50559", "name": "Possibly dead Python function: do_GET", "shortDescription": {"text": "Possibly dead Python function: do_GET"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a94a990ed39248a5", "name": "Possibly dead Python function: log_message", "shortDescription": {"text": "Possibly dead Python function: log_message"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f7ca96f2e167e42", "name": "Possibly dead Python function: row_to_metric", "shortDescription": {"text": "Possibly dead Python function: row_to_metric"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-06fdda5f72302f73", "name": "Possibly dead Python function: zfs_parse_line", "shortDescription": {"text": "Possibly dead Python function: zfs_parse_line"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e3083cade90196bd", "name": "Possibly dead Python function: plot_income", "shortDescription": {"text": "Possibly dead Python function: plot_income"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c6199c4cad0e5bdd", "name": "Possibly dead Python function: plot_expenses", "shortDescription": {"text": "Possibly dead Python function: plot_expenses"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2a931d7b3f268c4b", "name": "Possibly dead Python function: plot_net", "shortDescription": {"text": "Possibly dead Python function: plot_net"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-01a9f42fba4eba85", "name": "Possibly dead Python function: plot_savings", "shortDescription": {"text": "Possibly dead Python function: plot_savings"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2b3dfc25911765b0", "name": "Possibly dead Python function: train_main", "shortDescription": {"text": "Possibly dead Python function: train_main"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1139a3d62adad737", "name": "Possibly dead Python function: gradients_speed", "shortDescription": {"text": "Possibly dead Python function: gradients_speed"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-711615f710f01e2b", "name": "Possibly dead Python function: gradients_memory", "shortDescription": {"text": "Possibly dead Python function: gradients_memory"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6de784950f63e513", "name": "Possibly dead Python function: gradients_collection", "shortDescription": {"text": "Possibly dead Python function: gradients_collection"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a763d6823fbca1b8", "name": "Possibly dead Python function: split_heads", "shortDescription": {"text": "Possibly dead Python function: split_heads"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da73109a9f80bea6", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-dagger-hygiene.ts:135", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-dagger-hygiene.ts:135"}, "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-0a28de61441a1b3c", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-package-script.ts:82", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-package-script.ts:82"}, "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-54d557211fdaa1f7", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-todos.ts:270", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-todos.ts:270"}, "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-a09c8549c513ef62", "name": "Stray `console.log` in TS/JS \u2014 scripts/update-lockfiles.ts:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update-lockfiles.ts: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-6446c6e41244448e", "name": "Stray `console.log` in TS/JS \u2014 scripts/quality-ratchet.ts:141", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/quality-ratchet.ts:141"}, "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-3124f78631b2bc42", "name": "Stray `console.log` in TS/JS \u2014 scripts/guard-no-package-exclusions.ts:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/guard-no-package-exclusions.ts:43"}, "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-b4da3ea3786c01d4", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-react-version-sync.ts:278", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-react-version-sync.ts:278"}, "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-e252eb12dec1e766", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-deps.ts:183", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-deps.ts:183"}, "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-bc29fe1b8cf2ee91", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-line-endings.ts:101", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-line-endings.ts:101"}, "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-070b8c7251af03d7", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-strict-boolean-pass2.ts:197", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-strict-boolean-pass2.ts:197"}, "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-8f539f2549f610fe", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup.ts:19"}, "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-9af6431e2c2dd77f", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-tunnel-dns-coverage.ts:269", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-tunnel-dns-coverage.ts:269"}, "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-b557a5bee4028a5f", "name": "Stray `console.log` in TS/JS \u2014 scripts/copy-example-deps.ts:65", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/copy-example-deps.ts:65"}, "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-113d1d2e79fc6333", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-bun-lock-drift.ts:81", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-bun-lock-drift.ts:81"}, "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-da849713f8291e79", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-suppressions.ts:113", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-suppressions.ts:113"}, "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-9a07339f963e463d", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-negated-nullable.ts:132", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-negated-nullable.ts:132"}, "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-5e3cac9ca0f1bd55", "name": "Stray `console.log` in TS/JS \u2014 scripts/observability/local-stack/emit-test-trace.ts:97", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/observability/local-stack/emit-test-trace.ts:97"}, "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-70adde74d9d81fe3", "name": "Stray `console.log` in TS/JS \u2014 scripts/ci/src/main.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ci/src/main.ts: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-6a694798074c2c70", "name": "Stray `console.log` in TS/JS \u2014 scripts/ci/src/wait-for-greptile.ts:692", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ci/src/wait-for-greptile.ts:692"}, "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-73633bdbf4e6b6e4", "name": "Stray `console.log` in TS/JS \u2014 .buildkite/scripts/update-versions.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 .buildkite/scripts/update-versions.ts:30"}, "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-4a74eacd2e92ba0c", "name": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/analyze-txns.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/analyze-txns.ts: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-18de8177c31376b7", "name": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/monarch-browser-login.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/monarch-browser-login.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-66efcd39e5d9237a", "name": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/accuracy/compare.ts:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/accuracy/compare.ts:90"}, "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-45f0df4a967989a6", "name": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/accuracy/sample.ts:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/accuracy/sample.ts: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-e2c0727e5f8e4edd", "name": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/accuracy/label-server.ts:728", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/accuracy/label-server.ts:728"}, "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-167b92f57ee581a3", "name": "Stray `console.log` in TS/JS \u2014 packages/monarch/src/lib/display.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/monarch/src/lib/display.ts:41"}, "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-b9e5828f86aa9235", "name": "Stray `console.log` in TS/JS \u2014 packages/trmnl-dashboard/src/index.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/trmnl-dashboard/src/index.ts: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-f6dd166c2d9fac6c", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/audit-unsafe-code.ts:114", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/audit-unsafe-code.ts:114"}, "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-fdee1af189558dd1", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/check-asset-sizes.ts:91", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/check-asset-sizes.ts:91"}, "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-5a9f6fe5ad9acd85", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/update-lint-cache.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/update-lint-cache.ts: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-59e3e08a8681eeec", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/find-dependent-tests.ts:242", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/find-dependent-tests.ts:242"}, "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-9f5aac17cf64ca71", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/check-duplication.ts:86", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/check-duplication.ts:86"}, "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-6d1c0cd8678e6037", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/build-bucket.ts:57", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/build-bucket.ts:57"}, "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-40372a5e103ea06c", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/run-relevant-tests.ts:57", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/run-relevant-tests.ts:57"}, "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-e937606884d1367e", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/check-suppressions.ts:86", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/check-suppressions.ts:86"}, "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-d2784f9825e5cb07", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool/history-panel.tsx:236"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4e2f52d5f3c8e5f5", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool/history-panel.tsx:65", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool/history-panel.tsx:65"}, "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-c9f8a69d1116ffce", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool/use-match-browser.ts:", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool/use-match-browser.ts:150"}, "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-a653feae98a3ac6f", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool/match-reviewer-info.tsx:73"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e043a62aa1e6f1f5", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool/results-panel-utils.t", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool/results-panel-utils.ts:28"}, "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-ea1b357a631e1b9d", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/components/report-ui/app.tsx:95", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/components/report-ui/app.tsx:95"}, "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-735aa0ec34dc0256", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/review-tool/cache.ts:338", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/review-tool/cache.ts:338"}, "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-1b691202ab1e310e", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/review-tool/storage.ts:226", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/review-tool/storage.ts:226"}, "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-2ee5c4ab24d848f1", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/review-tool/history-manager.ts:161", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/review-tool/history-manager.ts:161"}, "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-7dbe4e2d00823f36", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/review-tool/s3.ts:243", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/review-tool/s3.ts:243"}, "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-08ff5bad9b35e2f6", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/report-ui/api.ts:143", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/report-ui/api.ts:143"}, "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-2ccf88e1e34fb5d8", "name": "Icon-only button without accessible name \u2014 packages/scout-for-lol/packages/ui/src/components/sound-pack-editor/sound-pac", "shortDescription": {"text": "Icon-only button without accessible name \u2014 packages/scout-for-lol/packages/ui/src/components/sound-pack-editor/sound-pack-editor.tsx:184"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-27c90b248c2395e7", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/scout-for-lol/packages/app/src/routes/player-detail.tsx:17", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/scout-for-lol/packages/app/src/routes/player-detail.tsx:173"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dcb16ced23272e5f", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/scout-for-lol/packages/app/src/routes/guild-picker.tsx:72", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/scout-for-lol/packages/app/src/routes/guild-picker.tsx:72"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f813dda27155b5d9", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/report/src/html/discord-screenshot.test.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/report/src/html/discord-screenshot.test.ts:24"}, "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-c7c1796f4c7428d4", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/report/src/html/competition-chart.fixtures.test.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/report/src/html/competition-chart.fixtures.test.ts: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-3274e531eb76f35a", "name": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/report/src/html/champion/damage.tsx:4", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/report/src/html/champion/damage.tsx:4"}, "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-cc54dc4c92b19601", "name": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/report/src/html/champion/runes.tsx:11", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/report/src/html/champion/runes.tsx:11"}, "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-a35e36733fad0108", "name": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/report/src/html/champion/gold.tsx:3", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/report/src/html/champion/gold.tsx:3"}, "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-86c299b5f13e85ba", "name": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/report/src/html/champion/kda.tsx:4", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/report/src/html/champion/kda.tsx:4"}, "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-48936c9c5b6a2d75", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/check-orphan-seasonids.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/check-orphan-seasonids.ts:45"}, "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-de39a57c4f0f2fb6", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/cleanup-iron-iv-entries.ts:178", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/cleanup-iron-iv-entries.ts:178"}, "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-1455dd3f0bb478d1", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/inspect-pipeline-trace.ts:169", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/inspect-pipeline-trace.ts:169"}, "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-592c130d2ab70654", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/check-test-template-db.ts:192", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/check-test-template-db.ts:192"}, "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-552021dadd760e71", "name": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/import-report-store-from-s3.ts:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/import-report-store-from-s3.ts:69"}, "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-a6254d909fb1f9a7", "name": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/backend/src/league/tasks/prematch/prematch-notifica", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/backend/src/league/tasks/prematch/prematch-notification.integration.test.ts:10"}, "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-152e8a24a0454af2", "name": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/backend/src/sound-engine/index.ts:230", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/backend/src/sound-engine/index.ts:230"}, "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-fec091cf2793fa7f", "name": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/backend/src/storage/s3-leaderboard.no-bucket.test.t", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/backend/src/storage/s3-leaderboard.no-bucket.test.ts:3"}, "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-5312e8fc56dc8a65", "name": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/backend/src/storage/s3-prematch-data.no-bucket.test", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/backend/src/storage/s3-prematch-data.no-bucket.test.ts:3"}, "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-f749e4c91f794cf7", "name": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/prefer-async-await.test.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/prefer-async-await.test.ts:39"}, "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-116b93dd05b7957a", "name": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/prefer-zod-validation.test.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/prefer-zod-validation.test.ts:19"}, "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-188a5ba2cc91914e", "name": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/prefer-structured-logging.test.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/prefer-structured-logging.test.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-9bfae2b20509b9b9", "name": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/satori-best-practices.test.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/satori-best-practices.test.ts:58"}, "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-876ef29c5e2088fb", "name": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/no-function-overloads.test.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/no-function-overloads.test.ts:20"}, "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-2494f47afeb9c84e", "name": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/no-use-effect.test.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/no-use-effect.test.ts:31"}, "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-69818110fc37694a", "name": "Stray `console.log` in TS/JS \u2014 packages/cooklang-for-obsidian/scripts/convert-to-cooklang.ts:230", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/cooklang-for-obsidian/scripts/convert-to-cooklang.ts:230"}, "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-57643c13349a56b1", "name": "TODO/FIXME marker in shipping code \u2014 packages/better-skill-capped/src/components/omnisearch/course-search-result-video.t", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/better-skill-capped/src/components/omnisearch/course-search-result-video.tsx:39"}, "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-4390130a26049d42", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/index.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/index.ts: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-c21c9827a6e8f997", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/stacktrace.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/stacktrace.ts: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-dcd5a7712205330f", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/issue.ts:75", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/issue.ts:75"}, "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-6640a6a56f2aad74", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/issues.ts:89", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/issues.ts:89"}, "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-c8f981a69c51d763", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/releases.ts:86", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/releases.ts:86"}, "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-9d3e732e818460a0", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/projects.ts:92", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/projects.ts:92"}, "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-d5822a44bfa89eb1", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/teams.ts:65", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/teams.ts:65"}, "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-3eeac25e0fc99836", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/events.ts:85", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/events.ts: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-c95c64a8d8ebabc6", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pr/health.ts:88", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pr/health.ts:88"}, "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-7b5fbc8d91c29995", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pr/asset.ts:203", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pr/asset.ts:203"}, "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-8093e2ad178c3068", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pr/detect.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pr/detect.ts: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-bd8c1f6cb680879a", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pr/logs.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pr/logs.ts: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-4e4c491593f639cd", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/daemon.ts:105", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/daemon.ts:105"}, "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-bff1123750d758e7", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/messages.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/messages.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-eeb4ce45dbce70c9", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/info.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/info.ts: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-fda3c6823082cca2", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/voice.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/voice.ts:17"}, "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-e3c556de5e8c22a4", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/slash.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/slash.ts:19"}, "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-dbb45a48021b34f4", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/fetch/fetch.ts:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/fetch/fetch.ts:55"}, "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-316ab5a8182ff499", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/deployed/deployed.ts:410", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/deployed/deployed.ts:410"}, "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-bfa451be5f937e57", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/labels.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/labels.ts:76"}, "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-fe1c30131f944db4", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/dashboard.ts:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/dashboard.ts:79"}, "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-d085f1538300c254", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/log-labels.ts:74", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/log-labels.ts: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-73130977c80fb183", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/query.ts:115", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/query.ts:115"}, "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-59e3c94425446ae9", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/alerts.ts:138", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/alerts.ts:138"}, "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-b57407db3e240267", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/dashboards.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/dashboards.ts:64"}, "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-0244dd89dcaa559b", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/annotations.ts:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/annotations.ts:79"}, "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-ac3f2c29d9c63f74", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/datasources.ts:78", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/datasources.ts:78"}, "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-1181a1822bbfe434", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/metrics.ts:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/metrics.ts: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-f3912b5348391aa7", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/logs.ts:122", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/logs.ts:122"}, "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-46c6953930eb01d7", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pagerduty/incidents.ts:99", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pagerduty/incidents.ts:99"}, "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-59e2591e7a9bccb2", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pagerduty/incident.ts:128", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pagerduty/incident.ts:128"}, "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-9c795e1e655f72ed", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/lib/fetch/crawler.ts:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/lib/fetch/crawler.ts:51"}, "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-553e6b046192fe10", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/daemon/debug.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/daemon/debug.ts: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-4c6450446a29b4a4", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/daemon/daemon.ts:67", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/daemon/daemon.ts:67"}, "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-cc7526079c04becd", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/daemon/logs.ts:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/daemon/logs.ts:63"}, "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-a58f09de8d0c328e", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/discord.ts:272", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/discord.ts:272"}, "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-b06bba7590019fbe", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/bugsink.ts:158", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/bugsink.ts:158"}, "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-609ab3587ce03bb1", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/recall.ts:94", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/recall.ts:94"}, "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-3a102f0e254ec97c", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/fetch.ts:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/fetch.ts:62"}, "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-495985f7b8d59dc4", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/pagerduty.ts:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/pagerduty.ts:55"}, "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-7a312e31140e52d5", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/grafana.ts:318", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/grafana.ts:318"}, "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-c5d0f15d79b067e4", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/deployed.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/deployed.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-e70989c51ef40847", "name": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/pr.ts:82", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/pr.ts:82"}, "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-bc4155435672d76f", "name": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/scrape-details.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/scrape-details.ts:53"}, "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-5ba7ebe8c7174cb2", "name": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/build-search-index.ts:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/build-search-index.ts:43"}, "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-c4dec468b80b3154", "name": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/scrape-list.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/scrape-list.ts: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-70736934687d7eb7", "name": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/search.ts:154", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/search.ts:154"}, "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-b786de86c7abbcd1", "name": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/build-db.ts:95", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/build-db.ts:95"}, "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-5199a221c1800c54", "name": "TODO/FIXME marker in shipping code \u2014 packages/sjer.red/src/webring.ts:6", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/sjer.red/src/webring.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-6bf1f0b5e29c1452", "name": "TODO/FIXME marker in shipping code \u2014 packages/sjer.red/src/bookmarks/bookmarks.ts:143", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/sjer.red/src/bookmarks/bookmarks.ts:143"}, "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-519feb7fd0f460a4", "name": "Stray `console.log` in TS/JS \u2014 packages/temporal/src/activities/pr-review/post.test.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/temporal/src/activities/pr-review/post.test.ts:47"}, "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-49c711505ff7b993", "name": "Stray `console.log` in TS/JS \u2014 packages/temporal/src/activities/pr-review/summary-prompts.test.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/temporal/src/activities/pr-review/summary-prompts.test.ts: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-e4ac3b23d000bd4b", "name": "Stray `console.log` in TS/JS \u2014 packages/temporal/src/activities/pr-review/summary.test.ts:156", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/temporal/src/activities/pr-review/summary.test.ts:156"}, "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-75c8661100cb13d7", "name": "TODO/FIXME marker in shipping code \u2014 packages/temporal/src/workflows/pr-review/index.ts:236", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/temporal/src/workflows/pr-review/index.ts:236"}, "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-60bcf1cb973effa0", "name": "Stray `console.log` in TS/JS \u2014 packages/discord-plays-mario-kart/scripts/fetch-wasm.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/discord-plays-mario-kart/scripts/fetch-wasm.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-22998cb94719df22", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/discord-plays-mario-kart/packages/frontend/src/controller-", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/discord-plays-mario-kart/packages/frontend/src/controller-ui.tsx:181"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9b29ab1d0cefbc7a", "name": "TODO/FIXME marker in shipping code \u2014 packages/discord-plays-mario-kart/packages/frontend/src/stories/loading-spinner.tsx", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/discord-plays-mario-kart/packages/frontend/src/stories/loading-spinner.tsx:67"}, "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-271595877d75497d", "name": "TODO/FIXME marker in shipping code \u2014 packages/discord-plays-mario-kart/packages/backend/src/webserver/dispatch.ts:118", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/discord-plays-mario-kart/packages/backend/src/webserver/dispatch.ts:118"}, "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-e359d5af0db6c563", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/scripts/test-helm.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/scripts/test-helm.ts: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-4039480f23047b5a", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/scripts/check-docker-images.ts:294", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/scripts/check-docker-images.ts:294"}, "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-7eb465956a89f6e2", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/scripts/check-suppressions.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/scripts/check-suppressions.ts:29"}, "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-6b113b06d0267a17", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/scripts/velero/monitor-restore.ts:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/scripts/velero/monitor-restore.ts:70"}, "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-5b5a77e7bbadfb26", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/r2-prefix-inventory.ts:200", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/r2-prefix-inventory.ts:200"}, "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-53c5732b089657dd", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/check-1password-items.ts:290", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/check-1password-items.ts:290"}, "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-b374fe188fb621c9", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/snapshot-1password-vault.ts:201", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/snapshot-1password-vault.ts:201"}, "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-1461b9dd4188d5f4", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/patch.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/patch.ts:29"}, "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-b321cbe68d190922", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/helm-render.ts:114", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/helm-render.ts:114"}, "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-b2506d168401cee3", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/generate-caddyfile.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/generate-caddyfile.ts:20"}, "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-a726bd2923f0b2b8", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/test-gpu-resources.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/test-gpu-resources.ts: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-ef6d81dbdd916b69", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/update-imports.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/update-imports.ts: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-b951ebbe3ab49913", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/generate-helm-types.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/generate-helm-types.ts:47"}, "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-8121d5ef4240c4d8", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/grafana-dashboard-audit.ts:205", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/grafana-dashboard-audit.ts:205"}, "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-91fe7e118166797a", "name": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/grafana/gitckup-dashboard.ts:8", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/grafana/gitckup-dashboard.ts:8"}, "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-8ab3c4aafd68eb74", "name": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/grafana/zfs-dashboard.ts:20", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/grafana/zfs-dashboard.ts:20"}, "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-c950ee822589207c", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/src/argocd-helm-render.test.ts:346", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/src/argocd-helm-render.test.ts:346"}, "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-a67372c26864658a", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/src/versions.ts:290", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/src/versions.ts:290"}, "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-94fc5a2696313b62", "name": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/apps/1password.ts:6", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/apps/1password.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-ee6f655c3afb6a2e", "name": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/media/plex.ts:148", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/media/plex.ts:148"}, "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-840e83a42b88eef3", "name": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/argo-applications/1password.ts:6", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/argo-applications/1password.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-e85eec049c0a1cfc", "name": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/argo-applications/cert-manager.ts:38", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/argo-applications/cert-manager.ts: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-babf9c98646662f6", "name": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/home/homeassistant.ts:183", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/home/homeassistant.ts:183"}, "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-0925ae63b799c27b", "name": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/torrents/qbittorrent.ts:72", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/torrents/qbittorrent.ts:72"}, "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-9efe31f0d6d3223f", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/helm-types/src/chart-fetcher.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/helm-types/src/chart-fetcher.ts: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-8bfb51ef7af04294", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/helm-types/src/cli.ts:128", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/helm-types/src/cli.ts:128"}, "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-e117bc652d0e3d14", "name": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/helm-types/src/real-world-charts.test.ts:74", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/helm-types/src/real-world-charts.test.ts:74"}, "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-6e01dc576abbf2a5", "name": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/talos/update-image-id.ts:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/talos/update-image-id.ts: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-4a4056c8a97f65e5", "name": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/agent-tools/tools/tool-sets.ts:176", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/agent-tools/tools/tool-sets.ts:176"}, "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-5a68bf7eca8fd5f1", "name": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/agent-tools/tools/automation/automation.test.ts:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/agent-tools/tools/automation/automation.test.ts:87"}, "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-3a702faf167e928b", "name": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/agent-tools/tools/automation/shell.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/agent-tools/tools/automation/shell.ts: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-bd69663029a4a0dd", "name": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/utils/clear-channel-memory.ts:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/utils/clear-channel-memory.ts:48"}, "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-ce3f0af2e6565efc", "name": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/utils/logger.ts:154", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/utils/logger.ts:154"}, "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-caa47632a3ab5ce3", "name": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/observability/sentry.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/observability/sentry.ts:20"}, "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-a2a03b6a43e93db2", "name": "Stray `console.log` in TS/JS \u2014 packages/birmel/e2e/youtube-stream-resource.ts:222", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/e2e/youtube-stream-resource.ts:222"}, "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-b95b931d2ebe6ff1", "name": "Stray `console.log` in TS/JS \u2014 packages/birmel/e2e/music-playback.ts:183", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/e2e/music-playback.ts:183"}, "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-21dfcc750bdc30ef", "name": "Stray `console.log` in TS/JS \u2014 packages/discord-plays-pokemon/scripts/generate-species-data.ts:133", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/discord-plays-pokemon/scripts/generate-species-data.ts:133"}, "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-36a1dc9ccb66c0fd", "name": "Stray `console.log` in TS/JS \u2014 packages/discord-plays-pokemon/scripts/fetch-wasm.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/discord-plays-pokemon/scripts/fetch-wasm.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-ae8ac7e312496993", "name": "Stray `console.log` in TS/JS \u2014 packages/discord-plays-pokemon/packages/frontend/src/app.tsx:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/discord-plays-pokemon/packages/frontend/src/app.tsx: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-d21a9d2fb7e85d4a", "name": "React Flow <Controls> without dark theming \u2014 packages/discord-plays-pokemon/packages/frontend/src/pages/game-page.tsx:30", "shortDescription": {"text": "React Flow <Controls> without dark theming \u2014 packages/discord-plays-pokemon/packages/frontend/src/pages/game-page.tsx:30"}, "fullDescription": {"text": "`<Controls>` ships with white buttons. Override `.react-flow__controls` and `.react-flow__controls-button` in your stylesheet or pass a styled wrapper.\n\nWhy: P1 in CHECKLIST.md \u2014 vendor defaults bleed light through.\nRule id: fq.controls.no-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a112b524d5b03d8f", "name": "TODO/FIXME marker in shipping code \u2014 packages/discord-plays-pokemon/packages/frontend/src/stories/loading-spinner.tsx:67", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/discord-plays-pokemon/packages/frontend/src/stories/loading-spinner.tsx:67"}, "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-bb30f7fffe51d8f8", "name": "TODO/FIXME marker in shipping code \u2014 packages/discord-plays-pokemon/packages/backend/src/index.ts:175", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/discord-plays-pokemon/packages/backend/src/index.ts:175"}, "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-4fc072d9fe51ab81", "name": "Stray `console.log` in TS/JS \u2014 packages/discord-video-stream/src/client/voice/BaseMediaConnection.ts:402", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/discord-video-stream/src/client/voice/BaseMediaConnection.ts:402"}, "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-9d0ee3a76dd890e5", "name": "TODO/FIXME marker in shipping code \u2014 packages/tasks-for-obsidian/eslint.config.ts:41", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/tasks-for-obsidian/eslint.config.ts:41"}, "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-b937608e6c159095", "name": "Stray `console.log` in TS/JS \u2014 packages/tasks-for-obsidian/scripts/check-ios-native-deps.ts:269", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/tasks-for-obsidian/scripts/check-ios-native-deps.ts:269"}, "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-59df9ba851e43cb8", "name": "Stray `console.log` in TS/JS \u2014 packages/tasknotes-server/src/index.ts:88", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/tasknotes-server/src/index.ts:88"}, "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-4d553a1a5354c8b2", "name": "Stray `console.log` in TS/JS \u2014 packages/tasknotes-server/src/sentry.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/tasknotes-server/src/sentry.ts: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-14333b20af307740", "name": "Stray `console.log` in TS/JS \u2014 packages/tasknotes-server/src/middleware/logger.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/tasknotes-server/src/middleware/logger.ts:15"}, "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-ea3602535e667df6", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/scripts/generate-test-file.ts:204", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/scripts/generate-test-file.ts:204"}, "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-67af267935f05596", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/cli-deminify-runner.ts:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/cli-deminify-runner.ts:51"}, "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-64700f6040c16746", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/index.ts:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/index.ts:34"}, "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-b83af80a05257b17", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/cli-args.ts:199", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/cli-args.ts:199"}, "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-a6efc5dcfa5b96df", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/cli/deminify-runner.ts:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/cli/deminify-runner.ts:40"}, "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-7fabffb8248dc869", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/cli/args.ts:199", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/cli/args.ts:199"}, "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-650adf3b484fde15", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/decompiler.test.ts:59", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/decompiler.test.ts:59"}, "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-52173addb86463b6", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/batch-processor.ts:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/batch-processor.ts:87"}, "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-f53342dc1a64145e", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/llm-caller.ts:78", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/llm-caller.ts:78"}, "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-3383c46a949f7149", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/deminify-utils.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/deminify-utils.ts:64"}, "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-87456495a7f6cfcc", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/batch-processor.integration.test.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/batch-processor.integration.test.ts: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-1fc65b282aac35c1", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/progress-display.ts:235", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/progress-display.ts:235"}, "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-09c53f4fbfdebb88", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/deminifier.ts:205", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/deminifier.ts:205"}, "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-2b1e652d4ab3a130", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/openai-batch.ts:142", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/openai-batch.ts:142"}, "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-bf561bbf7717b83e", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/batch-client.ts:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/batch-client.ts:66"}, "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-caef51b842238fdb", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/batch-mode.ts:92", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/batch-mode.ts:92"}, "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-65dc18eed9aed571", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/monarch-money/find-yearly-subscriptions.ts:97", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/monarch-money/find-yearly-subscriptions.ts:97"}, "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-92d94da2633e53f1", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/monarch-money/find-subscriptions.ts:198", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/monarch-money/find-subscriptions.ts:198"}, "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-f23bd1a42d1180a2", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/monarch-money/csv-to-sqlite.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/monarch-money/csv-to-sqlite.ts: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-499c793b21cd80f4", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/monarch-money/analyze-db.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/monarch-money/analyze-db.ts: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-3f94ce61fc5b4edd", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/ec2-instance-restart-frontend/src/api.ts:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/ec2-instance-restart-frontend/src/api.ts:40"}, "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-1560ca8182fb019f", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ec2-instance-restart-frontend/src/components/InstanceSelector.tsx:1", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ec2-instance-restart-frontend/src/components/InstanceSelector.tsx:17"}, "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-b13c1be40ea5f772", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/api/src/middleware.js:3", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/api/src/middleware.js:3"}, "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-7913aeb9df1cde82", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/api/src/user/middleware.js:89", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/api/src/user/middleware.js:89"}, "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-a8b16525b101486c", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/api/src/user/controller.js:8", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/api/src/user/controller.js:8"}, "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-e78e7d775719e854", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/api/src/user/authorization/middleware.js:11", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/api/src/user/authorization/middleware.js:11"}, "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-23395976d60e5947", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/herd/web/src/registerServiceWorker.js:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/herd/web/src/registerServiceWorker.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-8bf20928b8e2bfb4", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/components/ErrorBoundary.js:14", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/components/ErrorBoundary.js:14"}, "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-e38d3a0ec57f6263", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/herd/web/src/components/ErrorBoundary.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/herd/web/src/components/ErrorBoundary.js:13"}, "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-dde23d0c9bee32bf", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/components/club/edit/EditClubContainer.js:9", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/components/club/edit/EditClubContainer.js:9"}, "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-05daa0a9a7790582", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/validation/userValidators.js:1", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/validation/userValidators.js:1"}, "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-6d17c96aea02e0bf", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/store/store.js:11", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/store/store.js:11"}, "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-4a1f8512acfbf943", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/store/utils/crud/reducers.js:76", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/store/utils/crud/reducers.js:76"}, "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-3880bd145dad0fd6", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/store/features/users/actions.js:21", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/store/features/users/actions.js:21"}, "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-a506293b5fead4cd", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/harding-christmas/app.js:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/harding-christmas/app.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-e060bd61a2003741", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/hue-saber/src/index.js:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/hue-saber/src/index.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-f2a4ecba7a4c035f", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-server/src/index.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-server/src/index.ts: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-4fdf8191ca6279d5", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/easely/web/src/App.vue:23", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/easely/web/src/App.vue:23"}, "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-a450158f808b9fd2", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/components/user/user-login.vue:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/components/user/user-login.vue:76"}, "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-73797b99fba98e7d", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/components/user/user-register.vue:162", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/components/user/user-register.vue:162"}, "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-9b32e48d23b60114", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/components/courses/course-grades.vue:171", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/components/courses/course-grades.vue:171"}, "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-81ec3180f536719e", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/store/index.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/store/index.js:13"}, "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-49d31b8d59be7b0a", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/store/modules/courses.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/store/modules/courses.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-3f8aab5cd4a90403", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/store/modules/assignments.js:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/store/modules/assignments.js:33"}, "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-e249eb2fea3a5711", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/serviceWorker.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/serviceWorker.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-b5b1c609ad6d5f7d", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/components/views/PickSeat.js:106", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/components/views/PickSeat.js:106"}, "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-2514b746f439dc4b", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/components/views/CheckForSeat.js:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/components/views/CheckForSeat.js:62"}, "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-2726378732e94664", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/components/views/ReleaseSeat.js:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/components/views/ReleaseSeat.js:62"}, "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-715e069ef244fb96", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/components/views/GetSeats.js:84", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/components/views/GetSeats.js:84"}, "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-29d968b6d90f4700", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/docblocs-demo/src/server.js:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/docblocs-demo/src/server.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-38d9114770743735", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/docblocs-demo/src/index.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/docblocs-demo/src/index.js:28"}, "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-b813564bccd15168", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/express-docblocs/index.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/express-docblocs/index.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-21a5d8af59be3211", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/docblocs-test/src/server.js:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/docblocs-test/src/server.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-c9a588d79e258630", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/docblocs-test/src/index.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/docblocs-test/src/index.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-1fffb6c0c59e0b6f", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/clauderon/web/frontend/tests/screenshots/dialogs.spec.ts:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/clauderon/web/frontend/tests/screenshots/dialogs.spec.ts:51"}, "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-7f5bd896ad2442a9", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/clauderon/web/frontend/tests/screenshots/auth.spec.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/clauderon/web/frontend/tests/screenshots/auth.spec.ts:45"}, "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-078fe7aa05f0be33", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/clauderon/web/frontend/tests/screenshots/sessions.spec.ts:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/clauderon/web/frontend/tests/screenshots/sessions.spec.ts: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-59ab88403e2c50d3", "name": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/directory-bro", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/directory-browser-dialog.tsx:219"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0d9fb053ad0bc0a2", "name": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/image-attachm", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/image-attachment-input.tsx:34"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b68c905a8c0cf217", "name": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/session-card.", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/session-card.tsx:64"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-af9f0b187be6fa9c", "name": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/startup-healt", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/startup-health-modal.tsx:138"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a76d8241de58e00b", "name": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/session-statu", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/session-status-indicators.tsx:40"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3753cc324a006871", "name": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/repository-pa", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/repository-path-selector.tsx:149"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-09a03fc7e14e7144", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/api/src/features/users/controller.ts:18", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/api/src/features/users/controller.ts:18"}, "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-257b01b51c2ede6b", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/api/src/features/courses/controller.ts:63", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/api/src/features/courses/controller.ts:63"}, "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-b67e8b54b61d2e21", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/api/src/features/courses/listings/controller.ts:60", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/api/src/features/courses/listings/controller.ts:60"}, "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-6280edf5f8684b8a", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/api/src/features/courses/contents/controller.ts:60", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/api/src/features/courses/contents/controller.ts:60"}, "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-b32cab73fd2af624", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/hu-easel/web/src/api/index.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/hu-easel/web/src/api/index.js:50"}, "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-01c811f0a1c71fa2", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/web/src/components/ErrorBoundary.js:18", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/web/src/components/ErrorBoundary.js:18"}, "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-68a71e03aa80d033", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/hu-easel/web/src/components/ErrorBoundary.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/hu-easel/web/src/components/ErrorBoundary.js:17"}, "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-e59f2ed804781e45", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/hu-easel/web/src/components/views/terms/read/list/TermList.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/hu-easel/web/src/components/views/terms/read/list/TermList.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-49c84c973631400d", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/aws-docker-cdk/lib/aws-docker-cdk-stack.ts:39", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/aws-docker-cdk/lib/aws-docker-cdk-stack.ts:39"}, "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-35eb9166b66cc172", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ts-mc/infrastructure/lib/vpc.ts:17", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ts-mc/infrastructure/lib/vpc.ts:17"}, "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-8e22b23383d3aa4e", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ts-mc/infrastructure/lib/ses.ts:9", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ts-mc/infrastructure/lib/ses.ts:9"}, "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-fef8188d11f45335", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ts-mc/infrastructure/lib/docker.ts:8", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ts-mc/infrastructure/lib/docker.ts:8"}, "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-3f5a55ded6f1838c", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ts-mc/infrastructure/lib/forum/security-group.ts:4", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ts-mc/infrastructure/lib/forum/security-group.ts:4"}, "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-4c2c1053497ab818", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/frontend/src/components/Chart.tsx:158", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/frontend/src/components/Chart.tsx:158"}, "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-10d2676a10d963b9", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/frontend/src/components/Leaderboard.tsx:148", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/frontend/src/components/Leaderboard.tsx:148"}, "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-1ecdc937e244beda", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/postmatch/internal.ts:31", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/postmatch/internal.ts:31"}, "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-3658b8b78230009d", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/postmatch/internal.ts:114", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/postmatch/internal.ts:114"}, "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-80d88d0f251a47bf", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/leaderboard/index.test.ts", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/leaderboard/index.test.ts:82"}, "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-27e82b4e0d4df4e0", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/prematch/discord.ts:26", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/prematch/discord.ts:26"}, "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-6c8075be15758864", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/prematch/index.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/prematch/index.ts:22"}, "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-8dee586108595c71", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/league/model/rank.ts:48", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/league/model/rank.ts:48"}, "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-261e45b7810a54d1", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/league/model/state.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/league/model/state.ts: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-b7b5bda69a4ef769", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/customs/commands.ts:483", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/customs/commands.ts:483"}, "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-a180463850236866", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/discord/rest.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/discord/rest.ts:20"}, "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-267e4f2c47da3166", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/db/shim/database.ts:79", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/db/shim/database.ts:79"}, "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-c6a7393b6cc7ac4c", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/music/commands.ts:345", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/music/commands.ts:345"}, "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-fa6ee17040a3b0ce", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/music/commands.ts:336", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/music/commands.ts:336"}, "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-e0b9d06cc1c32455", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/instalike/like.js:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/instalike/like.js: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-225734b727e8a5be", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/instalike/index.js:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/instalike/index.js: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-960fed8e0818810f", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/the-button/api/src/server.js:17", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/the-button/api/src/server.js:17"}, "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-5fc2d0285b91b893", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/the-button/api/src/sockets.js:7", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/the-button/api/src/sockets.js:7"}, "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-7cd171fb0cca808d", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/the-button/app/src/App.js:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/the-button/app/src/App.js:40"}, "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-4de8bb9850db7086", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/the-button/web/src/server.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/the-button/web/src/server.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-12d596cd8f35dec5", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/the-button/web/src/components/Reward-Modal.vue:37", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/the-button/web/src/components/Reward-Modal.vue:37"}, "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-2414e256fd185388", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/the-button/web/src/store/modules/counter.js:7", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/the-button/web/src/store/modules/counter.js:7"}, "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-31029cada85e0ec8", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/the-button/web/src/store/modules/counter.js:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/the-button/web/src/store/modules/counter.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-ee50d0974c86162b", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/skill-capped-discord-bot/lib/bot/notification/consoleNotifier.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/skill-capped-discord-bot/lib/bot/notification/consoleNotifier.ts: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-87408e6dd77079ed", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/rsi-hackathon-2016/src/main/resources/assets/js/people.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/rsi-hackathon-2016/src/main/resources/assets/js/people.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-747c64d7f686623d", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/type-challenges/00020-medium-promise-all.ts:18", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/type-challenges/00020-medium-promise-all.ts:18"}, "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-d45ad4a15fcf1e80", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/router/index.js:38", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/router/index.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-bdfa424007053719", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/user-login.vue:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/user-login.vue:77"}, "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-e521fc89d0de6bb7", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/user-register.vue", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/user-register.vue:129"}, "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-9310b3e462435d3c", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/delete/delete-loc", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/delete/delete-location.vue:77"}, "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-2a3e7c1d103a2311", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/delete/delete-act", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/delete/delete-activity.vue:77"}, "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-f351701697c9bbd7", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/delete/delete-tag", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/delete/delete-tag.vue:77"}, "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-57c9bc600f4441b5", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/delete/delete-typ", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/delete/delete-type.vue:59"}, "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-5dd2823443c6e75f", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/create/create-act", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/create/create-activity.vue:168"}, "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-513e3d666acd7711", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/create/create-typ", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/create/create-type.vue:91"}, "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-2b10b0d8b829d795", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/create/create-tag", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/create/create-tag.vue:67"}, "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-cc90031f612dd930", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/create/create-loc", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/create/create-location.vue: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-47f62c32a005f263", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/edit/edit-activit", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/edit/edit-activity.vue:186"}, "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-529a1ebf91604405", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/edit/edit-tag.vue", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/edit/edit-tag.vue: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-9982e5b053fbd93c", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/edit/edit-type.vu", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/edit/edit-type.vue:109"}, "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-8ba6628c409af6ed", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/edit/edit-locatio", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/edit/edit-location.vue:103"}, "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-ab86b014e201c9a1", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/store/modules/activities.js:", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/store/modules/activities.js:24"}, "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-eaf64bb85c7409db", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/store/modules/locations.js:2", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/store/modules/locations.js:24"}, "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-37f195bf6424070f", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/store/modules/types.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/store/modules/types.js:24"}, "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-b691bb8e8699c5e7", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/store/modules/tags.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/store/modules/tags.js:24"}, "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-aa6dc97eddd51364", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/trip-sim/web/src/serviceWorker.ts:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/trip-sim/web/src/serviceWorker.ts:49"}, "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-32ee64efb4319c26", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/mira-hq/frontend/src/components/cards/ServerCard.tsx:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/mira-hq/frontend/src/components/cards/ServerCard.tsx:31"}, "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-3b571a327dca2f3c", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/mira-hq/backend/lib/auth.ts:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/mira-hq/backend/lib/auth.ts:55"}, "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-d30cebe2b6ad1d29", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/mira-hq/backend/lib/index.ts:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/mira-hq/backend/lib/index.ts:66"}, "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-1b11742c7fa68dc1", "name": "Stray `console.log` in TS/JS \u2014 sandbox/archive/mira-hq/backend/lib/datastore/dynamodb-datastore.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/mira-hq/backend/lib/datastore/dynamodb-datastore.ts: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-879fc4c3385d0697", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/push-pal/packages/frontend/src/pages/Home.tsx:7", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/push-pal/packages/frontend/src/pages/Home.tsx:7"}, "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-442dbf3de4671369", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/scripts/verify-e2e.ts:176", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/scripts/verify-e2e.ts:176"}, "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-85f5f5ea6f7e9253", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/scripts/check-queue.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/scripts/check-queue.ts: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-f07754c20b8469f6", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/scripts/test-sdk.ts:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/scripts/test-sdk.ts:43"}, "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-2c4c280c62f3f71c", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/scripts/test-webhook.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/scripts/test-webhook.ts:41"}, "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-18e729310d2490e2", "name": "`truncate` class without `title=` for hover reveal \u2014 sandbox/poc/sentinel/web/src/pages/conversation.tsx:160", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 sandbox/poc/sentinel/web/src/pages/conversation.tsx:160"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-90c654272ef8da6e", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/src/observability/sentry.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/src/observability/sentry.ts: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-82ae88a0d3d579fd", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/index.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/index.ts: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-b9de67b73f7fe09c", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/questions/generate.ts:102", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/questions/generate.ts: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-5903fa494f4db174", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/system-design/start.ts:148", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/system-design/start.ts:148"}, "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-1a8b86e4f76db068", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/system-design/tools.ts:172", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/system-design/tools.ts:172"}, "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-51c65bfab7ebd471", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/resume.ts:112", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/resume.ts:112"}, "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-382adeda68e176ba", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/history.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/history.ts: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-020607ed9e1c38ca", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/interview-loop.ts:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/interview-loop.ts:40"}, "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-f70d6d23e7b12d7c", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/start.ts:103", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/start.ts:103"}, "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-d08f4477ea39ab30", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/voice.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/voice.ts:64"}, "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-e02f72e1a76aca69", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/poc/interview-practice/src/lib/questions/starter-code.ts:137", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/poc/interview-practice/src/lib/questions/starter-code.ts:137"}, "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-02a0b8b1abe70802", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/lib/input/prompt.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/lib/input/prompt.ts:47"}, "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-eccdf6b93d09b9d2", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/lib/testing/runner.ts:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/lib/testing/runner.ts:50"}, "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-7ac4198c92008218", "name": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/handlers/questions.ts:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/handlers/questions.ts:48"}, "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-85c10aeff034ec19", "name": "Stray `console.log` in TS/JS \u2014 sandbox/practice/claude-web/frontend/src/hooks/useWebSocket.ts:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/practice/claude-web/frontend/src/hooks/useWebSocket.ts:79"}, "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-ccf3a1df7efec978", "name": "Stray `console.log` in TS/JS \u2014 sandbox/practice/claude-web/docker/agent-bridge/index.js:128", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/practice/claude-web/docker/agent-bridge/index.js:128"}, "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-344e51f600e3b663", "name": "TODO/FIXME marker in shipping code \u2014 sandbox/practice/claude-web/src/docker/manager.ts:61", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/practice/claude-web/src/docker/manager.ts:61"}, "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-6ffefd073845dfa8", "name": "Stray `console.log` in TS/JS \u2014 sandbox/practice/a2ui-poc/src/index.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/practice/a2ui-poc/src/index.ts:15"}, "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-a8b8b99502743950", "name": "Stray `console.log` in TS/JS \u2014 sandbox/practice/advent-of-code/2024/Day0/main.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/practice/advent-of-code/2024/Day0/main.ts: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-b8ffe1e848356e91", "name": "Stray `console.log` in TS/JS \u2014 sandbox/practice/advent-of-code/2023/Day1/index.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/practice/advent-of-code/2023/Day1/index.ts: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-cd35eb87eb05fbfa", "name": "Stray `console.log` in TS/JS \u2014 sandbox/practice/vscode-extension/esbuild.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/practice/vscode-extension/esbuild.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-e7026e8a761b3e2a", "name": "Stray `console.log` in TS/JS \u2014 sandbox/practice/vscode-extension/src/extension.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/practice/vscode-extension/src/extension.ts: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-87091a76abd6ffaf", "name": "Privileged port 256 in use", "shortDescription": {"text": "Privileged port 256 in use"}, "fullDescription": {"text": "Port 256 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-36193f5291ff4981", "name": "Privileged port 191 in use", "shortDescription": {"text": "Privileged port 191 in use"}, "fullDescription": {"text": "Port 191 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7e08cf3391fde0b9", "name": "Privileged port 69 in use", "shortDescription": {"text": "Privileged port 69 in use"}, "fullDescription": {"text": "Port 69 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bb19ce7f92227cc8", "name": "Privileged port 15 in use", "shortDescription": {"text": "Privileged port 15 in use"}, "fullDescription": {"text": "Port 15 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9ddff490da4c1800", "name": "Privileged port 30 in use", "shortDescription": {"text": "Privileged port 30 in use"}, "fullDescription": {"text": "Port 30 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d9745e7b0d077aaf", "name": "Privileged port 24 in use", "shortDescription": {"text": "Privileged port 24 in use"}, "fullDescription": {"text": "Port 24 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b6e7a148484f40cb", "name": "Privileged port 11 in use", "shortDescription": {"text": "Privileged port 11 in use"}, "fullDescription": {"text": "Port 11 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cb4f701a30cf8224", "name": "Privileged port 132 in use", "shortDescription": {"text": "Privileged port 132 in use"}, "fullDescription": {"text": "Port 132 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e32c1912ddcc006a", "name": "Privileged port 13 in use", "shortDescription": {"text": "Privileged port 13 in use"}, "fullDescription": {"text": "Port 13 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-20e68c87da64b505", "name": "Privileged port 18 in use", "shortDescription": {"text": "Privileged port 18 in use"}, "fullDescription": {"text": "Port 18 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-df08ca49df20b97e", "name": "Privileged port 10 in use", "shortDescription": {"text": "Privileged port 10 in use"}, "fullDescription": {"text": "Port 10 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-188b3515a436b411", "name": "Privileged port 19 in use", "shortDescription": {"text": "Privileged port 19 in use"}, "fullDescription": {"text": "Port 19 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f4ade664054a166c", "name": "Privileged port 12 in use", "shortDescription": {"text": "Privileged port 12 in use"}, "fullDescription": {"text": "Port 12 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b7d0015516441f92", "name": "Privileged port 20 in use", "shortDescription": {"text": "Privileged port 20 in use"}, "fullDescription": {"text": "Port 20 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5abb5208cd8ff663", "name": "Privileged port 1000 in use", "shortDescription": {"text": "Privileged port 1000 in use"}, "fullDescription": {"text": "Port 1000 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-112b7f6db089e514", "name": "Privileged port 50 in use", "shortDescription": {"text": "Privileged port 50 in use"}, "fullDescription": {"text": "Port 50 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-387522196fd1bd64", "name": "Privileged port 55 in use", "shortDescription": {"text": "Privileged port 55 in use"}, "fullDescription": {"text": "Port 55 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4f7cd8c06ffb2928", "name": "Privileged port 60 in use", "shortDescription": {"text": "Privileged port 60 in use"}, "fullDescription": {"text": "Port 60 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e0a8ee4b2aa282fa", "name": "Privileged port 65 in use", "shortDescription": {"text": "Privileged port 65 in use"}, "fullDescription": {"text": "Port 65 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-da231ce745c44327", "name": "Privileged port 14 in use", "shortDescription": {"text": "Privileged port 14 in use"}, "fullDescription": {"text": "Port 14 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-af47da67d063098f", "name": "Privileged port 70 in use", "shortDescription": {"text": "Privileged port 70 in use"}, "fullDescription": {"text": "Port 70 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7f5f18170a3d6a3f", "name": "Privileged port 75 in use", "shortDescription": {"text": "Privileged port 75 in use"}, "fullDescription": {"text": "Port 75 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e927ab5a1c28de78", "name": "Privileged port 16 in use", "shortDescription": {"text": "Privileged port 16 in use"}, "fullDescription": {"text": "Port 16 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7807b0af6762f71c", "name": "Privileged port 17 in use", "shortDescription": {"text": "Privileged port 17 in use"}, "fullDescription": {"text": "Port 17 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d546390dedd3ba3a", "name": "Privileged port 85 in use", "shortDescription": {"text": "Privileged port 85 in use"}, "fullDescription": {"text": "Port 85 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0eac046b17abc49f", "name": "Privileged port 90 in use", "shortDescription": {"text": "Privileged port 90 in use"}, "fullDescription": {"text": "Port 90 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c85f3441e55fd266", "name": "Privileged port 95 in use", "shortDescription": {"text": "Privileged port 95 in use"}, "fullDescription": {"text": "Port 95 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2e3bb935841e3674", "name": "Privileged port 550 in use", "shortDescription": {"text": "Privileged port 550 in use"}, "fullDescription": {"text": "Port 550 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0fa9c01f4b7d5771", "name": "Privileged port 600 in use", "shortDescription": {"text": "Privileged port 600 in use"}, "fullDescription": {"text": "Port 600 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e73a0e0fe054144a", "name": "Privileged port 650 in use", "shortDescription": {"text": "Privileged port 650 in use"}, "fullDescription": {"text": "Port 650 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-edc9251101350c26", "name": "Privileged port 700 in use", "shortDescription": {"text": "Privileged port 700 in use"}, "fullDescription": {"text": "Port 700 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-74cdf349613c3c11", "name": "Privileged port 750 in use", "shortDescription": {"text": "Privileged port 750 in use"}, "fullDescription": {"text": "Port 750 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8aa904cea7ad3b09", "name": "Privileged port 800 in use", "shortDescription": {"text": "Privileged port 800 in use"}, "fullDescription": {"text": "Port 800 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3574c98619a3f01b", "name": "Privileged port 850 in use", "shortDescription": {"text": "Privileged port 850 in use"}, "fullDescription": {"text": "Port 850 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9ba4be3b94610397", "name": "Privileged port 900 in use", "shortDescription": {"text": "Privileged port 900 in use"}, "fullDescription": {"text": "Port 900 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5db309bdd5701657", "name": "Privileged port 950 in use", "shortDescription": {"text": "Privileged port 950 in use"}, "fullDescription": {"text": "Port 950 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-af7714c94fa0eb6e", "name": "Privileged port 999 in use", "shortDescription": {"text": "Privileged port 999 in use"}, "fullDescription": {"text": "Port 999 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dee258b678ca986a", "name": "Privileged port 23 in use", "shortDescription": {"text": "Privileged port 23 in use"}, "fullDescription": {"text": "Port 23 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-800ae5dabc063653", "name": "Privileged port 27 in use", "shortDescription": {"text": "Privileged port 27 in use"}, "fullDescription": {"text": "Port 27 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-523b0d5df0f4e44d", "name": "Privileged port 29 in use", "shortDescription": {"text": "Privileged port 29 in use"}, "fullDescription": {"text": "Port 29 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a43090ad77c41d0f", "name": "Privileged port 40 in use", "shortDescription": {"text": "Privileged port 40 in use"}, "fullDescription": {"text": "Port 40 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-61f467d1790b8fae", "name": "Dockerfile runs as root: .buildkite/ci-image/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: .buildkite/ci-image/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4bfe823fef4633ef", "name": "Dockerfile pipes a remote installer into a shell", "shortDescription": {"text": "Dockerfile pipes a remote installer into a shell"}, "fullDescription": {"text": "Executing downloaded code during image build gives the remote endpoint build-time code execution. Prefer pinned packages or verify downloaded installers by checksum/signature."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bbac9aee05b09d99", "name": "Dockerfile runs as root: packages/scout-for-lol/.cursor/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: packages/scout-for-lol/.cursor/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-be0447c7359a102d", "name": "Dockerfile runs as root: packages/discord-plays-mario-kart/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: packages/discord-plays-mario-kart/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a661e6ec1a3b3d69", "name": "Dockerfile runs as root: packages/homelab/.cursor/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: packages/homelab/.cursor/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d5145f36f2ff286a", "name": "Dockerfile runs as root: packages/discord-plays-pokemon/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: packages/discord-plays-pokemon/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0493c63a106540e5", "name": "Dockerfile runs as root: packages/dotfiles/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: packages/dotfiles/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e1d18ddae0d7b944", "name": "Dockerfile runs as root: packages/dotfiles/.cursor/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: packages/dotfiles/.cursor/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2aeca0527c8174c2", "name": "Dockerfile runs as root: sandbox/archive/herd/api/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: sandbox/archive/herd/api/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fa1cae4e1cc9f5cc", "name": "Docker base image is tag-pinned but not digest-pinned: node:10", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:10"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8163b5da78692946", "name": "Dockerfile runs as root: sandbox/archive/herd/web/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: sandbox/archive/herd/web/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2b5a7b635be55389", "name": "Docker base image is tag-pinned but not digest-pinned: node:10", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:10"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bd97a9df2e3280c2", "name": "Dockerfile runs as root: sandbox/archive/gpt-2-simple-sagemaker-container/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: sandbox/archive/gpt-2-simple-sagemaker-container/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b3c1eab06a10a955", "name": "Docker base image is tag-pinned but not digest-pinned: intelaipg/intel-optimized-tensorflow:1.15.2-py3", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: intelaipg/intel-optimized-tensorflow:1.15.2-py3"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ecf0e9393c6a6981", "name": "Dockerfile runs as root: sandbox/archive/gpt-2/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: sandbox/archive/gpt-2/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1301f3107c333804", "name": "Docker base image is tag-pinned but not digest-pinned: tensorflow/tensorflow:1.15.2-py3", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: tensorflow/tensorflow:1.15.2-py3"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-97c41143b2b146dc", "name": "Dockerfile runs as root: sandbox/archive/skill-capped-discord-bot/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: sandbox/archive/skill-capped-discord-bot/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-10ec2dfa0da124ad", "name": "Docker base image is tag-pinned but not digest-pinned: node:lts-bullseye", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:lts-bullseye"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d45bde078c4bc89", "name": "Runtime dotenv file present in repo: packages/homelab/src/tofu/.env", "shortDescription": {"text": "Runtime dotenv file present in repo: packages/homelab/src/tofu/.env"}, "fullDescription": {"text": "`packages/homelab/src/tofu/.env` looks like a runtime dotenv file. It contains secret-looking assignments for CLOUDFLARE_API_TOKEN, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, TAILSCALE_OAUTH_CLIENT_SECRET. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-e042940deede3936", "name": "Runtime dotenv file present in repo: sandbox/archive/herd/web/.env.development", "shortDescription": {"text": "Runtime dotenv file present in repo: sandbox/archive/herd/web/.env.development"}, "fullDescription": {"text": "`sandbox/archive/herd/web/.env.development` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3eeebff6b3321eae", "name": "Runtime dotenv file present in repo: sandbox/archive/herd/web/.env.production", "shortDescription": {"text": "Runtime dotenv file present in repo: sandbox/archive/herd/web/.env.production"}, "fullDescription": {"text": "`sandbox/archive/herd/web/.env.production` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d23652f8fea542a0", "name": "Runtime dotenv file present in repo: sandbox/archive/hu-easel/web/.env.production", "shortDescription": {"text": "Runtime dotenv file present in repo: sandbox/archive/hu-easel/web/.env.production"}, "fullDescription": {"text": "`sandbox/archive/hu-easel/web/.env.production` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-30817060fda74b60", "name": "Insecure pattern 'node_child_process' in scripts/check-line-endings.ts:22", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/check-line-endings.ts:22"}, "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-52920c377530e606", "name": "Insecure pattern 'subprocess_shell_true' in scripts/bench_remote_profile.py:49", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/bench_remote_profile.py:49"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fa702a429b233098", "name": "Insecure pattern 'subprocess_shell_true' in scripts/bench_remote_setup.py:32", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/bench_remote_setup.py:32"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-154c76b2601101c0", "name": "Insecure pattern 'node_child_process' in scripts/check-bun-lock-drift.ts:46", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/check-bun-lock-drift.ts:46"}, "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-5e96da85818a25a3", "name": "Insecure pattern 'node_child_process' in scripts/ci/src/change-detection.ts:13", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/ci/src/change-detection.ts:13"}, "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-88f02b26715dd820", "name": "Insecure pattern 'node_child_process' in scripts/ci/src/__tests__/dagger-hygiene.test.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/ci/src/__tests__/dagger-hygiene.test.ts:2"}, "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-cb4026422e1c6c70", "name": "Insecure pattern 'node_child_process' in scripts/ci/src/__tests__/validate-catalog.test.ts:15", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/ci/src/__tests__/validate-catalog.test.ts:15"}, "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-17e8eadc5930e91a", "name": "Insecure pattern 'node_child_process' in scripts/ci/src/lib/validate-catalog.ts:7", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/ci/src/lib/validate-catalog.ts:7"}, "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-4bdd4b5c36d5c21b", "name": "Insecure pattern 'node_child_process' in scripts/ci/src/lib/k8s-plugin.ts:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/ci/src/lib/k8s-plugin.ts: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-a1b12472f4acab55", "name": "Insecure pattern 'local_storage_auth_token' in packages/scout-for-lol/packages/frontend/src/components/report-ui/app.tsx", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in packages/scout-for-lol/packages/frontend/src/components/report-ui/app.tsx:114"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-545e87b161a24022", "name": "Insecure pattern 'node_child_process' in packages/eslint-config/src/rules/shared/tool-runner.ts:10", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/eslint-config/src/rules/shared/tool-runner.ts:10"}, "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-adc3d541db24a412", "name": "Insecure pattern 'node_child_process' in packages/toolkit/src/commands/discord/daemon.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/toolkit/src/commands/discord/daemon.ts: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-5bc3d5bf2c3c2824", "name": "Insecure pattern 'node_child_process' in packages/temporal/scripts/inject-eval-regression.ts:36", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/temporal/scripts/inject-eval-regression.ts:36"}, "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-dcaa9df4e32562fe", "name": "Insecure pattern 'private_key_in_repo' in packages/temporal/src/lib/github-app-token.test.ts:55", "shortDescription": {"text": "Insecure pattern 'private_key_in_repo' in packages/temporal/src/lib/github-app-token.test.ts:55"}, "fullDescription": {"text": "Found a known-risky pattern (private_key_in_repo). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-4cc4cff7cc17aabf", "name": "Possible secret in packages/temporal/src/activities/fetcher.ts", "shortDescription": {"text": "Possible secret in packages/temporal/src/activities/fetcher.ts"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-13f7af829ebb7d49", "name": "Insecure pattern 'private_key_in_repo' in packages/temporal/src/activities/agent-task.test.ts:33", "shortDescription": {"text": "Insecure pattern 'private_key_in_repo' in packages/temporal/src/activities/agent-task.test.ts:33"}, "fullDescription": {"text": "Found a known-risky pattern (private_key_in_repo). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-5b348d9dfba5346c", "name": "Insecure pattern 'node_child_process' in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-audio.ts:30", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-audio.ts:30"}, "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-75c4731973143168", "name": "Insecure pattern 'cors_wildcard' in packages/discord-plays-mario-kart/packages/backend/src/webserver/socket.ts:30", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/discord-plays-mario-kart/packages/backend/src/webserver/socket.ts:30"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a7edc130a10b9894", "name": "Insecure pattern 'cors_wildcard' in packages/discord-plays-mario-kart/packages/backend/src/webserver/express.ts:21", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/discord-plays-mario-kart/packages/backend/src/webserver/express.ts:21"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-35cd5909161120d1", "name": "Insecure pattern 'node_child_process' in packages/homelab/AGENTS.md:77", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/homelab/AGENTS.md:77"}, "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-f12682e717b6b611", "name": "Insecure pattern 'node_child_process' in packages/homelab/scripts/test-helm.ts:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/homelab/scripts/test-helm.ts: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-3fa4c77a6f2627e4", "name": "Possible secret in packages/homelab/src/cdk8s/src/resources/argo-applications/grafana-values.ts", "shortDescription": {"text": "Possible secret in packages/homelab/src/cdk8s/src/resources/argo-applications/grafana-values.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-e228c0c41de39015", "name": "Insecure pattern 'node_child_process' in packages/birmel/src/agent-tools/tools/automation/test-setup.ts:8", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/birmel/src/agent-tools/tools/automation/test-setup.ts:8"}, "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-b227d8c916e1c0e5", "name": "Insecure pattern 'node_child_process' in packages/discord-plays-pokemon/packages/backend/src/stream/audio-transport.test", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/discord-plays-pokemon/packages/backend/src/stream/audio-transport.test.ts:22"}, "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-616b51f55495d8a3", "name": "Insecure pattern 'cors_wildcard' in packages/discord-plays-pokemon/packages/backend/src/webserver/socket.ts:24", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/discord-plays-pokemon/packages/backend/src/webserver/socket.ts:24"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-75e08a1ae2e3e9ed", "name": "Insecure pattern 'cors_wildcard' in packages/discord-plays-pokemon/packages/backend/src/webserver/express.ts:21", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/discord-plays-pokemon/packages/backend/src/webserver/express.ts:21"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d993c92e4a31d872", "name": "Insecure pattern 'node_child_process' in packages/discord-video-stream/src/media/newApi.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/discord-video-stream/src/media/newApi.ts:2"}, "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-f1b94d8159969de5", "name": "Possible secret in packages/dotfiles/dot_agents/skills/typescript-helper/SKILL.md", "shortDescription": {"text": "Possible secret in packages/dotfiles/dot_agents/skills/typescript-helper/SKILL.md"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-128341aec1c10101", "name": "Insecure pattern 'node_child_process' in packages/dotfiles/dot_agents/skills/bun-runtime-best-practices/SKILL.md:132", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/dotfiles/dot_agents/skills/bun-runtime-best-practices/SKILL.md:132"}, "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-0dddf8b3fdc78c9f", "name": "Possible secret in packages/dotfiles/dot_agents/skills/hono-helper/SKILL.md", "shortDescription": {"text": "Possible secret in packages/dotfiles/dot_agents/skills/hono-helper/SKILL.md"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-85b99e6ef067297d", "name": "Possible secret in packages/dotfiles/dot_agents/skills/vite-react-helper/SKILL.md", "shortDescription": {"text": "Possible secret in packages/dotfiles/dot_agents/skills/vite-react-helper/SKILL.md"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-8cd10be14d652574", "name": "Insecure pattern 'node_child_process' in packages/tasks-for-obsidian/scripts/check-ios-native-deps.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/tasks-for-obsidian/scripts/check-ios-native-deps.ts: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-e1bf75e31ecc6359", "name": "Possible secret in sandbox/archive/herd/web/src/components/authentication/login/LoginForm.js", "shortDescription": {"text": "Possible secret in sandbox/archive/herd/web/src/components/authentication/login/LoginForm.js"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-4d3a2154e2c265b3", "name": "Insecure pattern 'direct_innerhtml_assignment' in sandbox/archive/harding-christmas/app.js:25", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in sandbox/archive/harding-christmas/app.js:25"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bfc972742cb63d9e", "name": "Insecure pattern 'direct_innerhtml_assignment' in sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-web", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-web/src/app/app.ts:18"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d3b0ed2dbe3db016", "name": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-web/sr", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-web/src/net/client.ts:28"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-042c356f84269344", "name": "Insecure pattern 'cors_wildcard' in sandbox/archive/easely/api/src/main/java/com/shepherdjerred/easely/api/Main.java:86", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in sandbox/archive/easely/api/src/main/java/com/shepherdjerred/easely/api/Main.java:86"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0d7000387965cc84", "name": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/easely/web/src/components/user/user-login.vue:77", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/easely/web/src/components/user/user-login.vue:77"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-89f7bca485fcc459", "name": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/easely/web/src/components/user/user-register.vue:163", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/easely/web/src/components/user/user-register.vue:163"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9b9e8fcd35a176b1", "name": "Insecure pattern 'direct_innerhtml_assignment' in sandbox/archive/raspastat/web/src/main/resources/assets/js/main.js:4", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in sandbox/archive/raspastat/web/src/main/resources/assets/js/main.js:4"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8b005f7de2c02a7c", "name": "Insecure pattern 'exec_used' in sandbox/archive/discord/packages/backend/src/db/shim/database.ts:171", "shortDescription": {"text": "Insecure pattern 'exec_used' in sandbox/archive/discord/packages/backend/src/db/shim/database.ts:171"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4a4fdd4969fa3031", "name": "Possible secret in sandbox/archive/ansible-playbook/roles/user/tasks/main.yml", "shortDescription": {"text": "Possible secret in sandbox/archive/ansible-playbook/roles/user/tasks/main.yml"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-917401316c9941ef", "name": "Possible secret in sandbox/archive/ansible-playbook/roles/root/tasks/main.yml", "shortDescription": {"text": "Possible secret in sandbox/archive/ansible-playbook/roles/root/tasks/main.yml"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-0a026e7cc75eb9bb", "name": "Possible secret in sandbox/archive/instalike/index.js", "shortDescription": {"text": "Possible secret in sandbox/archive/instalike/index.js"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-bfb6c35e52f4c628", "name": "Insecure pattern 'direct_innerhtml_assignment' in sandbox/archive/rsi-hackathon-2016/src/main/resources/assets/js/people", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in sandbox/archive/rsi-hackathon-2016/src/main/resources/assets/js/people.js:5"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e9dd993d58c01510", "name": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/u", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/user-login.vue:78"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0dde532b2ec62014", "name": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/u", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/user-register.vue:130"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0e8b80835a481d0e", "name": "Insecure pattern 'new_function_used' in sandbox/archive/mira-hq/infrastructure/lib/infrastructure-stack.ts:166", "shortDescription": {"text": "Insecure pattern 'new_function_used' in sandbox/archive/mira-hq/infrastructure/lib/infrastructure-stack.ts:166"}, "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-74097e12b650e29a", "name": "Insecure pattern 'node_child_process' in sandbox/practice/claude-web/docker/agent-bridge/index.js:16", "shortDescription": {"text": "Insecure pattern 'node_child_process' in sandbox/practice/claude-web/docker/agent-bridge/index.js:16"}, "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-eee4822420a89c3c", "name": "Insecure pattern 'eval_used' in sandbox/practice/ostep-homework/threads-locks/x86.py:895", "shortDescription": {"text": "Insecure pattern 'eval_used' in sandbox/practice/ostep-homework/threads-locks/x86.py:895"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8b6796001bddfb98", "name": "Insecure pattern 'eval_used' in sandbox/practice/ostep-homework/threads-intro/x86.py:754", "shortDescription": {"text": "Insecure pattern 'eval_used' in sandbox/practice/ostep-homework/threads-intro/x86.py:754"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-41e348b92e1d2a1b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/cache@v2 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": "low", "confidence": 1.0}}, {"id": "scanner-db40493324405a9b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v3.1.2 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": "low", "confidence": 1.0}}, {"id": "scanner-e5f97ad8cdb2bd47", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/cache@v2 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": "low", "confidence": 1.0}}, {"id": "scanner-8b66673ce72c143a", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "scottbrenner/aws-cdk-action@master 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": "high", "confidence": 1.0}}, {"id": "scanner-5f5c5f8a19dc7c84", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/cache@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": "low", "confidence": 1.0}}, {"id": "scanner-fbec3dd47d02ffa1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@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": "low", "confidence": 1.0}}, {"id": "scanner-77c924961a506fef", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "dependabot/fetch-metadata@v1.3.1 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-9f292eb46ac29701", "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-181229e349dc16c0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "dependabot/fetch-metadata@v2.2.0 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-7bf66d3ec34176b7", "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-e5345dfda9196dff", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-dotnet@v1 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": "low", "confidence": 1.0}}, {"id": "scanner-c14031f6c152233b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-dotnet@v1 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": "low", "confidence": 1.0}}, {"id": "scanner-5e17aaaa60083169", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "dawidd6/action-ansible-playbook@v2 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-502b39e4417ddf53", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "ansible/ansible-lint-action@master 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": "high", "confidence": 1.0}}, {"id": "scanner-7ec566a19f308ee5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v2 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": "low", "confidence": 1.0}}, {"id": "scanner-e4f4c606df9c2c81", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/cache@v3.0.1 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": "low", "confidence": 1.0}}, {"id": "scanner-ac387937ff012a9b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "devcontainers/action@v1 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-96aabbe4a2576161", "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-dfa128c931756e0c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "devcontainers/action@v1 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-65957a864e7e79fb", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/cache@v2 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": "low", "confidence": 1.0}}, {"id": "scanner-cd436f7c0dc3c44d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/cache@v2 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": "low", "confidence": 1.0}}, {"id": "scanner-cdf85f07adfc4c93", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "scottbrenner/aws-cdk-action@master 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": "high", "confidence": 1.0}}, {"id": "scanner-346d6c7c5e6816eb", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/cache@v2 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": "low", "confidence": 1.0}}, {"id": "scanner-224aa6093d8b96b0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/cache@v2 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": "low", "confidence": 1.0}}, {"id": "scanner-dbc7e1b190a4cffd", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "appleboy/lambda-action@master 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": "high", "confidence": 1.0}}, {"id": "scanner-dddd6ff168b9e835", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions-rs/toolchain@v1 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-05f0a16c331149ab", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v2.2.3 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": "low", "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-af6b77044e223b8c", "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-02249365a1650a29", "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-dda4bce3b48be947", "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-4bc4d72ecf1aebba", "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-18e1eee1eb2d3272", "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-19870b0ceff04c10", "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-8d250d3a5d6415bc", "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-6f0dadcfc7aae6b8", "name": "Very large file: scripts/ci/src/__tests__/pipeline-builder.test.ts (1573 lines)", "shortDescription": {"text": "Very large file: scripts/ci/src/__tests__/pipeline-builder.test.ts (1573 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a9be5f10f111b405", "name": "Very large file: packages/homelab/src/cdk8s/generated/helm/argo-cd.types.ts (9421 lines)", "shortDescription": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/argo-cd.types.ts (9421 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed83da2c64b8c713", "name": "Very large file: packages/homelab/src/cdk8s/generated/helm/mariadb.types.ts (3372 lines)", "shortDescription": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/mariadb.types.ts (3372 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1cbe32f6d137d05c", "name": "Very large file: packages/homelab/src/cdk8s/generated/helm/cert-manager.types.ts (2206 lines)", "shortDescription": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/cert-manager.types.ts (2206 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cc92e5a43e6ec337", "name": "Very large file: packages/homelab/src/cdk8s/generated/helm/loki.types.ts (11150 lines)", "shortDescription": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/loki.types.ts (11150 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4b2633f373cf1ca0", "name": "Very large file: packages/homelab/src/cdk8s/generated/helm/pyroscope.types.ts (1745 lines)", "shortDescription": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/pyroscope.types.ts (1745 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d51f93becd3cdc5", "name": "Very large file: packages/homelab/src/cdk8s/generated/helm/seaweedfs.types.ts (4409 lines)", "shortDescription": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/seaweedfs.types.ts (4409 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-81f7a3b3075aa26e", "name": "Very large file: packages/homelab/src/cdk8s/generated/helm/redis.types.ts (4898 lines)", "shortDescription": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/redis.types.ts (4898 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2a2841c1599af685", "name": "Very large file: packages/homelab/src/cdk8s/generated/helm/kyverno.types.ts (6073 lines)", "shortDescription": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/kyverno.types.ts (6073 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-16a7dee39e22843d", "name": "Very large file: packages/homelab/src/cdk8s/generated/helm/kube-prometheus-stack.types.ts (10323 lines)", "shortDescription": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/kube-prometheus-stack.types.ts (10323 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ebec2876da86d3a1", "name": "Very large file: sandbox/archive/clauderon/src/tui/events.rs (1283 lines)", "shortDescription": {"text": "Very large file: sandbox/archive/clauderon/src/tui/events.rs (1283 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-01e9f05631b7f27d", "name": "Very large file: sandbox/archive/clauderon/src/tui/app.rs (2157 lines)", "shortDescription": {"text": "Very large file: sandbox/archive/clauderon/src/tui/app.rs (2157 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49b0636bfc6d1614", "name": "Very large file: sandbox/archive/clauderon/src/backends/docker.rs (2606 lines)", "shortDescription": {"text": "Very large file: sandbox/archive/clauderon/src/backends/docker.rs (2606 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d5b7dd1ff184030", "name": "Very large file: sandbox/archive/clauderon/src/core/manager.rs (3840 lines)", "shortDescription": {"text": "Very large file: sandbox/archive/clauderon/src/core/manager.rs (3840 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0da14b2f7fa994de", "name": "Very large file: sandbox/archive/clauderon/src/core/session.rs (2094 lines)", "shortDescription": {"text": "Very large file: sandbox/archive/clauderon/src/core/session.rs (2094 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b3ba9f78dd42606", "name": "Very large file: sandbox/archive/clauderon/src/store/sqlite.rs (1894 lines)", "shortDescription": {"text": "Very large file: sandbox/archive/clauderon/src/store/sqlite.rs (1894 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "544 tests / 3268 src (ratio 0.17)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da9411541e913ad5", "name": "358 TODO/FIXME markers", "shortDescription": {"text": "358 TODO/FIXME markers"}, "fullDescription": {"text": "High count of TODO/FIXME/HACK markers \u2014 track them as issues so they're not forgotten."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79f05d1c96f8407b", "name": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/frontend/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/frontend/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-a18e1fcfbd148df1", "name": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/ui/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/ui/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-45d9aefaede2222e", "name": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/desktop/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/desktop/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-5ba278ca0e6d4776", "name": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/app/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/app/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-441c405bfb906894", "name": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/report/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/report/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-7f0d253f82f7e5f4", "name": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/backend/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/backend/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-7d68246e1fad0ff5", "name": "Node manifest has dependencies but no lockfile: packages/discord-plays-mario-kart/packages/frontend/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/discord-plays-mario-kart/packages/frontend/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-ae1268c786ffe66f", "name": "Node manifest has dependencies but no lockfile: packages/discord-plays-mario-kart/packages/common/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/discord-plays-mario-kart/packages/common/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-465a8901629a1b03", "name": "Node manifest has dependencies but no lockfile: packages/discord-plays-mario-kart/packages/backend/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/discord-plays-mario-kart/packages/backend/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-57c4ac168262d20b", "name": "Node manifest has dependencies but no lockfile: packages/discord-plays-pokemon/packages/frontend/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/discord-plays-pokemon/packages/frontend/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-1d68ec5b20049839", "name": "Node manifest has dependencies but no lockfile: packages/discord-plays-pokemon/packages/common/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/discord-plays-pokemon/packages/common/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-6e3b3d7badc032ad", "name": "Node manifest has dependencies but no lockfile: packages/discord-plays-pokemon/packages/backend/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/discord-plays-pokemon/packages/backend/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-1b1b548f2a54cde0", "name": "Node manifest has dependencies but no lockfile: sandbox/archive/clauderon/web/frontend/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: sandbox/archive/clauderon/web/frontend/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-92902981027675f9", "name": "Node manifest has dependencies but no lockfile: sandbox/archive/clauderon/web/client/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: sandbox/archive/clauderon/web/client/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-8f4035e361566420", "name": "Node manifest has dependencies but no lockfile: sandbox/archive/clauderon/web/shared/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: sandbox/archive/clauderon/web/shared/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-fb0c8bf1b078d489", "name": "Node manifest has dependencies but no lockfile: sandbox/archive/discord/packages/preview/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: sandbox/archive/discord/packages/preview/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-4d676ee67aba6d2b", "name": "Node manifest has dependencies but no lockfile: sandbox/archive/instalike/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: sandbox/archive/instalike/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-0833b837ab5a15e5", "name": "Node manifest has dependencies but no lockfile: sandbox/poc/sentinel/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: sandbox/poc/sentinel/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-7edb962797d993fe", "name": "Node manifest has dependencies but no lockfile: sandbox/poc/interview-practice/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: sandbox/poc/interview-practice/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-7d69d6c4f7b4dd9e", "name": "Node manifest has dependencies but no lockfile: sandbox/practice/claude-web/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: sandbox/practice/claude-web/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-388d0ce46645ac54", "name": "Node manifest has dependencies but no lockfile: sandbox/practice/claude-web/docker/agent-bridge/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: sandbox/practice/claude-web/docker/agent-bridge/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-6a054bc4c6733adf", "name": "Node manifest has dependencies but no lockfile: sandbox/practice/a2ui-poc/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: sandbox/practice/a2ui-poc/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 2377 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-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 473 placeholder/mock markers across 193 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: ci, lockfile. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing ci, lockfile. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "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-1b554c97d711d785", "name": "Agent authority lacks a verifier contract: packages/scout-for-lol/.mcp.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/scout-for-lol/.mcp.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-13fe9fadc4b07d47", "name": "Agent authority lacks a verifier contract: packages/toolkit/skills/recall/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/toolkit/skills/recall/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4707433ef42ab2c6", "name": "Agent authority lacks a verifier contract: packages/homelab/.cursor/mcp.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/homelab/.cursor/mcp.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8ec241ab57ceae73", "name": "Agent authority lacks a verifier contract: packages/homelab/.cursor/worktrees.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/homelab/.cursor/worktrees.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c1ba1af0d0831a25", "name": "Agent authority lacks a verifier contract: packages/homelab/.cursor/rules/project-context.mdc", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/homelab/.cursor/rules/project-context.mdc"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-08dd3a60f27440db", "name": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/version-management/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/version-management/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7dc1279eef730135", "name": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/dagger-helper/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/dagger-helper/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-157c818a14f3d2c7", "name": "Agent instruction contains unpinned remote install: packages/dotfiles/dot_agents/skills/dagger-helper/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: packages/dotfiles/dot_agents/skills/dagger-helper/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-edcabb86e45e981e", "name": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/linuxserver-containers/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/linuxserver-containers/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-965ed5babf1e5204", "name": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/gh-helper/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/gh-helper/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-22f192803567f818", "name": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/tailscale-helper/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/tailscale-helper/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f9329e82a4ee712c", "name": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/cdk8s-abstractions/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/cdk8s-abstractions/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e3f264a0268f82aa", "name": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/cdk8s-abstractions/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/cdk8s-abstractions/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2b5c3654b1104e74", "name": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/mastra-helper/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/mastra-helper/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-63ea877320b6b49f", "name": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/mastra-helper/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/mastra-helper/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c1df72a57f21bd12", "name": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/eslint-rule-dev/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/eslint-rule-dev/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f00ccae373116ccd", "name": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/bun-runtime-best-practices/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/bun-runtime-best-practices/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0aeec6bb652594e9", "name": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/docker-helper/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/docker-helper/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-56f850a0a8af4a9d", "name": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/hono-helper/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/hono-helper/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-be23a4123bc91deb", "name": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/discord-bot-helper/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/discord-bot-helper/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aa93f66db8c58dee", "name": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/pinchtab-helper/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/pinchtab-helper/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4f12c5f43d868e87", "name": "Agent instruction contains unpinned remote install: packages/dotfiles/dot_agents/skills/modern-cli-tools/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: packages/dotfiles/dot_agents/skills/modern-cli-tools/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f244b5a0cf61265c", "name": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/terminal-concepts/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/terminal-concepts/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-954d5669e2ce4205", "name": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/op-helper/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/op-helper/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-136c5e862af33309", "name": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/torvalds-deployment/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/torvalds-deployment/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b72b91d26270e72b", "name": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/torvalds-deployment/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/torvalds-deployment/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ac5f06c90b3948f6", "name": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/argocd-helper/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/argocd-helper/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f204d589b8aa2fad", "name": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/terraform-helper/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/terraform-helper/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f0a50847fe4be05e", "name": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/otel-observability/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/otel-observability/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-29015fe367e40d5e", "name": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/lightpanda-browser/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/lightpanda-browser/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-64b529517cf25232", "name": "Agent instruction contains unpinned remote install: packages/dotfiles/dot_agents/skills/sentry-helper/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: packages/dotfiles/dot_agents/skills/sentry-helper/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a3ad85427099a8e7", "name": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/argocd-app-patterns/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/argocd-app-patterns/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-49699876ce83d4d7", "name": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/storage-backup/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/storage-backup/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e4612adc34507fe", "name": "Agent authority lacks a verifier contract: sandbox/archive/clauderon/docs/src/content/docs/getting-started/agents.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: sandbox/archive/clauderon/docs/src/content/docs/getting-started/agents.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-122f91b7f2906dc4", "name": "Agent authority lacks a verifier contract: .claude/settings.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-87b0fe27d6dfa302", "name": "Commented-code block (6 lines) in scripts/check-todos.ts:52", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/check-todos.ts:52"}, "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-18f8ef74efbad483", "name": "Commented-code block (8 lines) in scripts/validate-commit-msg.ts:26", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/validate-commit-msg.ts:26"}, "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-910409c73eada825", "name": "Commented-code block (6 lines) in scripts/scrape-apple-hig.py:2", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/scrape-apple-hig.py:2"}, "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-ca21dd754d351e8b", "name": "Commented-code block (5 lines) in scripts/bench.py:2", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/bench.py:2"}, "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-1f34c6b413e0b1ff", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/bench.py:147", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/bench.py:147"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-21c06e9a2ca635cc", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/bench_remote_profile.py:49", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/bench_remote_profile.py:49"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dbcc5a5adc00cd57", "name": "Commented-code block (7 lines) in scripts/setup.ts:352", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/setup.ts:352"}, "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-ec00a5a766699589", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/check-1p-duplicates.py:13", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check-1p-duplicates.py:13"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3bb43eebdde01261", "name": "Commented-code block (6 lines) in scripts/check-tunnel-dns-coverage.ts:151", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/check-tunnel-dns-coverage.ts:151"}, "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-bf4ed2e6195c230d", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/bench_remote_setup.py:32", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/bench_remote_setup.py:32"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ce5948729e26712c", "name": "Commented-code block (5 lines) in scripts/observability/local-stack/emit-test-trace.ts:79", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/observability/local-stack/emit-test-trace.ts:79"}, "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-e37f3de433963e84", "name": "Commented-code block (5 lines) in scripts/ci/src/pipeline-builder.ts:113", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/ci/src/pipeline-builder.ts:113"}, "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-dd5977bed6aa1a40", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/ci/src/wait-for-greptile.ts:446", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/ci/src/wait-for-greptile.ts:446"}, "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-a19d89ea3178a22f", "name": "Commented-code block (7 lines) in scripts/ci/src/change-detection.ts:946", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/ci/src/change-detection.ts:946"}, "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-b8360dce9bba308c", "name": "Commented-code block (6 lines) in scripts/ci/src/__tests__/dagger-hygiene.test.ts:126", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/ci/src/__tests__/dagger-hygiene.test.ts:126"}, "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-4eddd714328bd313", "name": "Commented-code block (5 lines) in scripts/ci/src/__tests__/buildkite.test.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/ci/src/__tests__/buildkite.test.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-e023f75b24fabc93", "name": "Commented-code block (6 lines) in scripts/ci/src/__tests__/pipeline-builder.test.ts:1107", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/ci/src/__tests__/pipeline-builder.test.ts:1107"}, "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-5afbb5c1d05fd07d", "name": "Commented-code block (7 lines) in scripts/ci/src/lib/buildkite.ts:13", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/ci/src/lib/buildkite.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-ac8b9fea67ac1baf", "name": "Commented-code block (7 lines) in scripts/ci/src/lib/k8s-plugin.ts:67", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/ci/src/lib/k8s-plugin.ts:67"}, "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-2864228ebd33ec71", "name": "Commented-code block (5 lines) in scripts/ci/src/steps/images.ts:31", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/ci/src/steps/images.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-ed75ea3b2455769a", "name": "Commented-code block (5 lines) in scripts/ci/src/steps/build-summary.ts:23", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/ci/src/steps/build-summary.ts:23"}, "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-954ccbc2530b282e", "name": "Commented-code block (5 lines) in scripts/ci/src/steps/version.ts:31", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/ci/src/steps/version.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-3aaf06b1e5501204", "name": "Commented-code block (5 lines) in scripts/ci/src/steps/per-package.ts:81", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/ci/src/steps/per-package.ts:81"}, "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-e0f15b5d17aa7659", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/monarch/scripts/accuracy/label-server.ts:284", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/monarch/scripts/accuracy/label-server.ts:284"}, "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-2b86220f73390f4d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/monarch/src/lib/conservice/client.ts:106", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/monarch/src/lib/conservice/client.ts:106"}, "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-124118ee9baf3220", "name": "Commented-code block (6 lines) in packages/scout-for-lol/eslint.config.ts:180", "shortDescription": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/eslint.config.ts:180"}, "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-9f841bf8be597932", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/app/src/lib/trpc.ts:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/app/src/lib/trpc.ts:37"}, "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-ad9203edb1ed739c", "name": "Commented-code block (6 lines) in packages/scout-for-lol/packages/report/src/dataDragon/image-cache.ts:98", "shortDescription": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/report/src/dataDragon/image-cache.ts:98"}, "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-a86db8d6c8be06ba", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/http-server.ts:134", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/http-server.ts:134"}, "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-65789b1984acb9dd", "name": "Commented-code block (12 lines) in packages/scout-for-lol/packages/backend/src/league/data-dragon/validate-assets.ts:11", "shortDescription": {"text": "Commented-code block (12 lines) in packages/scout-for-lol/packages/backend/src/league/data-dragon/validate-assets.ts:11"}, "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-16b7db254cf10be8", "name": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/postmatch/match-history-polli", "shortDescription": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/postmatch/match-history-polling.ts:364"}, "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-2f227a1510cb0092", "name": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/prematch-notificatio", "shortDescription": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/prematch-notification.ts:208"}, "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-ee695a80ceccaa30", "name": "Commented-code block (7 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/prematch-notificatio", "shortDescription": {"text": "Commented-code block (7 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/prematch-notification.integration.test.ts:10"}, "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-74f06de14a6da003", "name": "Commented-code block (8 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/loading-screen-build", "shortDescription": {"text": "Commented-code block (8 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/loading-screen-builder.ts:183"}, "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-ce88fe3d9cf018b2", "name": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/active-game-detectio", "shortDescription": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/active-game-detection.ts:173"}, "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-a1d3fe171d28eba1", "name": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/__tests__/active-gam", "shortDescription": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/__tests__/active-game-detection.test.ts:78"}, "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-408be4b9a990ab93", "name": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/competition/lifecycle.ts:410", "shortDescription": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/competition/lifecycle.ts:410"}, "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-3ac15a0da64e4cbc", "name": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/competition/lifecycle.integra", "shortDescription": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/competition/lifecycle.integration.test.ts:691"}, "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-de5e89aa68901a72", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/league/tasks/cleanup/prune-pla", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/league/tasks/cleanup/prune-players.ts:60"}, "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-09bfe8ed06b799b9", "name": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/league/competition/processors/most-rank-cl", "shortDescription": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/league/competition/processors/most-rank-climb.ts:29"}, "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-45f521261bd513c3", "name": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/utils/champion.test.ts:141", "shortDescription": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/utils/champion.test.ts:141"}, "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-0fb6d76feea80196", "name": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/database/subscriptions.integration.test.ts", "shortDescription": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/database/subscriptions.integration.test.ts:279"}, "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-50132cac20ae06c7", "name": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/database/index.ts:23", "shortDescription": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/database/index.ts:23"}, "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-80d859efd144723d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/voice/audio-player.ts:81", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/voice/audio-player.ts:81"}, "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-9c8e666975ee8a1d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/voice/voice-manager.ts:78", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/voice/voice-manager.ts:78"}, "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-5aec19e64517f2f1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/trpc/auth-web.ts:243", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/trpc/auth-web.ts:243"}, "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-9d10f14f8ad9b571", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/discord/events/guild-create.ts", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/discord/events/guild-create.ts:48"}, "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-d408014f748f6691", "name": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/metrics/report-runs.ts:90", "shortDescription": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/metrics/report-runs.ts:90"}, "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-88ed0bb25f9041b4", "name": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/reports/system-reports.integration.test.ts", "shortDescription": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/reports/system-reports.integration.test.ts:60"}, "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-dfe3a1851360aa8b", "name": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/reports/scheduler.integration.test.ts:70", "shortDescription": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/reports/scheduler.integration.test.ts:70"}, "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-362fa1c1d11fe9b4", "name": "Commented-code block (8 lines) in packages/scout-for-lol/packages/backend/src/reports/system-reports.ts:372", "shortDescription": {"text": "Commented-code block (8 lines) in packages/scout-for-lol/packages/backend/src/reports/system-reports.ts:372"}, "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-6b546a130284afd6", "name": "Commented-code block (7 lines) in packages/scout-for-lol/packages/backend/src/storage/s3.test.ts:154", "shortDescription": {"text": "Commented-code block (7 lines) in packages/scout-for-lol/packages/backend/src/storage/s3.test.ts:154"}, "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-0e011ae2b0c190d5", "name": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/storage/s3-leaderboard.no-bucket.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/storage/s3-leaderboard.no-bucket.test.ts: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-41cd495410aab33e", "name": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/storage/s3-prematch-data.no-bucket.test.ts", "shortDescription": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/storage/s3-prematch-data.no-bucket.test.ts: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-096fc9875340e981", "name": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/storage/s3-leaderboard.test.ts:302", "shortDescription": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/storage/s3-leaderboard.test.ts:302"}, "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-b2660a70edd9a214", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/llm-observability/test/e2e/helpers.ts:97", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/llm-observability/test/e2e/helpers.ts:97"}, "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-318b75f8d132d95c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/llm-observability/test/e2e/signed-fetch.ts:79", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/llm-observability/test/e2e/signed-fetch.ts:79"}, "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-9ac359faa7ec751c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/llm-observability/src/archive-uploader.ts:180", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/llm-observability/src/archive-uploader.ts:180"}, "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-902243a6be9c1e17", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/starlight-karma-bot/src/karma/commands.ts:229", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/starlight-karma-bot/src/karma/commands.ts:229"}, "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-3e25ef9eef534ca7", "name": "Commented-code block (5 lines) in packages/streambot/integration/subtitles.integration.test.ts:492", "shortDescription": {"text": "Commented-code block (5 lines) in packages/streambot/integration/subtitles.integration.test.ts:492"}, "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-12e4148c0f65bd27", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/streambot/test/metrics.test.ts:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/streambot/test/metrics.test.ts:37"}, "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-382095631e784d7b", "name": "Commented-code block (6 lines) in packages/streambot/src/sources/subtitle-io.ts:243", "shortDescription": {"text": "Commented-code block (6 lines) in packages/streambot/src/sources/subtitle-io.ts:243"}, "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-6fd803964d384245", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/streambot/src/observability/metrics.ts:238", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/streambot/src/observability/metrics.ts:238"}, "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-cb9b4a108d774b59", "name": "Commented-code block (5 lines) in packages/streambot/src/session/session-move.ts:64", "shortDescription": {"text": "Commented-code block (5 lines) in packages/streambot/src/session/session-move.ts:64"}, "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-6b45ba83d5012c8f", "name": "Commented-code block (5 lines) in packages/streambot/e2e/local.ts:191", "shortDescription": {"text": "Commented-code block (5 lines) in packages/streambot/e2e/local.ts:191"}, "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-c85da1d89e7c90d4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/streambot/e2e/local.ts:223", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/streambot/e2e/local.ts:223"}, "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-83169bd04d4a0663", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/eslint-config/src/rules/prefer-async-await.test.ts:67", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/eslint-config/src/rules/prefer-async-await.test.ts:67"}, "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-c4c72a6c9d09b739", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/eslint-config/src/rules/no-use-effect.ts:89", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/eslint-config/src/rules/no-use-effect.ts:89"}, "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-3d9a0793a9ff7f3a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/toolkit/src/lib/bugsink/client.ts:47", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/toolkit/src/lib/bugsink/client.ts:47"}, "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-e92ec528ebd7422a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/toolkit/src/lib/discord/handlers.ts:124", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/toolkit/src/lib/discord/handlers.ts:124"}, "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-74cc89051f84f411", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/toolkit/src/lib/discord/serve.ts:151", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/toolkit/src/lib/discord/serve.ts:151"}, "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-88636ba800d72360", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/toolkit/src/lib/grafana/client.ts:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/toolkit/src/lib/grafana/client.ts:41"}, "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-e94bfb9af0494ae8", "name": "Commented-code block (6 lines) in packages/temporal/src/worker.ts:48", "shortDescription": {"text": "Commented-code block (6 lines) in packages/temporal/src/worker.ts:48"}, "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-1bc35000d056b410", "name": "Commented-code block (7 lines) in packages/temporal/src/shared/postal.ts:76", "shortDescription": {"text": "Commented-code block (7 lines) in packages/temporal/src/shared/postal.ts:76"}, "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-3f3247ddea330a55", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/shared/postal.ts:87", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/shared/postal.ts:87"}, "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-e7c336a9dcdba774", "name": "Commented-code block (7 lines) in packages/temporal/src/shared/markdown-to-html.ts:25", "shortDescription": {"text": "Commented-code block (7 lines) in packages/temporal/src/shared/markdown-to-html.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-fbb7e38dcfe6daf2", "name": "Commented-code block (9 lines) in packages/temporal/src/shared/presence.ts:1", "shortDescription": {"text": "Commented-code block (9 lines) in packages/temporal/src/shared/presence.ts:1"}, "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-d5af45f7791ff631", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/shared/s3.ts:109", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/shared/s3.ts:109"}, "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-563cce73235d6678", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/observability/logs.integration.test.ts:25", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/observability/logs.integration.test.ts:25"}, "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-16e27823145ac48b", "name": "Commented-code block (5 lines) in packages/temporal/src/observability/tracing.integration.test.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/observability/tracing.integration.test.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-dfcd059c87794d36", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/observability/tracing.integration.test.ts:23", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/observability/tracing.integration.test.ts:23"}, "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-562a3a7f81e78ccf", "name": "Commented-code block (9 lines) in packages/temporal/src/observability/metrics.ts:177", "shortDescription": {"text": "Commented-code block (9 lines) in packages/temporal/src/observability/metrics.ts:177"}, "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-276b63ea97039823", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/observability/metrics.ts:461", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/observability/metrics.ts:461"}, "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-01302e90ebb61b25", "name": "Commented-code block (5 lines) in packages/temporal/src/observability/tracing.ts:148", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/observability/tracing.ts:148"}, "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-bdb3a17f437c8a9f", "name": "Commented-code block (11 lines) in packages/temporal/src/lib/block-diff.test.ts:143", "shortDescription": {"text": "Commented-code block (11 lines) in packages/temporal/src/lib/block-diff.test.ts:143"}, "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-ec28d569cee6262e", "name": "Commented-code block (5 lines) in packages/temporal/src/lib/hybrid-retrieval.ts:332", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/lib/hybrid-retrieval.ts:332"}, "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-5624c94d961c188e", "name": "Commented-code block (6 lines) in packages/temporal/src/lib/pr-review/embedding.ts:88", "shortDescription": {"text": "Commented-code block (6 lines) in packages/temporal/src/lib/pr-review/embedding.ts:88"}, "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-21e00f10e3ae561c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/fetcher.ts:100", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/fetcher.ts:100"}, "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-7f047205ab3911b0", "name": "Commented-code block (6 lines) in packages/temporal/src/activities/readme-refresh.ts:33", "shortDescription": {"text": "Commented-code block (6 lines) in packages/temporal/src/activities/readme-refresh.ts:33"}, "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-7c4a90f68e0c9550", "name": "Commented-code block (5 lines) in packages/temporal/src/activities/bugsink.ts:20", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/activities/bugsink.ts:20"}, "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-4b7094968271fa29", "name": "Commented-code block (12 lines) in packages/temporal/src/activities/homelab-audit.ts:46", "shortDescription": {"text": "Commented-code block (12 lines) in packages/temporal/src/activities/homelab-audit.ts:46"}, "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-d9b4c1ef3c539be6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/golink-sync.ts:18", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/golink-sync.ts:18"}, "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-95e66f9cd210bdcb", "name": "Commented-code block (5 lines) in packages/temporal/src/activities/zfs-maintenance.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/activities/zfs-maintenance.ts: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-1818cdd88a13842d", "name": "Commented-code block (7 lines) in packages/temporal/src/activities/agent-task.test.ts:88", "shortDescription": {"text": "Commented-code block (7 lines) in packages/temporal/src/activities/agent-task.test.ts:88"}, "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-0e8df18be473503a", "name": "Commented-code block (6 lines) in packages/temporal/src/activities/data-dragon.ts:228", "shortDescription": {"text": "Commented-code block (6 lines) in packages/temporal/src/activities/data-dragon.ts:228"}, "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-a1ddea8643dd98b9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/data-dragon.ts:102", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/data-dragon.ts:102"}, "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-5c180058c03adaa2", "name": "Commented-code block (6 lines) in packages/temporal/src/activities/alert-remediation.ts:341", "shortDescription": {"text": "Commented-code block (6 lines) in packages/temporal/src/activities/alert-remediation.ts:341"}, "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-24c9ada9d620276c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/pr-review/deterministic-signals.ts:217", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/pr-review/deterministic-signals.ts:217"}, "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-83f83e931742cfcc", "name": "Commented-code block (6 lines) in packages/temporal/src/activities/pr-review/summary-prompts.test.ts:22", "shortDescription": {"text": "Commented-code block (6 lines) in packages/temporal/src/activities/pr-review/summary-prompts.test.ts:22"}, "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-4e8570c76fec0a59", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/pr-review/verify-target-helpers.ts:79", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/pr-review/verify-target-helpers.ts:79"}, "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-54fcae3890cd6c68", "name": "Commented-code block (6 lines) in packages/temporal/src/activities/pr-review/verify-runner.ts:118", "shortDescription": {"text": "Commented-code block (6 lines) in packages/temporal/src/activities/pr-review/verify-runner.ts:118"}, "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-41635b23f88e0fa5", "name": "Commented-code block (5 lines) in packages/temporal/src/activities/pr-review/verify.ts:167", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/activities/pr-review/verify.ts:167"}, "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-18bc7a239edcf7d9", "name": "Commented-code block (5 lines) in packages/temporal/src/activities/pr-review/specialists/correctness.test.ts:301", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/activities/pr-review/specialists/correctness.test.ts:301"}, "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-8eca330956e09bda", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/pr-review-eval/discord-post.ts:12", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/pr-review-eval/discord-post.ts:12"}, "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-f2a2576ed8d946aa", "name": "Commented-code block (7 lines) in packages/temporal/src/activities/pr-review-eval/replay.ts:138", "shortDescription": {"text": "Commented-code block (7 lines) in packages/temporal/src/activities/pr-review-eval/replay.ts:138"}, "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-38a34b3b876ada2a", "name": "Commented-code block (6 lines) in packages/temporal/src/workflows/bundle.test.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in packages/temporal/src/workflows/bundle.test.ts: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-f3d63f0c4579acc3", "name": "Commented-code block (5 lines) in packages/temporal/src/workflows/readme-refresh.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/workflows/readme-refresh.ts:8"}, "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-8d7902f90127a954", "name": "Commented-code block (5 lines) in packages/temporal/src/workflows/homelab-audit.ts:14", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/workflows/homelab-audit.ts:14"}, "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-2b356ea4d8bedae6", "name": "Commented-code block (5 lines) in packages/temporal/src/workflows/data-dragon.ts:22", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/workflows/data-dragon.ts:22"}, "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-69d1ab4aa2fd4781", "name": "Commented-code block (5 lines) in packages/temporal/src/workflows/alert-remediation.ts:200", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/workflows/alert-remediation.ts:200"}, "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-7bbee21a14c97ed9", "name": "Commented-code block (5 lines) in packages/temporal/src/workflows/pr-review-eval/index.ts:145", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/workflows/pr-review-eval/index.ts:145"}, "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-278af27d1b15de02", "name": "Commented-code block (5 lines) in packages/temporal/src/workflows/pr-review-eval/weekly-significance.ts:56", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/workflows/pr-review-eval/weekly-significance.ts:56"}, "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-286ba4a5ee2f9800", "name": "Commented-code block (5 lines) in packages/temporal/src/schedules/register-schedules.test.ts:13", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/schedules/register-schedules.test.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-de169235a4dbd4c9", "name": "Commented-code block (5 lines) in packages/temporal/src/event-bridge/github-webhook.ts:128", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/event-bridge/github-webhook.ts:128"}, "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-6922da6ec072d9f5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/event-bridge/agent-task-api.test.ts:38", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/event-bridge/agent-task-api.test.ts:38"}, "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-e1f83f5578114e57", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/event-bridge/github-webhook.test.ts:118", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/event-bridge/github-webhook.test.ts:118"}, "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-9d0fdf26b275da1f", "name": "Commented-code block (5 lines) in packages/temporal/src/event-bridge/pr-pipeline-starts.ts:100", "shortDescription": {"text": "Commented-code block (5 lines) in packages/temporal/src/event-bridge/pr-pipeline-starts.ts:100"}, "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-137d0412f2c4645d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/webring/src/cache.ts:98", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/webring/src/cache.ts:98"}, "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-dfbb2ae6aa5835dc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/webring/src/index.test.ts:19", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/webring/src/index.test.ts:19"}, "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-551eada75d80e1de", "name": "Commented-code block (6 lines) in packages/discord-plays-mario-kart/scripts/fetch-wasm.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in packages/discord-plays-mario-kart/scripts/fetch-wasm.ts:7"}, "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-64f0dab4e73e0302", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-mario-kart/scripts/fetch-wasm.ts:43", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-mario-kart/scripts/fetch-wasm.ts:43"}, "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-8e67f6d49f76912a", "name": "Commented-code block (11 lines) in packages/discord-plays-mario-kart/packages/frontend/src/app.tsx:111", "shortDescription": {"text": "Commented-code block (11 lines) in packages/discord-plays-mario-kart/packages/frontend/src/app.tsx:111"}, "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-ebcb752782156ede", "name": "Commented-code block (10 lines) in packages/discord-plays-mario-kart/packages/frontend/src/stories/loading-spinner.tsx:7", "shortDescription": {"text": "Commented-code block (10 lines) in packages/discord-plays-mario-kart/packages/frontend/src/stories/loading-spinner.tsx:7"}, "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-27de4e130e9aea5c", "name": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/eslint.config.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/eslint.config.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-f285fccbf92c9731", "name": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-race.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-race.ts:1"}, "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-875ffa60bfb8006a", "name": "Commented-code block (8 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-perf-browser.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-perf-browser.ts:1"}, "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-0d17af62d8657ea9", "name": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-perf.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-perf.ts:1"}, "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-bfeaae460e8174a7", "name": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-input-assert.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-input-assert.ts: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-dbe28a3e7e5a6ede", "name": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-audio.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-audio.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-2bf856490a05c790", "name": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/lib/perf-config.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/lib/perf-config.ts:1"}, "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-27ecf877ea957e57", "name": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/lib/bench-metrics.ts:389", "shortDescription": {"text": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/lib/bench-metrics.ts:389"}, "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-24291d13ddba4572", "name": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/src/index.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/src/index.ts:8"}, "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-93625fda85e11740", "name": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/src/logger.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/src/logger.ts: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-382941d7a0d68e66", "name": "Commented-code block (6 lines) in packages/discord-plays-mario-kart/packages/backend/src/input/input-latency-tracker.ts:", "shortDescription": {"text": "Commented-code block (6 lines) in packages/discord-plays-mario-kart/packages/backend/src/input/input-latency-tracker.ts:1"}, "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-b8dc832bf1a5e9e2", "name": "Commented-code block (6 lines) in packages/discord-plays-mario-kart/packages/backend/src/stream/stream-observer.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in packages/discord-plays-mario-kart/packages/backend/src/stream/stream-observer.ts:1"}, "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-375b83abf7d9b977", "name": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/src/stream/overlay.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/src/stream/overlay.ts:1"}, "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-2713059e8d7079db", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-mario-kart/packages/backend/src/discord/channel-han", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-mario-kart/packages/backend/src/discord/channel-handler.ts:51"}, "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-8f387afe49ac70e6", "name": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/src/emulator/png.ts:24", "shortDescription": {"text": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/src/emulator/png.ts:24"}, "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-fee9368df54b734e", "name": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/src/emulator/config-txt.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/src/emulator/config-txt.ts:1"}, "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-106fa2b682d3755e", "name": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/src/emulator/constants.ts:20", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/src/emulator/constants.ts:20"}, "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-8e8d23af0a636950", "name": "Commented-code block (6 lines) in packages/discord-plays-mario-kart/packages/backend/src/webserver/dispatch.test.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in packages/discord-plays-mario-kart/packages/backend/src/webserver/dispatch.test.ts:1"}, "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-9f6cbf7271e52dd1", "name": "Commented-code block (19 lines) in packages/discord-plays-mario-kart/wasm-src/code/src/mupen64plus-core/tools/regtests/r", "shortDescription": {"text": "Commented-code block (19 lines) in packages/discord-plays-mario-kart/wasm-src/code/src/mupen64plus-core/tools/regtests/regression-video.py: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-6dc65043e071f763", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/scripts/check-docker-images.ts:190", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/scripts/check-docker-images.ts:190"}, "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-918fedfead523d65", "name": "Legacy-named symbol `parse_backup` in packages/homelab/scripts/velero/velero-report.py:75", "shortDescription": {"text": "Legacy-named symbol `parse_backup` in packages/homelab/scripts/velero/velero-report.py:75"}, "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-8d629c512288e683", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/cdk8s/scripts/r2-prefix-inventory.ts:139", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/cdk8s/scripts/r2-prefix-inventory.ts:139"}, "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-dc901bb56c4a87dd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/cdk8s/scripts/snapshot-1password-vault.ts:121", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/cdk8s/scripts/snapshot-1password-vault.ts:121"}, "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-2f192a4b56bd8d63", "name": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/scripts/generate-helm-types.ts:31", "shortDescription": {"text": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/scripts/generate-helm-types.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-937e516f7ebdbfca", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/cdk8s/scripts/grafana-dashboard-audit.ts:81", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/cdk8s/scripts/grafana-dashboard-audit.ts:81"}, "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-32c1063dc4229c9b", "name": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/scripts/onepassword-lib.ts:36", "shortDescription": {"text": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/scripts/onepassword-lib.ts:36"}, "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-de1e411eddf0fda4", "name": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/grafana/smartctl-dashboard.ts:14", "shortDescription": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/grafana/smartctl-dashboard.ts:14"}, "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-94ee0522023b7019", "name": "Legacy-named symbol `label_velero_io_backup` in packages/homelab/src/cdk8s/grafana/dashboard-query-health.test.ts:40", "shortDescription": {"text": "Legacy-named symbol `label_velero_io_backup` in packages/homelab/src/cdk8s/grafana/dashboard-query-health.test.ts:40"}, "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-4f22bce836e60fcc", "name": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/grafana/scout-dashboard.ts:310", "shortDescription": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/grafana/scout-dashboard.ts:310"}, "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-eb57a1cdb84752d7", "name": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/grafana/dashboard-export.ts:53", "shortDescription": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/grafana/dashboard-export.ts:53"}, "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-546f697ff0a54ca2", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/grafana/temporal-dashboard.ts:115", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/grafana/temporal-dashboard.ts:115"}, "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-bd19e75d506cdac1", "name": "Commented-code block (8 lines) in packages/homelab/src/cdk8s/src/argocd-helm-render.test.ts:158", "shortDescription": {"text": "Commented-code block (8 lines) in packages/homelab/src/cdk8s/src/argocd-helm-render.test.ts:158"}, "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-459ee106b30e2655", "name": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/helm-template.test.ts:133", "shortDescription": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/helm-template.test.ts:133"}, "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-8cf8f1e795102f39", "name": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/versions.ts:26", "shortDescription": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/versions.ts:26"}, "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-aada8cd1f2d8a627", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/cdk8s/src/eufy-tarball-integrity.test.ts:33", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/cdk8s/src/eufy-tarball-integrity.test.ts:33"}, "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-9ffba8147894341e", "name": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/src/resources/mario-kart.ts:25", "shortDescription": {"text": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/src/resources/mario-kart.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-79624eebffaca7b3", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/pokemon.ts:27", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/pokemon.ts:27"}, "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-c24a2613872e6a86", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/streambot.ts:72", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/streambot.ts:72"}, "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-163a2c85f67a7290", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/bugsink/index.ts:26", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/bugsink/index.ts:26"}, "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-8bc675d8335a96bc", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/kubernetes-event-exporter.ts:150", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/kubernetes-event-exporter.ts:150"}, "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-22b29a1310d4b149", "name": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/scout.ts:66", "shortDescription": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/scout.ts:66"}, "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-ad66786dd036211e", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/dagger.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/dagger.ts:10"}, "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-23d0e5d024e43942", "name": "Commented-code block (8 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/smartctl.ts:5", "shortDescription": {"text": "Commented-code block (8 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/smartctl.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-37a43937f2df65b1", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/tasknotes.ts:64", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/tasknotes.ts:64"}, "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-c6fd7860b9989241", "name": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/zfs-maintenance.t", "shortDescription": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/zfs-maintenance.ts:10"}, "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-84cc0a0c0de6a5cb", "name": "Commented-code block (8 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/nvme.ts:5", "shortDescription": {"text": "Commented-code block (8 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/nvme.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-5c0d6150feda12ac", "name": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/temporal.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/temporal.ts:7"}, "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-b1da5bbbe2c9c6f2", "name": "Network/subprocess call without timeout or try/except \u2014 packages/homelab/src/cdk8s/src/resources/monitoring/scripts/nvme", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 packages/homelab/src/cdk8s/src/resources/monitoring/scripts/nvme_metrics.py:141"}, "fullDescription": {"text": "`subprocess.check_output(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fb725757b98f04d2", "name": "Network/subprocess call without timeout or try/except \u2014 packages/homelab/src/cdk8s/src/resources/monitoring/scripts/zfs_", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 packages/homelab/src/cdk8s/src/resources/monitoring/scripts/zfs_snapshots.py:42"}, "fullDescription": {"text": "`subprocess.Popen(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b7e3f36b90f5204c", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/pinchtab/index.ts:28", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/pinchtab/index.ts:28"}, "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-a31e94a325e164a9", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/media/plex.ts:73", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/media/plex.ts:73"}, "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-ce85852a39a33c18", "name": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/minecraft-shuxin.ts:126", "shortDescription": {"text": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/minecraft-shuxin.ts:126"}, "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-936d27c438bbc170", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/prometheus.ts:198", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/prometheus.ts:198"}, "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-9bb4b74a1c92f83b", "name": "Legacy-named symbol `enable_alertmanager_v2` in packages/homelab/src/cdk8s/src/resources/argo-applications/loki.ts:305", "shortDescription": {"text": "Legacy-named symbol `enable_alertmanager_v2` in packages/homelab/src/cdk8s/src/resources/argo-applications/loki.ts:305"}, "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-024aa336f5182d23", "name": "Commented-code block (13 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/buildkite.ts:68", "shortDescription": {"text": "Commented-code block (13 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/buildkite.ts:68"}, "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-888823d9efbb6e7e", "name": "Legacy-named symbol `metadata_v2` in packages/homelab/src/cdk8s/src/resources/argo-applications/dagger.ts:290", "shortDescription": {"text": "Legacy-named symbol `metadata_v2` in packages/homelab/src/cdk8s/src/resources/argo-applications/dagger.ts:290"}, "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-bcd9b078c57e493e", "name": "Commented-code block (14 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/dagger.ts:288", "shortDescription": {"text": "Commented-code block (14 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/dagger.ts:288"}, "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-7eaff2a4cd97173d", "name": "Commented-code block (17 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/cert-manager.ts:38", "shortDescription": {"text": "Commented-code block (17 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/cert-manager.ts:38"}, "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-f8160c8306454671", "name": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/minecraft-sjerred.ts:30", "shortDescription": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/minecraft-sjerred.ts:30"}, "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-02b1957e9891b3f7", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/argocd.ts:16", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/argocd.ts:16"}, "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-da7f715ce3e8aac2", "name": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/kyverno.ts:27", "shortDescription": {"text": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/kyverno.ts:27"}, "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-0cb29c30997655f4", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/pyroscope.ts:37", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/pyroscope.ts:37"}, "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-e2f715ec5d545b57", "name": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/minecraft-tsmc.ts:30", "shortDescription": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/minecraft-tsmc.ts:30"}, "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-32b4e7ce486638d5", "name": "Commented-code block (8 lines) in packages/homelab/src/cdk8s/src/resources/temporal/worker.ts:312", "shortDescription": {"text": "Commented-code block (8 lines) in packages/homelab/src/cdk8s/src/resources/temporal/worker.ts:312"}, "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-12804581a6549de8", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/birmel/index.ts:151", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/birmel/index.ts:151"}, "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-9ce0e7a14d37b0d7", "name": "Commented-code block (9 lines) in packages/homelab/src/cdk8s/src/resources/mcp-gateway/index.ts:28", "shortDescription": {"text": "Commented-code block (9 lines) in packages/homelab/src/cdk8s/src/resources/mcp-gateway/index.ts:28"}, "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-6108ea420df032ce", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/cdk8s-charts/scout.ts:26", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/cdk8s-charts/scout.ts:26"}, "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-c8521fea9a3f86d6", "name": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/cdk8s-charts/apps.ts:131", "shortDescription": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/cdk8s-charts/apps.ts:131"}, "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-19009361d4c1d327", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/cdk8s-charts/home.ts:120", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/cdk8s-charts/home.ts:120"}, "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-40739e2910fa592e", "name": "Commented-code block (9 lines) in packages/homelab/src/cdk8s/src/cdk8s-charts/temporal.ts:34", "shortDescription": {"text": "Commented-code block (9 lines) in packages/homelab/src/cdk8s/src/cdk8s-charts/temporal.ts:34"}, "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-62e02b54e5dd99c0", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/misc/s3-static-site.ts:264", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/misc/s3-static-site.ts:264"}, "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-c728d49ba846444d", "name": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/misc/blackbox-modules.ts:13", "shortDescription": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/misc/blackbox-modules.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-f77907013b2e036f", "name": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/misc/common.ts:13", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/misc/common.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-e5bee2fd415c49a0", "name": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/cdk8s-types/cfargotunnel.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/cdk8s-types/cfargotunnel.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-af02d1bcf03ca0f8", "name": "Commented-code block (5 lines) in packages/homelab/src/helm-types/src/yaml-preprocessing.test.ts:277", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/helm-types/src/yaml-preprocessing.test.ts:277"}, "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-cb4503a7524ecda4", "name": "Commented-code block (6 lines) in packages/homelab/src/helm-types/src/type-converter.ts:475", "shortDescription": {"text": "Commented-code block (6 lines) in packages/homelab/src/helm-types/src/type-converter.ts:475"}, "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-1a1dff8f04d81689", "name": "Commented-code block (9 lines) in packages/homelab/src/helm-types/src/cli.test.ts:185", "shortDescription": {"text": "Commented-code block (9 lines) in packages/homelab/src/helm-types/src/cli.test.ts:185"}, "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-517208bd7070fb0b", "name": "Commented-code block (5 lines) in packages/homelab/src/talos/update-image-id.ts:11", "shortDescription": {"text": "Commented-code block (5 lines) in packages/homelab/src/talos/update-image-id.ts:11"}, "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-79cccbb3caf58a3c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/talos/update-image-id.ts:47", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/talos/update-image-id.ts:47"}, "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-8612c977e8aa2859", "name": "Commented-code block (5 lines) in packages/birmel/tests/utils/logger.test.ts:12", "shortDescription": {"text": "Commented-code block (5 lines) in packages/birmel/tests/utils/logger.test.ts:12"}, "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-517ee52d8a11cd23", "name": "Legacy-named symbol `rs_legacy` in packages/birmel/tests/voltagent/memory/sanitize.test.ts:109", "shortDescription": {"text": "Legacy-named symbol `rs_legacy` in packages/birmel/tests/voltagent/memory/sanitize.test.ts:109"}, "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-727bcc3c92188339", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/automation/pinchtab-browser.ts:29", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/automation/pinchtab-browser.ts:29"}, "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-aec5f5d8ebd2305e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/external/web-actions.ts:36", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/external/web-actions.ts:36"}, "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-96127f6211ddb19a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/external/web.ts:24", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/external/web.ts:24"}, "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-8fe0b0dbf4a761d5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/external/research.ts:51", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/external/research.ts:51"}, "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-2351b10b3ea2f4c7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/members.ts:86", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/members.ts:86"}, "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-815982710b3b7e65", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/webhook-actions.ts:23", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/webhook-actions.ts:23"}, "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-1feaf4e992d4868f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/messages.ts:76", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/messages.ts:76"}, "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-6aaa94fdd5a79a79", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/channel-resolver.ts:97", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/channel-resolver.ts:97"}, "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-7a3e42936e88dbb5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/role-actions.ts:65", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/role-actions.ts:65"}, "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-ceb37e2dd08c23b8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/automod-actions.ts:24", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/automod-actions.ts:24"}, "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-3e6bbe43efbb8933", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/invites.ts:27", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/invites.ts:27"}, "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-47f54f1343bd5da0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/guild.ts:82", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/guild.ts:82"}, "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-8f9bf5a785e5f031", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/message-actions.ts:118", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/message-actions.ts:118"}, "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-4387544b42081b04", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/poll-actions.ts:121", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/poll-actions.ts:121"}, "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-451c6d43578d0b62", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/event-actions.ts:25", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/event-actions.ts:25"}, "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-ce2ad6e62bb029b6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/moderation.ts:26", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/moderation.ts:26"}, "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-a32c9bd7b622c20b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/polls.ts:103", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/polls.ts:103"}, "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-652a5e0ba30b8d64", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/emojis.ts:66", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/emojis.ts:66"}, "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-978057cbde3c72ee", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/thread-actions.ts:64", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/thread-actions.ts:64"}, "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-882aab80525b6f4e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/events.ts:146", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/events.ts:146"}, "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-f7a1a9b2e5bc4e5c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/roles.ts:118", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/roles.ts:118"}, "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-3d3bf1945c6c12ee", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/channel-actions.ts:34", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/channel-actions.ts:34"}, "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-e8de269bfbdfa5d7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/automod.ts:194", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/automod.ts:194"}, "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-c453bcd46e6da5da", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/member-actions.ts:48", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/member-actions.ts:48"}, "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-df72d9664b616478", "name": "Commented-code block (5 lines) in packages/birmel/src/agent-tools/tools/memory/index.ts:19", "shortDescription": {"text": "Commented-code block (5 lines) in packages/birmel/src/agent-tools/tools/memory/index.ts:19"}, "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-71a24e69dda1a74d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/editor/edit-repo.ts:178", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/editor/edit-repo.ts:178"}, "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-a8b6b45141af98d6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/editor/connect-github.ts:95", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/editor/connect-github.ts:95"}, "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-51fc00fcfcbca848", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/music/playback-actions.ts:113", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/music/playback-actions.ts:113"}, "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-38664282b02f2a06", "name": "Commented-code block (6 lines) in packages/birmel/src/utils/logger.ts:102", "shortDescription": {"text": "Commented-code block (6 lines) in packages/birmel/src/utils/logger.ts:102"}, "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-53856b537279225f", "name": "Commented-code block (5 lines) in packages/birmel/src/observability/logs.integration.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/birmel/src/observability/logs.integration.test.ts:1"}, "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-eb3f924e0bf1343f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/observability/logs.integration.test.ts:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/observability/logs.integration.test.ts:41"}, "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-1989f3de0cd70b11", "name": "Commented-code block (6 lines) in packages/birmel/src/observability/sentry.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in packages/birmel/src/observability/sentry.ts:1"}, "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-8831c10605133f1e", "name": "Commented-code block (5 lines) in packages/birmel/src/observability/tracing.integration.test.ts:12", "shortDescription": {"text": "Commented-code block (5 lines) in packages/birmel/src/observability/tracing.integration.test.ts:12"}, "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-135e24d0595063c0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/observability/tracing.integration.test.ts:50", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/observability/tracing.integration.test.ts:50"}, "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-4b7cadb3e4ddf821", "name": "Commented-code block (7 lines) in packages/birmel/src/observability/tracing.ts:36", "shortDescription": {"text": "Commented-code block (7 lines) in packages/birmel/src/observability/tracing.ts:36"}, "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-537f3e417ebdacb5", "name": "Commented-code block (5 lines) in packages/birmel/src/voltagent/message-handler.ts:34", "shortDescription": {"text": "Commented-code block (5 lines) in packages/birmel/src/voltagent/message-handler.ts:34"}, "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-483744653fd40ae2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/discord/polls/helpers.ts:178", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/discord/polls/helpers.ts:178"}, "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-be52f2f522aac7fc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/editor/github-oauth.ts:52", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/editor/github-oauth.ts:52"}, "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-22a501f78e829a95", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/scheduler/jobs/birthday-checker.ts:89", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/scheduler/jobs/birthday-checker.ts:89"}, "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-5472d9c35b5eda03", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/scheduler/jobs/elections.ts:145", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/scheduler/jobs/elections.ts:145"}, "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-4d96a466bb63f7f4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/scheduler/jobs/activity-aggregator.ts:122", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/scheduler/jobs/activity-aggregator.ts:122"}, "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-23bc691f24837530", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/e2e/openclaw-capabilities-container.ts:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/e2e/openclaw-capabilities-container.ts:41"}, "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-9e51c071b13d25e0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/e2e/music-playback.ts:92", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/e2e/music-playback.ts:92"}, "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-07170e15b820a47a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/scripts/generate-species-data.ts:15", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/scripts/generate-species-data.ts:15"}, "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-660fb5477f93fe7e", "name": "Commented-code block (6 lines) in packages/discord-plays-pokemon/scripts/fetch-wasm.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in packages/discord-plays-pokemon/scripts/fetch-wasm.ts:7"}, "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-e55cc9a04aaec7e1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/scripts/fetch-wasm.ts:43", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/scripts/fetch-wasm.ts:43"}, "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-cffd996cc76d189b", "name": "Commented-code block (10 lines) in packages/discord-plays-pokemon/packages/frontend/src/stories/loading-spinner.tsx:7", "shortDescription": {"text": "Commented-code block (10 lines) in packages/discord-plays-pokemon/packages/frontend/src/stories/loading-spinner.tsx:7"}, "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-b866e3de1a4aefdf", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/packages/backend/scripts/probe-memory.ts:83", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/packages/backend/scripts/probe-memory.ts:83"}, "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-99b88cb90386eeab", "name": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/scripts/audio-e2e.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/scripts/audio-e2e.ts:1"}, "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-61548d5a64e5a215", "name": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/index.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/index.ts:8"}, "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-bb337190ee513b47", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/packages/backend/src/index.ts:111", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/packages/backend/src/index.ts:111"}, "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-82f227db788deb59", "name": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/logger.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/logger.ts: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-9899a7ed7d2ad7da", "name": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/observability/tracing.ts:92", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/observability/tracing.ts:92"}, "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-0f245f90f23a0744", "name": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/src/stream/game-streamer.ts:52", "shortDescription": {"text": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/src/stream/game-streamer.ts:52"}, "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-fa16c6f6fca258bd", "name": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/stream/audio-transport.test.ts:15", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/stream/audio-transport.test.ts:15"}, "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-2d77bb4c21dec4fe", "name": "Commented-code block (8 lines) in packages/discord-plays-pokemon/packages/backend/src/stream/audio-transport.ts:5", "shortDescription": {"text": "Commented-code block (8 lines) in packages/discord-plays-pokemon/packages/backend/src/stream/audio-transport.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-2bef5f52eb984051", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/packages/backend/src/discord/channel-handle", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/packages/backend/src/discord/channel-handler.ts:51"}, "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-4c5f47750a0e7e50", "name": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/discord/slashCommands/commands/goa", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/discord/slashCommands/commands/goal.ts:43"}, "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-2a2c9b51b09bb4b8", "name": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/goal-runtime-env.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/goal-runtime-env.ts:1"}, "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-18a52192d3523544", "name": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/codex-command.ts:32", "shortDescription": {"text": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/codex-command.ts:32"}, "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-563559f35f0dae43", "name": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/discord-message.ts:25", "shortDescription": {"text": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/discord-message.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-730ec6c1b9b49a91", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/packages/backend/src/goal/pokemonctl.ts:53", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/packages/backend/src/goal/pokemonctl.ts:53"}, "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-334ebe9fe3ec932d", "name": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/codex-jsonl.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/codex-jsonl.ts:1"}, "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-75026973c5a1b667", "name": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/goal-manager.ts:117", "shortDescription": {"text": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/goal-manager.ts:117"}, "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-b4d0a39c683e6409", "name": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/e2e-goal.integration.test.ts:", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/e2e-goal.integration.test.ts:1"}, "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-40cf7bb679562143", "name": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/codex-trace.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/codex-trace.ts:1"}, "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-1c3968431b90ee78", "name": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/game/events/saves.test.ts:12", "shortDescription": {"text": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/game/events/saves.test.ts:12"}, "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-c4f54978c5f7c9ba", "name": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/src/game/events/pokemon-struct.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/src/game/events/pokemon-struct.ts: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-770c4f4d78cf9750", "name": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/emulator/audio/analysis.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/emulator/audio/analysis.ts:1"}, "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-56b5579857c7ea11", "name": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/emulator/audio/m4a-driver.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/emulator/audio/m4a-driver.ts: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-a09c1d7bf0782db7", "name": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/emulator/audio/wav.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/emulator/audio/wav.ts:1"}, "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-3574ca80cd12874d", "name": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/emulator/audio/audio-fingerprint.t", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/emulator/audio/audio-fingerprint.test.ts: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-8f475d813572c7d9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-video-stream/src/client/Streamer.ts:171", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-video-stream/src/client/Streamer.ts:171"}, "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-11778342ce69cf0d", "name": "Commented-code block (7 lines) in packages/discord-video-stream/src/client/voice/BaseMediaConnection.ts:552", "shortDescription": {"text": "Commented-code block (7 lines) in packages/discord-video-stream/src/client/voice/BaseMediaConnection.ts:552"}, "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-e5ebcbce5a0df37a", "name": "Commented-code block (5 lines) in packages/discord-video-stream/src/media/newApi.ts:495", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-video-stream/src/media/newApi.ts:495"}, "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-0ccb287b9f1a8ddd", "name": "Commented-code block (5 lines) in packages/discord-video-stream/src/media/LibavDemuxer.ts:268", "shortDescription": {"text": "Commented-code block (5 lines) in packages/discord-video-stream/src/media/LibavDemuxer.ts:268"}, "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-d77d09a41ee7c1b2", "name": "Commented-code block (7 lines) in packages/discord-video-stream/src/media/encoders/vaapi.ts:11", "shortDescription": {"text": "Commented-code block (7 lines) in packages/discord-video-stream/src/media/encoders/vaapi.ts:11"}, "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-164970051cea84e1", "name": "Commented-code block (8 lines) in packages/dotfiles/dot_agents/skills/apple-hig-helper/process-to-markdown.py:2", "shortDescription": {"text": "Commented-code block (8 lines) in packages/dotfiles/dot_agents/skills/apple-hig-helper/process-to-markdown.py:2"}, "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-624113ebfe3b7057", "name": "Network/subprocess call without timeout or try/except \u2014 packages/fonts/patch-berkeley-mono.py:45", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 packages/fonts/patch-berkeley-mono.py:45"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6f64e228d83b4c26", "name": "Commented-code block (6 lines) in packages/home-assistant/src/ws/client.ts:319", "shortDescription": {"text": "Commented-code block (6 lines) in packages/home-assistant/src/ws/client.ts:319"}, "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-c5f089a9ae7971a8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/home-assistant/src/rest/client.ts:191", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/home-assistant/src/rest/client.ts:191"}, "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-205ff385a10e4c3d", "name": "Commented-code block (8 lines) in sandbox/archive/bun-decompile/src/lib/parser.ts:105", "shortDescription": {"text": "Commented-code block (8 lines) in sandbox/archive/bun-decompile/src/lib/parser.ts:105"}, "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-0fc4b5b2a78e599a", "name": "Network/subprocess call without timeout or try/except \u2014 sandbox/archive/west-elm-shipment-notifier/src/notifier.py:61", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 sandbox/archive/west-elm-shipment-notifier/src/notifier.py:61"}, "fullDescription": {"text": "`requests.get(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ff71954e8927e609", "name": "Commented-code block (7 lines) in sandbox/archive/herd/api/src/club/controller.js:25", "shortDescription": {"text": "Commented-code block (7 lines) in sandbox/archive/herd/api/src/club/controller.js: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-090997593bf6caa3", "name": "Commented-code block (8 lines) in sandbox/archive/herd/api/src/user/authorization/middleware.js:6", "shortDescription": {"text": "Commented-code block (8 lines) in sandbox/archive/herd/api/src/user/authorization/middleware.js:6"}, "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-d751c9d740369db3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/herd/web/src/registerServiceWorker.js:86", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/herd/web/src/registerServiceWorker.js:86"}, "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-86a0d3194a4ccc14", "name": "Network/subprocess call without timeout or try/except \u2014 sandbox/archive/frankie-and-jos-flavor-scraper/src/main.py:24", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 sandbox/archive/frankie-and-jos-flavor-scraper/src/main.py:24"}, "fullDescription": {"text": "`requests.get(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b3a0fe1d842f1e0e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-server/", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-server/src/index.ts:15"}, "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-55b8bd51a036b07f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-web/src", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-web/src/render/renderer.ts:264"}, "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-f2d74075dea849d3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-web/src", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-web/src/render/tiled.ts:37"}, "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-6972b5fa56f4cc42", "name": "Commented-code block (5 lines) in sandbox/archive/easely/web/config/index.js:36", "shortDescription": {"text": "Commented-code block (5 lines) in sandbox/archive/easely/web/config/index.js:36"}, "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-3b09ac7656cd3ada", "name": "Commented-code block (5 lines) in sandbox/archive/usher/src/serviceWorker.js:4", "shortDescription": {"text": "Commented-code block (5 lines) in sandbox/archive/usher/src/serviceWorker.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-6a327f10add06163", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/usher/src/serviceWorker.js:103", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/usher/src/serviceWorker.js:103"}, "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-37511d1a0a516255", "name": "Commented-code block (13 lines) in sandbox/archive/clauderon/mobile/react-native.config.js:10", "shortDescription": {"text": "Commented-code block (13 lines) in sandbox/archive/clauderon/mobile/react-native.config.js:10"}, "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-48ef434855411e34", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/clauderon/mobile/src/api/ClauderonClient.ts:262", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/clauderon/mobile/src/api/ClauderonClient.ts:262"}, "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-75ca6ef892cff5f8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/clauderon/web/client/src/clauderon-client.ts:378", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/clauderon/web/client/src/clauderon-client.ts:378"}, "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-dea114876924b3e3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/hu-easel/web/src/api/index.js:51", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/hu-easel/web/src/api/index.js:51"}, "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-1ed5f40c9a53a114", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/hu-easel/web/src/api/authentication.js:5", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/hu-easel/web/src/api/authentication.js:5"}, "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-55b711b142d0312f", "name": "Commented-code block (5 lines) in sandbox/archive/ts-mc/infrastructure/lib/forum/stack.ts:59", "shortDescription": {"text": "Commented-code block (5 lines) in sandbox/archive/ts-mc/infrastructure/lib/forum/stack.ts:59"}, "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-8ea72a35f4c99318", "name": "Commented-code block (6 lines) in sandbox/archive/ts-mc/infrastructure/lib/forum/records.ts:15", "shortDescription": {"text": "Commented-code block (6 lines) in sandbox/archive/ts-mc/infrastructure/lib/forum/records.ts:15"}, "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-407b2f068471ef7f", "name": "Commented-code block (8 lines) in sandbox/archive/ts-mc/infrastructure/lib/forum/auto-scaling-group.ts:37", "shortDescription": {"text": "Commented-code block (8 lines) in sandbox/archive/ts-mc/infrastructure/lib/forum/auto-scaling-group.ts:37"}, "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-4ede5a91c68309a4", "name": "Commented-code block (6 lines) in sandbox/archive/ts-mc/infrastructure/lib/forum/database.ts:64", "shortDescription": {"text": "Commented-code block (6 lines) in sandbox/archive/ts-mc/infrastructure/lib/forum/database.ts:64"}, "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-e2026fffe30f46bb", "name": "Commented-code block (7 lines) in sandbox/archive/ts-mc/infrastructure/lib/minecraft-server/instance.ts:35", "shortDescription": {"text": "Commented-code block (7 lines) in sandbox/archive/ts-mc/infrastructure/lib/minecraft-server/instance.ts:35"}, "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-26f478a8271301d1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/frontend/src/components/Leaderboard.tsx:2", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/frontend/src/components/Leaderboard.tsx:200"}, "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-4bbcbb067c8698b9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/leaderboard/disc", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/leaderboard/discord.ts:36"}, "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-4bc3b5fb7f61a0ee", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/league/discord/channel.ts:8", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/league/discord/channel.ts:8"}, "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-bf076a679045a44d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/league/dataDragon/summoner.ts", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/league/dataDragon/summoner.ts:48"}, "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-5b9b2e0642d6beb3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/league/dataDragon/version.ts:", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/league/dataDragon/version.ts:9"}, "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-85870ba140203ed3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/karma/commands.ts:189", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/karma/commands.ts:189"}, "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-ea21793185a46cd5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/music/commands.ts:331", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/music/commands.ts:331"}, "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-0a57a232dea0116e", "name": "Commented-code block (5 lines) in sandbox/archive/the-button/web/config/index.js:42", "shortDescription": {"text": "Commented-code block (5 lines) in sandbox/archive/the-button/web/config/index.js:42"}, "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-21d7ffa88291f44f", "name": "Network/subprocess call without timeout or try/except \u2014 sandbox/archive/gpt-2/download_model.py:19", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 sandbox/archive/gpt-2/download_model.py:19"}, "fullDescription": {"text": "`requests.get(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-25fb1b4760c4cb0b", "name": "Legacy-named symbol `ops_to_copy` in sandbox/archive/gpt-2/src/memory_saving_gradients.py:198", "shortDescription": {"text": "Legacy-named symbol `ops_to_copy` in sandbox/archive/gpt-2/src/memory_saving_gradients.py:198"}, "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-dd8ed32be35d7786", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/skill-capped-discord-bot/lib/bot/notification/discord/disc", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/skill-capped-discord-bot/lib/bot/notification/discord/discordNotifier.ts:26"}, "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-85665056abbb7ff1", "name": "Legacy-named symbol `courses_v2` in sandbox/archive/skill-capped-discord-bot/lib/bot/manifest/liveManifestFetcher.test.t", "shortDescription": {"text": "Legacy-named symbol `courses_v2` in sandbox/archive/skill-capped-discord-bot/lib/bot/manifest/liveManifestFetcher.test.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-6270ff1432afb3f0", "name": "Commented-code block (5 lines) in sandbox/archive/siphon/config/index.js:31", "shortDescription": {"text": "Commented-code block (5 lines) in sandbox/archive/siphon/config/index.js: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-2504e79c1025bf60", "name": "Commented-code block (5 lines) in sandbox/archive/type-challenges/00008-medium-readonly-2.ts:32", "shortDescription": {"text": "Commented-code block (5 lines) in sandbox/archive/type-challenges/00008-medium-readonly-2.ts:32"}, "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-6c5cf35460dc6d26", "name": "Commented-code block (5 lines) in sandbox/archive/type-challenges/00898-easy-includes.ts:40", "shortDescription": {"text": "Commented-code block (5 lines) in sandbox/archive/type-challenges/00898-easy-includes.ts:40"}, "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-a76f7f96ec1d75ac", "name": "Commented-code block (10 lines) in sandbox/archive/type-challenges/00119-medium-replaceall.ts:18", "shortDescription": {"text": "Commented-code block (10 lines) in sandbox/archive/type-challenges/00119-medium-replaceall.ts:18"}, "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-bb1ba958ed579d92", "name": "Commented-code block (5 lines) in sandbox/archive/funsheet/src/main/resources/funsheet-vue/config/index.js:36", "shortDescription": {"text": "Commented-code block (5 lines) in sandbox/archive/funsheet/src/main/resources/funsheet-vue/config/index.js:36"}, "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-60e3dbe8281deca9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/hn-enhancer/src/lib/hn-api.ts:31", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/hn-enhancer/src/lib/hn-api.ts:31"}, "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-f7f5822955a7118d", "name": "Commented-code block (5 lines) in sandbox/archive/trip-sim/web/src/serviceWorker.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in sandbox/archive/trip-sim/web/src/serviceWorker.ts: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-3112bcd8afe16b0a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/trip-sim/web/src/serviceWorker.ts:108", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/trip-sim/web/src/serviceWorker.ts:108"}, "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-c5a92b08651d1628", "name": "Network/subprocess call without timeout or try/except \u2014 sandbox/archive/lambda-sagemaker-endpoint/src/telegram/handler.p", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 sandbox/archive/lambda-sagemaker-endpoint/src/telegram/handler.py:45"}, "fullDescription": {"text": "`requests.post(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3af5b5934ce9d211", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/poc/sentinel/scripts/verify-e2e.ts:198", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/poc/sentinel/scripts/verify-e2e.ts:198"}, "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-300e4b9cb2642902", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/poc/sentinel/src/discord/approvals.ts:50", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/poc/sentinel/src/discord/approvals.ts:50"}, "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-c3891354099c89d0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/poc/sentinel/src/discord/notifications.ts:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/poc/sentinel/src/discord/notifications.ts:32"}, "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-d8deb2d8752a20e4", "name": "Network/subprocess call without timeout or try/except \u2014 sandbox/practice/fastbook/utils.py:35", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 sandbox/practice/fastbook/utils.py:35"}, "fullDescription": {"text": "`requests.get(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ac1d8ba5c2550acf", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:101", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:101"}, "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-f0521b182da85d7e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/practice/claude-web/src/auth/github.ts:35", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/practice/claude-web/src/auth/github.ts:35"}, "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-5733484f6a7d677e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/practice/claude-web/src/server/index.ts:60", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/practice/claude-web/src/server/index.ts:60"}, "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-bc9487896490da79", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/practice/claude-web/src/server/routes/sessions.ts:340", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/practice/claude-web/src/server/routes/sessions.ts:340"}, "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-2492b27ac2376663", "name": "Commented-code block (7 lines) in sandbox/practice/ostep-homework/threads-locks/x86.py:405", "shortDescription": {"text": "Commented-code block (7 lines) in sandbox/practice/ostep-homework/threads-locks/x86.py:405"}, "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-4c42e83b05eae7aa", "name": "Commented-code block (12 lines) in sandbox/practice/ostep-homework/dist-afs/afs.py:174", "shortDescription": {"text": "Commented-code block (12 lines) in sandbox/practice/ostep-homework/dist-afs/afs.py:174"}, "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-607bf98e27298e77", "name": "Stub function `dprint` (body is just `pass`/`return`) \u2014 sandbox/practice/ostep-homework/dist-afs/afs.py:19", "shortDescription": {"text": "Stub function `dprint` (body is just `pass`/`return`) \u2014 sandbox/practice/ostep-homework/dist-afs/afs.py:19"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-28fba2c35585e3b4", "name": "Stub function `DrawWindow` (body is just `pass`/`return`) \u2014 sandbox/practice/ostep-homework/file-raid/raid-graphics.py:5", "shortDescription": {"text": "Stub function `DrawWindow` (body is just `pass`/`return`) \u2014 sandbox/practice/ostep-homework/file-raid/raid-graphics.py:565"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b57967206a0f9da7", "name": "Commented-code block (7 lines) in sandbox/practice/ostep-homework/threads-intro/x86.py:363", "shortDescription": {"text": "Commented-code block (7 lines) in sandbox/practice/ostep-homework/threads-intro/x86.py:363"}, "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-9662f1a1199a1354", "name": "Commented-code block (7 lines) in sandbox/practice/ostep-homework/cpu-api/fork.py:3", "shortDescription": {"text": "Commented-code block (7 lines) in sandbox/practice/ostep-homework/cpu-api/fork.py: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-3de07f0a9bb2cee8", "name": "Stub function `check_for_switch` (body is just `pass`/`return`) \u2014 sandbox/practice/ostep-homework/file-devices/process-r", "shortDescription": {"text": "Stub function `check_for_switch` (body is just `pass`/`return`) \u2014 sandbox/practice/ostep-homework/file-devices/process-run.py:191"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-85d785d15bd6d781", "name": "Stub function `check_for_switch` (body is just `pass`/`return`) \u2014 sandbox/practice/ostep-homework/cpu-intro/process-run.", "shortDescription": {"text": "Stub function `check_for_switch` (body is just `pass`/`return`) \u2014 sandbox/practice/ostep-homework/cpu-intro/process-run.py:171"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-00f9cc5a96d13d46", "name": "Commented-code block (9 lines) in sandbox/practice/ostep-homework/vm-smalltables/paging-multilevel-translate.py:209", "shortDescription": {"text": "Commented-code block (9 lines) in sandbox/practice/ostep-homework/vm-smalltables/paging-multilevel-translate.py:209"}, "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-076870f4f9a3804d", "name": "Commented-code block (14 lines) in sandbox/practice/ostep-homework/file-disks/disk.py:31", "shortDescription": {"text": "Commented-code block (14 lines) in sandbox/practice/ostep-homework/file-disks/disk.py: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-7a882b5357d0203e", "name": "Commented-code block (14 lines) in sandbox/practice/ostep-homework/file-disks/disk-precise.py:33", "shortDescription": {"text": "Commented-code block (14 lines) in sandbox/practice/ostep-homework/file-disks/disk-precise.py:33"}, "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-9a323a95cd2fc65f", "name": "Commented-code block (8 lines) in sandbox/practice/ostep-homework/cpu-sched-multi/multi.py:3", "shortDescription": {"text": "Commented-code block (8 lines) in sandbox/practice/ostep-homework/cpu-sched-multi/multi.py: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-39f8ebfe57a6f60f", "name": "35 env vars used in code but missing from .env.example", "shortDescription": {"text": "35 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `API_URL`, `BASE_BRANCH`, `BRANCH`, `CI`, `CLEARDB_DATABASE_URL`, `CLOUDFLARE_ACCOUNT_ID`, `CLOUDFLARE_API_TOKEN`, `DUMP_EVERY` + 27 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/github-rulesets.py:get_repos, scripts/github-rulesets.py:get_repo\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d32ef4b8a679ae8", "name": "Near-duplicate function bodies in 24 places", "shortDescription": {"text": "Near-duplicate function bodies in 24 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsandbox/practice/ostep-homework/file-journaling/fsck.py:random_seed, sandbox/practice/ostep-homework/vm-segmentation/segmentation.py:random_seed, sandbox/practice/ostep-homework/threads-locks/x86.py:random_seed, sandbox/practice/ostep-homework/dist-afs/afs.py:random_seed\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsandbox/practice/ostep-homework/file-journaling/fsck.py:random_randint, sandbox/practice/ostep-homework/cpu-api/generator.py:random_randint, sandbox/practice/ostep-homework/cpu-api/fork.py:random_randint, sandbox/practice/ostep-homework/file-ssd/ssd.py:random_randint\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-33a6b62e30ce7ab4", "name": "Near-duplicate function bodies in 6 places", "shortDescription": {"text": "Near-duplicate function bodies in 6 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsandbox/practice/ostep-homework/file-journaling/fsck.py:free, sandbox/practice/ostep-homework/file-journaling/fsck.py:free, sandbox/practice/ostep-homework/file-journaling/fsck.py:free, sandbox/practice/ostep-homework/file-implementation/vsfs.py:free\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-017db8a22876f7e8", "name": "Frontend route `/user/:id/details` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/router/RootRoute", "shortDescription": {"text": "Frontend route `/user/:id/details` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/router/RootRouter.js"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e8d1443fc2b1e40d", "name": "Frontend route `/club` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/router/RootRouter.js", "shortDescription": {"text": "Frontend route `/club` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/router/RootRouter.js"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cb12c0d627022615", "name": "Frontend route `/club/:id/details` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/club/ClubRouter.", "shortDescription": {"text": "Frontend route `/club/:id/details` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/club/ClubRouter.js"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3775db1c7c16abc3", "name": "Frontend route `/club/:id/delete` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/club/ClubRouter.j", "shortDescription": {"text": "Frontend route `/club/:id/delete` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/club/ClubRouter.js"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f91429eb31f5e585", "name": "Frontend route `/club/:id/edit` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/club/ClubRouter.js", "shortDescription": {"text": "Frontend route `/club/:id/edit` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/club/ClubRouter.js"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d741755e6b73d052", "name": "Frontend route `/getSeats` has no Link/navigate to it \u2014 sandbox/archive/usher/src/components/util/Router.js", "shortDescription": {"text": "Frontend route `/getSeats` has no Link/navigate to it \u2014 sandbox/archive/usher/src/components/util/Router.js"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3b68a04e9327b355", "name": "Frontend route `/g/:guildId` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx", "shortDescription": {"text": "Frontend route `/g/:guildId` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-36125f840b6862cd", "name": "Frontend route `players/:alias` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx", "shortDescription": {"text": "Frontend route `players/:alias` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1cbd7a76918c4159", "name": "Frontend route `competitions/new` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx", "shortDescription": {"text": "Frontend route `competitions/new` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d07bad0fc78db84e", "name": "Frontend route `competitions/:competitionId` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.ts", "shortDescription": {"text": "Frontend route `competitions/:competitionId` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d9ff4aeb3f916a5d", "name": "Frontend route `competitions/:competitionId/edit` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/a", "shortDescription": {"text": "Frontend route `competitions/:competitionId/edit` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6de95c025f8b05bc", "name": "Frontend route `reports/new` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx", "shortDescription": {"text": "Frontend route `reports/new` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-344b9854c1caae5a", "name": "Frontend route `reports/:reportId` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx", "shortDescription": {"text": "Frontend route `reports/:reportId` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7f7c020e458ea8dd", "name": "Frontend route `reports/:reportId/edit` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx", "shortDescription": {"text": "Frontend route `reports/:reportId/edit` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-58a8a0e9d976dc0c", "name": "Flask mutation route `invocations` without `@login_required` \u2014 sandbox/archive/gpt-2-simple-sagemaker-container/src/serv", "shortDescription": {"text": "Flask mutation route `invocations` without `@login_required` \u2014 sandbox/archive/gpt-2-simple-sagemaker-container/src/serve.py:18"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-184ccfb112190037", "name": "Dangling fetch: GET /api/dataset (packages/monarch/scripts/accuracy/label-server.ts:284)", "shortDescription": {"text": "Dangling fetch: GET /api/dataset (packages/monarch/scripts/accuracy/label-server.ts:284)"}, "fullDescription": {"text": "`packages/monarch/scripts/accuracy/label-server.ts:284` calls `GET /api/dataset` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/dataset`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1fc63e0efd7cd28e", "name": "Dangling fetch: POST /api/label (packages/monarch/scripts/accuracy/label-server.ts:500)", "shortDescription": {"text": "Dangling fetch: POST /api/label (packages/monarch/scripts/accuracy/label-server.ts:500)"}, "fullDescription": {"text": "`packages/monarch/scripts/accuracy/label-server.ts:500` calls `POST /api/label` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/label`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ed77a6af8152191c", "name": "Dangling fetch: POST /api/auth/logout (packages/scout-for-lol/packages/app/src/routes/require-session.tsx:73)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/logout (packages/scout-for-lol/packages/app/src/routes/require-session.tsx:73)"}, "fullDescription": {"text": "`packages/scout-for-lol/packages/app/src/routes/require-session.tsx:73` calls `POST /api/auth/logout` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/logout`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ab82c1600050eb15", "name": "Dangling fetch: GET /a (packages/eslint-config/src/rules/prefer-async-await.test.ts:28)", "shortDescription": {"text": "Dangling fetch: GET /a (packages/eslint-config/src/rules/prefer-async-await.test.ts:28)"}, "fullDescription": {"text": "`packages/eslint-config/src/rules/prefer-async-await.test.ts:28` calls `GET /a` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/a`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8187480b4b32defd", "name": "Dangling fetch: GET /b (packages/eslint-config/src/rules/prefer-async-await.test.ts:28)", "shortDescription": {"text": "Dangling fetch: GET /b (packages/eslint-config/src/rules/prefer-async-await.test.ts:28)"}, "fullDescription": {"text": "`packages/eslint-config/src/rules/prefer-async-await.test.ts:28` calls `GET /b` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/b`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-650c797e4cd177d8", "name": "Dangling fetch: GET /a (packages/eslint-config/src/rules/prefer-async-await.test.ts:31)", "shortDescription": {"text": "Dangling fetch: GET /a (packages/eslint-config/src/rules/prefer-async-await.test.ts:31)"}, "fullDescription": {"text": "`packages/eslint-config/src/rules/prefer-async-await.test.ts:31` calls `GET /a` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/a`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-601788060b2e3945", "name": "Dangling fetch: GET /b (packages/eslint-config/src/rules/prefer-async-await.test.ts:31)", "shortDescription": {"text": "Dangling fetch: GET /b (packages/eslint-config/src/rules/prefer-async-await.test.ts:31)"}, "fullDescription": {"text": "`packages/eslint-config/src/rules/prefer-async-await.test.ts:31` calls `GET /b` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/b`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9bfdb0852e4b4c30", "name": "Dangling fetch: GET /data/manifest.json (packages/better-skill-capped/src/manifest-loader.ts:10)", "shortDescription": {"text": "Dangling fetch: GET /data/manifest.json (packages/better-skill-capped/src/manifest-loader.ts:10)"}, "fullDescription": {"text": "`packages/better-skill-capped/src/manifest-loader.ts:10` calls `GET /data/manifest.json` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: axios\nNormalized path used for matching: `/data/manifest.json`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-755be8a9a69f3a6c", "name": "Dangling fetch: GET http://daemon${path} (packages/toolkit/src/lib/discord/client.ts:29)", "shortDescription": {"text": "Dangling fetch: GET http://daemon${path} (packages/toolkit/src/lib/discord/client.ts:29)"}, "fullDescription": {"text": "`packages/toolkit/src/lib/discord/client.ts:29` calls `GET http://daemon${path}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/daemon/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-19d15d55680d0201", "name": "Dangling fetch: POST https://leetcode.com/graphql/ (packages/leetcode/src/lib/leetcode-graphql.ts:65)", "shortDescription": {"text": "Dangling fetch: POST https://leetcode.com/graphql/ (packages/leetcode/src/lib/leetcode-graphql.ts:65)"}, "fullDescription": {"text": "`packages/leetcode/src/lib/leetcode-graphql.ts:65` calls `POST https://leetcode.com/graphql/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/leetcode.com/graphql`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-115f26013c165591", "name": "Dangling fetch: HEAD https://${registry}/v2/${input.repository}/manifests/${input.reference} (packages/temporal/src/acti", "shortDescription": {"text": "Dangling fetch: HEAD https://${registry}/v2/${input.repository}/manifests/${input.reference} (packages/temporal/src/activities/pr-review/deterministic-signals.ts:217)"}, "fullDescription": {"text": "`packages/temporal/src/activities/pr-review/deterministic-signals.ts:217` calls `HEAD https://${registry}/v2/${input.repository}/manifests/${input.reference}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/<p>/v2/<p>/manifests/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-191dc9f2fdafbbfc", "name": "Dangling fetch: POST https://factory.talos.dev/schematics (packages/homelab/src/talos/update-image-id.ts:47)", "shortDescription": {"text": "Dangling fetch: POST https://factory.talos.dev/schematics (packages/homelab/src/talos/update-image-id.ts:47)"}, "fullDescription": {"text": "`packages/homelab/src/talos/update-image-id.ts:47` calls `POST https://factory.talos.dev/schematics` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/factory.talos.dev/schematics`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c6346fc470187db5", "name": "Dangling fetch: GET https://prod.bucket.discord.com/previous.json (sandbox/archive/discord/packages/frontend/src/compone", "shortDescription": {"text": "Dangling fetch: GET https://prod.bucket.discord.com/previous.json (sandbox/archive/discord/packages/frontend/src/components/Leaderboard.tsx:206)"}, "fullDescription": {"text": "`sandbox/archive/discord/packages/frontend/src/components/Leaderboard.tsx:206` calls `GET https://prod.bucket.discord.com/previous.json` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/prod.bucket.discord.com/previous.json`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1e0e2137c684c631", "name": "Dangling fetch: GET http://127.0.0.1:${configuration.port}/ping (sandbox/archive/discord/packages/backend/src/health.ts:", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${configuration.port}/ping (sandbox/archive/discord/packages/backend/src/health.ts:6)"}, "fullDescription": {"text": "`sandbox/archive/discord/packages/backend/src/health.ts:6` calls `GET http://127.0.0.1:${configuration.port}/ping` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/ping`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7f941b59efb343ff", "name": "Dangling fetch: GET https://ddragon.leagueoflegends.com/api/versions.json (sandbox/archive/discord/packages/backend/src/", "shortDescription": {"text": "Dangling fetch: GET https://ddragon.leagueoflegends.com/api/versions.json (sandbox/archive/discord/packages/backend/src/league/dataDragon/version.ts:9)"}, "fullDescription": {"text": "`sandbox/archive/discord/packages/backend/src/league/dataDragon/version.ts:9` calls `GET https://ddragon.leagueoflegends.com/api/versions.json` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/ddragon.leagueoflegends.com/api/versions.json`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7e0e53854a30d8d2", "name": "Dangling fetch: GET https://www.skill-capped.com/${endpoint}/browse (sandbox/archive/skill-capped-discord-bot/lib/bot/ma", "shortDescription": {"text": "Dangling fetch: GET https://www.skill-capped.com/${endpoint}/browse (sandbox/archive/skill-capped-discord-bot/lib/bot/manifest/liveManifestFetcher.ts:9)"}, "fullDescription": {"text": "`sandbox/archive/skill-capped-discord-bot/lib/bot/manifest/liveManifestFetcher.ts:9` calls `GET https://www.skill-capped.com/${endpoint}/browse` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: axios\nNormalized path used for matching: `/https:/www.skill-capped.com/<p>/browse`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-578d37bde96fa08a", "name": "Dangling fetch: POST /webhook/bugsink/wrong-token (sandbox/poc/sentinel/test/webhook.test.ts:132)", "shortDescription": {"text": "Dangling fetch: POST /webhook/bugsink/wrong-token (sandbox/poc/sentinel/test/webhook.test.ts:132)"}, "fullDescription": {"text": "`sandbox/poc/sentinel/test/webhook.test.ts:132` calls `POST /webhook/bugsink/wrong-token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/webhook/bugsink/wrong-token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7b4014f9970ff4a9", "name": "Dangling fetch: POST /webhook/bugsink/test-bugsink-secret (sandbox/poc/sentinel/test/webhook.test.ts:146)", "shortDescription": {"text": "Dangling fetch: POST /webhook/bugsink/test-bugsink-secret (sandbox/poc/sentinel/test/webhook.test.ts:146)"}, "fullDescription": {"text": "`sandbox/poc/sentinel/test/webhook.test.ts:146` calls `POST /webhook/bugsink/test-bugsink-secret` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/webhook/bugsink/test-bugsink-secret`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-41dc8f029be5815c", "name": "Dangling fetch: POST /webhook/bugsink (sandbox/poc/sentinel/test/webhook.test.ts:163)", "shortDescription": {"text": "Dangling fetch: POST /webhook/bugsink (sandbox/poc/sentinel/test/webhook.test.ts:163)"}, "fullDescription": {"text": "`sandbox/poc/sentinel/test/webhook.test.ts:163` calls `POST /webhook/bugsink` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/webhook/bugsink`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b7d0e5a9e5c6f032", "name": "Dangling fetch: POST /webhook/bugsink/test-bugsink-secret (sandbox/poc/sentinel/test/webhook-to-queue-integration.test.t", "shortDescription": {"text": "Dangling fetch: POST /webhook/bugsink/test-bugsink-secret (sandbox/poc/sentinel/test/webhook-to-queue-integration.test.ts:149)"}, "fullDescription": {"text": "`sandbox/poc/sentinel/test/webhook-to-queue-integration.test.ts:149` calls `POST /webhook/bugsink/test-bugsink-secret` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/webhook/bugsink/test-bugsink-secret`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-456b368cf992ec78", "name": "Dangling fetch: GET http://localhost:${String(port)} (sandbox/poc/interview-practice/src/lib/excalidraw/launcher.ts:68)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${String(port)} (sandbox/poc/interview-practice/src/lib/excalidraw/launcher.ts:68)"}, "fullDescription": {"text": "`sandbox/poc/interview-practice/src/lib/excalidraw/launcher.ts:68` calls `GET http://localhost:${String(port)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0d348716c575e283", "name": "Dangling fetch: GET /api/sessions (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:20)", "shortDescription": {"text": "Dangling fetch: GET /api/sessions (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:20)"}, "fullDescription": {"text": "`sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:20` calls `GET /api/sessions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sessions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ff053b96c22712fa", "name": "Dangling fetch: POST /api/sessions (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:50)", "shortDescription": {"text": "Dangling fetch: POST /api/sessions (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:50)"}, "fullDescription": {"text": "`sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:50` calls `POST /api/sessions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sessions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6db7af5503736094", "name": "Dangling fetch: DELETE /api/sessions/${sessionId} (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:77)", "shortDescription": {"text": "Dangling fetch: DELETE /api/sessions/${sessionId} (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:77)"}, "fullDescription": {"text": "`sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:77` calls `DELETE /api/sessions/${sessionId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sessions/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b3814a1b31edfff9", "name": "Dangling fetch: POST /api/sessions/${sessionId}/commit (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:10", "shortDescription": {"text": "Dangling fetch: POST /api/sessions/${sessionId}/commit (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:101)"}, "fullDescription": {"text": "`sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:101` calls `POST /api/sessions/${sessionId}/commit` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sessions/<p>/commit`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dc745870bb48511d", "name": "Dangling fetch: POST /api/sessions/${sessionId}/push (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:119)", "shortDescription": {"text": "Dangling fetch: POST /api/sessions/${sessionId}/push (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:119)"}, "fullDescription": {"text": "`sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:119` calls `POST /api/sessions/${sessionId}/push` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sessions/<p>/push`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b630dbfa5444f2d7", "name": "Dangling fetch: POST /api/sessions/${sessionId}/pr (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:134)", "shortDescription": {"text": "Dangling fetch: POST /api/sessions/${sessionId}/pr (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:134)"}, "fullDescription": {"text": "`sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:134` calls `POST /api/sessions/${sessionId}/pr` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sessions/<p>/pr`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3ec173d573e9890c", "name": "Dangling fetch: GET /auth/me (sandbox/practice/claude-web/frontend/src/hooks/useAuth.ts:19)", "shortDescription": {"text": "Dangling fetch: GET /auth/me (sandbox/practice/claude-web/frontend/src/hooks/useAuth.ts:19)"}, "fullDescription": {"text": "`sandbox/practice/claude-web/frontend/src/hooks/useAuth.ts:19` calls `GET /auth/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0e6e76a35f3c433b", "name": "Dangling fetch: POST /auth/logout (sandbox/practice/claude-web/frontend/src/hooks/useAuth.ts:50)", "shortDescription": {"text": "Dangling fetch: POST /auth/logout (sandbox/practice/claude-web/frontend/src/hooks/useAuth.ts:50)"}, "fullDescription": {"text": "`sandbox/practice/claude-web/frontend/src/hooks/useAuth.ts:50` calls `POST /auth/logout` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/logout`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ef8589717d108812", "name": "Dangling fetch: POST https://api.github.com/repos/${owner}/${repoName}/pulls (sandbox/practice/claude-web/src/server/rou", "shortDescription": {"text": "Dangling fetch: POST https://api.github.com/repos/${owner}/${repoName}/pulls (sandbox/practice/claude-web/src/server/routes/sessions.ts:340)"}, "fullDescription": {"text": "`sandbox/practice/claude-web/src/server/routes/sessions.ts:340` calls `POST https://api.github.com/repos/${owner}/${repoName}/pulls` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.github.com/repos/<p>/<p>/pulls`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7beedb6e5c191b56", "name": "Unused endpoint: ANY /invocations", "shortDescription": {"text": "Unused endpoint: ANY /invocations"}, "fullDescription": {"text": "`sandbox/archive/gpt-2-simple-sagemaker-container/src/serve.py` declares `ANY /invocations` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ff40cb10f7c8519", "name": "Unused endpoint: USE /api/users", "shortDescription": {"text": "Unused endpoint: USE /api/users"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/server.js` declares `USE /api/users` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e48cfbc31746e539", "name": "Unused endpoint: USE /api/clubs", "shortDescription": {"text": "Unused endpoint: USE /api/clubs"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/server.js` declares `USE /api/clubs` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-36e7790048016147", "name": "Unused endpoint: USE /api/meetings", "shortDescription": {"text": "Unused endpoint: USE /api/meetings"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/server.js` declares `USE /api/meetings` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a009b1a56794f45", "name": "Unused endpoint: POST /", "shortDescription": {"text": "Unused endpoint: POST /"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/club/routes.js` declares `POST /` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5baa8971ebe192a1", "name": "Unused endpoint: GET /", "shortDescription": {"text": "Unused endpoint: GET /"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/club/routes.js` declares `GET /` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-042c84e15c8d34de", "name": "Unused endpoint: GET /:clubId", "shortDescription": {"text": "Unused endpoint: GET /:clubId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/club/routes.js` declares `GET /:clubId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a5204b005ff54ca", "name": "Unused endpoint: PATCH /:clubId", "shortDescription": {"text": "Unused endpoint: PATCH /:clubId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/club/routes.js` declares `PATCH /:clubId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bd9dd272be41133e", "name": "Unused endpoint: DELETE /:clubId", "shortDescription": {"text": "Unused endpoint: DELETE /:clubId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/club/routes.js` declares `DELETE /:clubId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-29ac1221958ed367", "name": "Unused endpoint: GET /:meetingId", "shortDescription": {"text": "Unused endpoint: GET /:meetingId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/meeting/routes.js` declares `GET /:meetingId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9400f981a4b08030", "name": "Unused endpoint: PATCH /:meetingId", "shortDescription": {"text": "Unused endpoint: PATCH /:meetingId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/meeting/routes.js` declares `PATCH /:meetingId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-80de6f6d187ba1ac", "name": "Unused endpoint: DELETE /:meetingId", "shortDescription": {"text": "Unused endpoint: DELETE /:meetingId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/meeting/routes.js` declares `DELETE /:meetingId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cdc02fa67a51d03b", "name": "Unused endpoint: GET /club/:clubId", "shortDescription": {"text": "Unused endpoint: GET /club/:clubId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/meeting/routes.js` declares `GET /club/:clubId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d1b86f02585b613", "name": "Unused endpoint: GET /club/:clubId/latest", "shortDescription": {"text": "Unused endpoint: GET /club/:clubId/latest"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/meeting/routes.js` declares `GET /club/:clubId/latest` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fb902fa8f06593cb", "name": "Unused endpoint: GET /:userId", "shortDescription": {"text": "Unused endpoint: GET /:userId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/routes.js` declares `GET /:userId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-594b787aa98e81b1", "name": "Unused endpoint: PATCH /:userId", "shortDescription": {"text": "Unused endpoint: PATCH /:userId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/routes.js` declares `PATCH /:userId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-135860cc0267c772", "name": "Unused endpoint: DELETE /:userId", "shortDescription": {"text": "Unused endpoint: DELETE /:userId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/routes.js` declares `DELETE /:userId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7cc3014f9fc32f54", "name": "Unused endpoint: POST /:userId/roles/add/:roleId", "shortDescription": {"text": "Unused endpoint: POST /:userId/roles/add/:roleId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/routes.js` declares `POST /:userId/roles/add/:roleId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fee82a6ab5901ba8", "name": "Unused endpoint: GET /:userId/roles/", "shortDescription": {"text": "Unused endpoint: GET /:userId/roles/"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/routes.js` declares `GET /:userId/roles/` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1e209217eafd1b99", "name": "Unused endpoint: USE /authentication", "shortDescription": {"text": "Unused endpoint: USE /authentication"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/routes.js` declares `USE /authentication` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c59890bd7d685bc", "name": "Unused endpoint: USE /authorization", "shortDescription": {"text": "Unused endpoint: USE /authorization"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/routes.js` declares `USE /authorization` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-618721b912bad1c2", "name": "Unused endpoint: POST /login", "shortDescription": {"text": "Unused endpoint: POST /login"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/authentication/routes.js` declares `POST /login` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1a6b345304eb9c60", "name": "Unused endpoint: USE /policies", "shortDescription": {"text": "Unused endpoint: USE /policies"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/authorization/routes.js` declares `USE /policies` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47c248f064ed4618", "name": "Unused endpoint: USE /roles", "shortDescription": {"text": "Unused endpoint: USE /roles"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/authorization/routes.js` declares `USE /roles` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ffa75e53cc59528f", "name": "Unused endpoint: USE /statements", "shortDescription": {"text": "Unused endpoint: USE /statements"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/authorization/routes.js` declares `USE /statements` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-476f346fcdc05b00", "name": "Unused endpoint: GET /:statementId", "shortDescription": {"text": "Unused endpoint: GET /:statementId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/authorization/statement/routes.js` declares `GET /:statementId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc3c0b496f180d1c", "name": "Unused endpoint: PATCH /:statementId", "shortDescription": {"text": "Unused endpoint: PATCH /:statementId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/authorization/statement/routes.js` declares `PATCH /:statementId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11687bbe671ce772", "name": "Unused endpoint: DELETE /:statementId", "shortDescription": {"text": "Unused endpoint: DELETE /:statementId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/authorization/statement/routes.js` declares `DELETE /:statementId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a5a3d06b1a37629d", "name": "Unused endpoint: GET /:policyId", "shortDescription": {"text": "Unused endpoint: GET /:policyId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/authorization/policy/routes.js` declares `GET /:policyId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1c63dd039ac4720d", "name": "Unused endpoint: PATCH /:policyId", "shortDescription": {"text": "Unused endpoint: PATCH /:policyId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/authorization/policy/routes.js` declares `PATCH /:policyId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c9bf5abba70b681b", "name": "Unused endpoint: DELETE /:policyId", "shortDescription": {"text": "Unused endpoint: DELETE /:policyId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/authorization/policy/routes.js` declares `DELETE /:policyId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4bc4678f1e5b2c37", "name": "Unused endpoint: GET /:roleId", "shortDescription": {"text": "Unused endpoint: GET /:roleId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/authorization/role/routes.js` declares `GET /:roleId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-60d387b4421ce658", "name": "Unused endpoint: PATCH /:roleId", "shortDescription": {"text": "Unused endpoint: PATCH /:roleId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/authorization/role/routes.js` declares `PATCH /:roleId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c414ccfe004f0b08", "name": "Unused endpoint: DELETE /:roleId", "shortDescription": {"text": "Unused endpoint: DELETE /:roleId"}, "fullDescription": {"text": "`sandbox/archive/herd/api/src/user/authorization/role/routes.js` declares `DELETE /:roleId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ae38010c60493f1", "name": "Unused endpoint: POST /webhook", "shortDescription": {"text": "Unused endpoint: POST /webhook"}, "fullDescription": {"text": "`packages/temporal/src/event-bridge/github-webhook.ts` declares `POST /webhook` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5817878a884611eb", "name": "Unused endpoint: POST /agent-tasks", "shortDescription": {"text": "Unused endpoint: POST /agent-tasks"}, "fullDescription": {"text": "`packages/temporal/src/event-bridge/agent-task-api.ts` declares `POST /agent-tasks` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-684b1b66ffd7626c", "name": "Unused endpoint: PATCH /users/@me", "shortDescription": {"text": "Unused endpoint: PATCH /users/@me"}, "fullDescription": {"text": "`packages/birmel/src/elections/bot-profile.ts` declares `PATCH /users/@me` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-71b7669817721470", "name": "Unused endpoint: GET /github", "shortDescription": {"text": "Unused endpoint: GET /github"}, "fullDescription": {"text": "`packages/birmel/src/editor/oauth-routes.ts` declares `GET /github` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-575393330d444728", "name": "Unused endpoint: GET /github/callback", "shortDescription": {"text": "Unused endpoint: GET /github/callback"}, "fullDescription": {"text": "`packages/birmel/src/editor/oauth-routes.ts` declares `GET /github/callback` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c6e6c7c2852f873f", "name": "Unused endpoint: GET /github/status", "shortDescription": {"text": "Unused endpoint: GET /github/status"}, "fullDescription": {"text": "`packages/birmel/src/editor/oauth-routes.ts` declares `GET /github/status` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4756b4c4da7d2088", "name": "Unused endpoint: GET /api/health", "shortDescription": {"text": "Unused endpoint: GET /api/health"}, "fullDescription": {"text": "`packages/tasknotes-server/src/routes/health.ts` declares `GET /api/health` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf16ae0930dc161a", "name": "Unused endpoint: GET /api/tasks", "shortDescription": {"text": "Unused endpoint: GET /api/tasks"}, "fullDescription": {"text": "`packages/tasknotes-server/src/routes/tasks.ts` declares `GET /api/tasks` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f7339a517f95bf31", "name": "Unused endpoint: GET /api/filter-options", "shortDescription": {"text": "Unused endpoint: GET /api/filter-options"}, "fullDescription": {"text": "`packages/tasknotes-server/src/routes/tasks.ts` declares `GET /api/filter-options` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b37265900e79a8a", "name": "Unused endpoint: GET /api/stats", "shortDescription": {"text": "Unused endpoint: GET /api/stats"}, "fullDescription": {"text": "`packages/tasknotes-server/src/routes/tasks.ts` declares `GET /api/stats` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3db152548ad0d728", "name": "Unused endpoint: POST /api/tasks/query", "shortDescription": {"text": "Unused endpoint: POST /api/tasks/query"}, "fullDescription": {"text": "`packages/tasknotes-server/src/routes/tasks.ts` declares `POST /api/tasks/query` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b52d0b343a528754", "name": "Unused endpoint: GET /api/tasks/:id", "shortDescription": {"text": "Unused endpoint: GET /api/tasks/:id"}, "fullDescription": {"text": "`packages/tasknotes-server/src/routes/tasks.ts` declares `GET /api/tasks/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dd377e6beb63fde7", "name": "Unused endpoint: POST /api/tasks", "shortDescription": {"text": "Unused endpoint: POST /api/tasks"}, "fullDescription": {"text": "`packages/tasknotes-server/src/routes/tasks.ts` declares `POST /api/tasks` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-621c7750dd8b3ac6", "name": "Unused endpoint: PUT /api/tasks/:id", "shortDescription": {"text": "Unused endpoint: PUT /api/tasks/:id"}, "fullDescription": {"text": "`packages/tasknotes-server/src/routes/tasks.ts` declares `PUT /api/tasks/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2778f2fa3c962f17", "name": "Unused endpoint: DELETE /api/tasks/:id", "shortDescription": {"text": "Unused endpoint: DELETE /api/tasks/:id"}, "fullDescription": {"text": "`packages/tasknotes-server/src/routes/tasks.ts` declares `DELETE /api/tasks/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9a527cb48ac537e5", "name": "Unused endpoint: POST /api/tasks/:id/toggle-status", "shortDescription": {"text": "Unused endpoint: POST /api/tasks/:id/toggle-status"}, "fullDescription": {"text": "`packages/tasknotes-server/src/routes/tasks.ts` declares `POST /api/tasks/:id/toggle-status` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/19517"}, "properties": {"repository": "shepherdjerred/monorepo", "repoUrl": "https://github.com/shepherdjerred/monorepo", "branch": "main"}, "results": [{"ruleId": "scanner-65ac0f7f75f9b9b5", "level": "note", "message": {"text": "Possibly dead Python function: disable_discussions"}, "properties": {"repobilityId": "110119be76a60b4a", "scanner": "scanner-primary", "fingerprint": "65ac0f7f75f9b9b5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/github-rulesets.py:183"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9dea937b70f4106f", "level": "note", "message": {"text": "Possibly dead Python function: cmd_launch"}, "properties": {"repobilityId": "95846c7d174697a3", "scanner": "scanner-primary", "fingerprint": "9dea937b70f4106f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/bench.py:153"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-82a38ecfdd461380", "level": "note", "message": {"text": "Possibly dead Python function: cmd_setup"}, "properties": {"repobilityId": "d41034d30730f7d3", "scanner": "scanner-primary", "fingerprint": "82a38ecfdd461380", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/bench.py:292"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-48ad3c1d84d2603b", "level": "note", "message": {"text": "Possibly dead Python function: cmd_profile"}, "properties": {"repobilityId": "3bb17ef124186480", "scanner": "scanner-primary", "fingerprint": "48ad3c1d84d2603b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/bench.py:352"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7d4f0098d6271ba4", "level": "note", "message": {"text": "Possibly dead Python function: cmd_collect"}, "properties": {"repobilityId": "17881517d05b4352", "scanner": "scanner-primary", "fingerprint": "7d4f0098d6271ba4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/bench.py:380"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-242dc77357c8e567", "level": "note", "message": {"text": "Possibly dead Python function: cmd_teardown"}, "properties": {"repobilityId": "d44e1037100ecd47", "scanner": "scanner-primary", "fingerprint": "242dc77357c8e567", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/bench.py:439"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f9e38a8ce00b98fd", "level": "note", "message": {"text": "Possibly dead Python function: cmd_ssh"}, "properties": {"repobilityId": "2b55189b197f3cda", "scanner": "scanner-primary", "fingerprint": "f9e38a8ce00b98fd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/bench.py:481"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9cfe4d1855a53de0", "level": "note", "message": {"text": "Possibly dead Python function: cmd_status"}, "properties": {"repobilityId": "244b91f3ae7622bf", "scanner": "scanner-primary", "fingerprint": "9cfe4d1855a53de0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/bench.py:486"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-235b95ceb4b900d9", "level": "note", "message": {"text": "Possibly dead Python function: fetch_one"}, "properties": {"repobilityId": "87b4aa7c92d11833", "scanner": "scanner-primary", "fingerprint": "235b95ceb4b900d9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/check-1p-duplicates.py:105"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5c9ab0008779dca1", "level": "note", "message": {"text": "Possibly dead Python function: ngrams"}, "properties": {"repobilityId": "fe4a5d6c5224c602", "scanner": "scanner-primary", "fingerprint": "5c9ab0008779dca1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/scout-for-lol/packages/analysis/ai_analyze.py:245"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-40735c60bfe4568b", "level": "note", "message": {"text": "Possibly dead Python function: valid_ngram_tokens"}, "properties": {"repobilityId": "24d53086b01f9d0a", "scanner": "scanner-primary", "fingerprint": "40735c60bfe4568b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/scout-for-lol/packages/analysis/ai_analyze.py:250"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-66cfca510a85c24a", "level": "note", "message": {"text": "Possibly dead Python function: is_repetitive_phrase"}, "properties": {"repobilityId": "a3328b93fa64ad38", "scanner": "scanner-primary", "fingerprint": "66cfca510a85c24a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/scout-for-lol/packages/analysis/ai_analyze.py:255"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d4ce0573eb468996", "level": "note", "message": {"text": "Possibly dead Python function: scrape_loop"}, "properties": {"repobilityId": "276eb6a9badb9885", "scanner": "scanner-primary", "fingerprint": "d4ce0573eb468996", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/src/resources/monitoring/scripts/r2_exporter.py:76"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0bbab5db77b50559", "level": "note", "message": {"text": "Possibly dead Python function: do_GET"}, "properties": {"repobilityId": "2d943bb45e4f13bd", "scanner": "scanner-primary", "fingerprint": "0bbab5db77b50559", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/src/resources/monitoring/scripts/r2_exporter.py:112"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a94a990ed39248a5", "level": "note", "message": {"text": "Possibly dead Python function: log_message"}, "properties": {"repobilityId": "965f3150b4af5b2e", "scanner": "scanner-primary", "fingerprint": "a94a990ed39248a5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/src/resources/monitoring/scripts/r2_exporter.py:129"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2f7ca96f2e167e42", "level": "note", "message": {"text": "Possibly dead Python function: row_to_metric"}, "properties": {"repobilityId": "0f885af028c683a5", "scanner": "scanner-primary", "fingerprint": "2f7ca96f2e167e42", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/src/resources/monitoring/scripts/zfs_snapshots.py:10"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-06fdda5f72302f73", "level": "note", "message": {"text": "Possibly dead Python function: zfs_parse_line"}, "properties": {"repobilityId": "f0a9e715653b3fec", "scanner": "scanner-primary", "fingerprint": "06fdda5f72302f73", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/src/resources/monitoring/scripts/zfs_snapshots.py:18"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e3083cade90196bd", "level": "note", "message": {"text": "Possibly dead Python function: plot_income"}, "properties": {"repobilityId": "71d8b6c3ee2fa8be", "scanner": "scanner-primary", "fingerprint": "e3083cade90196bd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/cashly/concept/src/graphing.py:13"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c6199c4cad0e5bdd", "level": "note", "message": {"text": "Possibly dead Python function: plot_expenses"}, "properties": {"repobilityId": "da24e4e2550423e6", "scanner": "scanner-primary", "fingerprint": "c6199c4cad0e5bdd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/cashly/concept/src/graphing.py:22"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2a931d7b3f268c4b", "level": "note", "message": {"text": "Possibly dead Python function: plot_net"}, "properties": {"repobilityId": "8f4d77bfa568bed0", "scanner": "scanner-primary", "fingerprint": "2a931d7b3f268c4b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/cashly/concept/src/graphing.py:31"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-01a9f42fba4eba85", "level": "note", "message": {"text": "Possibly dead Python function: plot_savings"}, "properties": {"repobilityId": "798ca47289434ed5", "scanner": "scanner-primary", "fingerprint": "01a9f42fba4eba85", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/cashly/concept/src/graphing.py:41"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2b3dfc25911765b0", "level": "note", "message": {"text": "Possibly dead Python function: train_main"}, "properties": {"repobilityId": "96baf0b78e082fe7", "scanner": "scanner-primary", "fingerprint": "2b3dfc25911765b0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/gpt-2/train-horovod.py:30"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1139a3d62adad737", "level": "note", "message": {"text": "Possibly dead Python function: gradients_speed"}, "properties": {"repobilityId": "b9652099cc2f5099", "scanner": "scanner-primary", "fingerprint": "1139a3d62adad737", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/gpt-2/src/memory_saving_gradients.py:23"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-711615f710f01e2b", "level": "note", "message": {"text": "Possibly dead Python function: gradients_memory"}, "properties": {"repobilityId": "45acc513216f6bd6", "scanner": "scanner-primary", "fingerprint": "711615f710f01e2b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/gpt-2/src/memory_saving_gradients.py:26"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6de784950f63e513", "level": "note", "message": {"text": "Possibly dead Python function: gradients_collection"}, "properties": {"repobilityId": "cd19b0a52188cd02", "scanner": "scanner-primary", "fingerprint": "6de784950f63e513", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/gpt-2/src/memory_saving_gradients.py:29"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a763d6823fbca1b8", "level": "note", "message": {"text": "Possibly dead Python function: split_heads"}, "properties": {"repobilityId": "cb47a7eb4b4c0aad", "scanner": "scanner-primary", "fingerprint": "a763d6823fbca1b8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/gpt-2/src/model.py:75"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-da73109a9f80bea6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-dagger-hygiene.ts:135"}, "properties": {"repobilityId": "79464370ca829b1e", "scanner": "scanner-primary", "fingerprint": "da73109a9f80bea6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0a28de61441a1b3c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-package-script.ts:82"}, "properties": {"repobilityId": "62dc4df8ee593b09", "scanner": "scanner-primary", "fingerprint": "0a28de61441a1b3c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-54d557211fdaa1f7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-todos.ts:270"}, "properties": {"repobilityId": "cdb1c98fccb9b0e5", "scanner": "scanner-primary", "fingerprint": "54d557211fdaa1f7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a09c8549c513ef62", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update-lockfiles.ts:60"}, "properties": {"repobilityId": "3172c6c944427ae6", "scanner": "scanner-primary", "fingerprint": "a09c8549c513ef62", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6446c6e41244448e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/quality-ratchet.ts:141"}, "properties": {"repobilityId": "45166d5ba56bc3d3", "scanner": "scanner-primary", "fingerprint": "6446c6e41244448e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3124f78631b2bc42", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/guard-no-package-exclusions.ts:43"}, "properties": {"repobilityId": "07c9041966ac3888", "scanner": "scanner-primary", "fingerprint": "3124f78631b2bc42", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b4da3ea3786c01d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-react-version-sync.ts:278"}, "properties": {"repobilityId": "69520fff4a41ac2f", "scanner": "scanner-primary", "fingerprint": "b4da3ea3786c01d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e252eb12dec1e766", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-deps.ts:183"}, "properties": {"repobilityId": "c0f9127132be2b32", "scanner": "scanner-primary", "fingerprint": "e252eb12dec1e766", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bc29fe1b8cf2ee91", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-line-endings.ts:101"}, "properties": {"repobilityId": "b5ee95f65f2d5945", "scanner": "scanner-primary", "fingerprint": "bc29fe1b8cf2ee91", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-070b8c7251af03d7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-strict-boolean-pass2.ts:197"}, "properties": {"repobilityId": "f383a30245c51413", "scanner": "scanner-primary", "fingerprint": "070b8c7251af03d7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8f539f2549f610fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup.ts:19"}, "properties": {"repobilityId": "6b5357ac89817640", "scanner": "scanner-primary", "fingerprint": "8f539f2549f610fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9af6431e2c2dd77f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-tunnel-dns-coverage.ts:269"}, "properties": {"repobilityId": "a653715a2d60fdf0", "scanner": "scanner-primary", "fingerprint": "9af6431e2c2dd77f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b557a5bee4028a5f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/copy-example-deps.ts:65"}, "properties": {"repobilityId": "a9b414ad6b1b8311", "scanner": "scanner-primary", "fingerprint": "b557a5bee4028a5f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-113d1d2e79fc6333", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-bun-lock-drift.ts:81"}, "properties": {"repobilityId": "ac29b6c885a70abe", "scanner": "scanner-primary", "fingerprint": "113d1d2e79fc6333", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-da849713f8291e79", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-suppressions.ts:113"}, "properties": {"repobilityId": "d035816e18000538", "scanner": "scanner-primary", "fingerprint": "da849713f8291e79", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9a07339f963e463d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-negated-nullable.ts:132"}, "properties": {"repobilityId": "64a4a0995b027539", "scanner": "scanner-primary", "fingerprint": "9a07339f963e463d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5e3cac9ca0f1bd55", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/observability/local-stack/emit-test-trace.ts:97"}, "properties": {"repobilityId": "23010767b8235a55", "scanner": "scanner-primary", "fingerprint": "5e3cac9ca0f1bd55", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-70adde74d9d81fe3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ci/src/main.ts:27"}, "properties": {"repobilityId": "42bf8e45abe21757", "scanner": "scanner-primary", "fingerprint": "70adde74d9d81fe3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6a694798074c2c70", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ci/src/wait-for-greptile.ts:692"}, "properties": {"repobilityId": "e0a653c290697598", "scanner": "scanner-primary", "fingerprint": "6a694798074c2c70", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73633bdbf4e6b6e4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 .buildkite/scripts/update-versions.ts:30"}, "properties": {"repobilityId": "48c262411ff29638", "scanner": "scanner-primary", "fingerprint": "73633bdbf4e6b6e4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4a74eacd2e92ba0c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/analyze-txns.ts:8"}, "properties": {"repobilityId": "a74937a48650a75b", "scanner": "scanner-primary", "fingerprint": "4a74eacd2e92ba0c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-18de8177c31376b7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/monarch-browser-login.ts:21"}, "properties": {"repobilityId": "f01f925d5da70301", "scanner": "scanner-primary", "fingerprint": "18de8177c31376b7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-66efcd39e5d9237a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/accuracy/compare.ts:90"}, "properties": {"repobilityId": "415f5485e819cd28", "scanner": "scanner-primary", "fingerprint": "66efcd39e5d9237a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-45f0df4a967989a6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/accuracy/sample.ts:60"}, "properties": {"repobilityId": "c0ed2f58f1cb0e1f", "scanner": "scanner-primary", "fingerprint": "45f0df4a967989a6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e2c0727e5f8e4edd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/monarch/scripts/accuracy/label-server.ts:728"}, "properties": {"repobilityId": "9228ca5b07c9dd7f", "scanner": "scanner-primary", "fingerprint": "e2c0727e5f8e4edd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-167b92f57ee581a3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/monarch/src/lib/display.ts:41"}, "properties": {"repobilityId": "c25e6a302ccc44d1", "scanner": "scanner-primary", "fingerprint": "167b92f57ee581a3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b9e5828f86aa9235", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/trmnl-dashboard/src/index.ts:12"}, "properties": {"repobilityId": "fdf3caeb148fe828", "scanner": "scanner-primary", "fingerprint": "b9e5828f86aa9235", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f6dd166c2d9fac6c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/audit-unsafe-code.ts:114"}, "properties": {"repobilityId": "b04c1cf9235de389", "scanner": "scanner-primary", "fingerprint": "f6dd166c2d9fac6c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fdee1af189558dd1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/check-asset-sizes.ts:91"}, "properties": {"repobilityId": "176a65d43e7b61dd", "scanner": "scanner-primary", "fingerprint": "fdee1af189558dd1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5a9f6fe5ad9acd85", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/update-lint-cache.ts:14"}, "properties": {"repobilityId": "0c9342bc1ea54b31", "scanner": "scanner-primary", "fingerprint": "5a9f6fe5ad9acd85", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-59e3e08a8681eeec", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/find-dependent-tests.ts:242"}, "properties": {"repobilityId": "7513c51361e8ead0", "scanner": "scanner-primary", "fingerprint": "59e3e08a8681eeec", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9f5aac17cf64ca71", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/check-duplication.ts:86"}, "properties": {"repobilityId": "5a9a46bbf161927f", "scanner": "scanner-primary", "fingerprint": "9f5aac17cf64ca71", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6d1c0cd8678e6037", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/build-bucket.ts:57"}, "properties": {"repobilityId": "58397833c4a999e8", "scanner": "scanner-primary", "fingerprint": "6d1c0cd8678e6037", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-40372a5e103ea06c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/run-relevant-tests.ts:57"}, "properties": {"repobilityId": "fa5713a8c49bc54d", "scanner": "scanner-primary", "fingerprint": "40372a5e103ea06c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e937606884d1367e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/scripts/check-suppressions.ts:86"}, "properties": {"repobilityId": "8c0bfce40590402e", "scanner": "scanner-primary", "fingerprint": "e937606884d1367e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d2784f9825e5cb07", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool/history-panel.tsx:236"}, "properties": {"repobilityId": "0db277bab56a352f", "scanner": "scanner-primary", "fingerprint": "d2784f9825e5cb07", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-4e2f52d5f3c8e5f5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool/history-panel.tsx:65"}, "properties": {"repobilityId": "fbcf99464ddca31c", "scanner": "scanner-primary", "fingerprint": "4e2f52d5f3c8e5f5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c9f8a69d1116ffce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool/use-match-browser.ts:150"}, "properties": {"repobilityId": "31d4dfda9e365597", "scanner": "scanner-primary", "fingerprint": "c9f8a69d1116ffce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a653feae98a3ac6f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool/match-reviewer-info.tsx:73"}, "properties": {"repobilityId": "845844e60738ccdc", "scanner": "scanner-primary", "fingerprint": "a653feae98a3ac6f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e043a62aa1e6f1f5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/components/review-tool/results-panel-utils.ts:28"}, "properties": {"repobilityId": "333d173d38e64af8", "scanner": "scanner-primary", "fingerprint": "e043a62aa1e6f1f5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ea1b357a631e1b9d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/components/report-ui/app.tsx:95"}, "properties": {"repobilityId": "492af708023cf160", "scanner": "scanner-primary", "fingerprint": "ea1b357a631e1b9d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-735aa0ec34dc0256", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/review-tool/cache.ts:338"}, "properties": {"repobilityId": "564347b99c2417f3", "scanner": "scanner-primary", "fingerprint": "735aa0ec34dc0256", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b691202ab1e310e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/review-tool/storage.ts:226"}, "properties": {"repobilityId": "86648c803e32453d", "scanner": "scanner-primary", "fingerprint": "1b691202ab1e310e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2ee5c4ab24d848f1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/review-tool/history-manager.ts:161"}, "properties": {"repobilityId": "2b3df9b6edbf6498", "scanner": "scanner-primary", "fingerprint": "2ee5c4ab24d848f1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7dbe4e2d00823f36", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/review-tool/s3.ts:243"}, "properties": {"repobilityId": "9b8292a82c18e4a9", "scanner": "scanner-primary", "fingerprint": "7dbe4e2d00823f36", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-08ff5bad9b35e2f6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/frontend/src/lib/report-ui/api.ts:143"}, "properties": {"repobilityId": "63adc947155162fa", "scanner": "scanner-primary", "fingerprint": "08ff5bad9b35e2f6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2ccf88e1e34fb5d8", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 packages/scout-for-lol/packages/ui/src/components/sound-pack-editor/sound-pack-editor.tsx:184"}, "properties": {"repobilityId": "620a6881e510b919", "scanner": "scanner-primary", "fingerprint": "2ccf88e1e34fb5d8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-27c90b248c2395e7", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/scout-for-lol/packages/app/src/routes/player-detail.tsx:173"}, "properties": {"repobilityId": "f062d0bd6a950b3a", "scanner": "scanner-primary", "fingerprint": "27c90b248c2395e7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-dcb16ced23272e5f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/scout-for-lol/packages/app/src/routes/guild-picker.tsx:72"}, "properties": {"repobilityId": "9860756fd448219f", "scanner": "scanner-primary", "fingerprint": "dcb16ced23272e5f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f813dda27155b5d9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/report/src/html/discord-screenshot.test.ts:24"}, "properties": {"repobilityId": "ed293ac86ac3c466", "scanner": "scanner-primary", "fingerprint": "f813dda27155b5d9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c7c1796f4c7428d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/report/src/html/competition-chart.fixtures.test.ts:25"}, "properties": {"repobilityId": "ace92579f6d02716", "scanner": "scanner-primary", "fingerprint": "c7c1796f4c7428d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3274e531eb76f35a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/report/src/html/champion/damage.tsx:4"}, "properties": {"repobilityId": "643e1dec42a253d2", "scanner": "scanner-primary", "fingerprint": "3274e531eb76f35a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-cc54dc4c92b19601", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/report/src/html/champion/runes.tsx:11"}, "properties": {"repobilityId": "c9a28619aa13d0b2", "scanner": "scanner-primary", "fingerprint": "cc54dc4c92b19601", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a35e36733fad0108", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/report/src/html/champion/gold.tsx:3"}, "properties": {"repobilityId": "7ac7e6c80b4e06da", "scanner": "scanner-primary", "fingerprint": "a35e36733fad0108", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-86c299b5f13e85ba", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/report/src/html/champion/kda.tsx:4"}, "properties": {"repobilityId": "6b49302052ed58d5", "scanner": "scanner-primary", "fingerprint": "86c299b5f13e85ba", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-48936c9c5b6a2d75", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/check-orphan-seasonids.ts:45"}, "properties": {"repobilityId": "882fca013fc682c1", "scanner": "scanner-primary", "fingerprint": "48936c9c5b6a2d75", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-de39a57c4f0f2fb6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/cleanup-iron-iv-entries.ts:178"}, "properties": {"repobilityId": "e76a16d98386deb6", "scanner": "scanner-primary", "fingerprint": "de39a57c4f0f2fb6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1455dd3f0bb478d1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/inspect-pipeline-trace.ts:169"}, "properties": {"repobilityId": "3546201727a219c1", "scanner": "scanner-primary", "fingerprint": "1455dd3f0bb478d1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-592c130d2ab70654", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/check-test-template-db.ts:192"}, "properties": {"repobilityId": "a95a8e80dcfec409", "scanner": "scanner-primary", "fingerprint": "592c130d2ab70654", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-552021dadd760e71", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/scout-for-lol/packages/backend/scripts/import-report-store-from-s3.ts:69"}, "properties": {"repobilityId": "9832fa4e4b5c8a43", "scanner": "scanner-primary", "fingerprint": "552021dadd760e71", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a6254d909fb1f9a7", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/backend/src/league/tasks/prematch/prematch-notification.integration.test.ts:10"}, "properties": {"repobilityId": "bf276edc50d82b68", "scanner": "scanner-primary", "fingerprint": "a6254d909fb1f9a7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-152e8a24a0454af2", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/backend/src/sound-engine/index.ts:230"}, "properties": {"repobilityId": "6e5dfdca339faac7", "scanner": "scanner-primary", "fingerprint": "152e8a24a0454af2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-fec091cf2793fa7f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/backend/src/storage/s3-leaderboard.no-bucket.test.ts:3"}, "properties": {"repobilityId": "4a1d89f9b7eb5997", "scanner": "scanner-primary", "fingerprint": "fec091cf2793fa7f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5312e8fc56dc8a65", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/scout-for-lol/packages/backend/src/storage/s3-prematch-data.no-bucket.test.ts:3"}, "properties": {"repobilityId": "feb4188bfc29df83", "scanner": "scanner-primary", "fingerprint": "5312e8fc56dc8a65", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f749e4c91f794cf7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/prefer-async-await.test.ts:39"}, "properties": {"repobilityId": "3dc77aa23fc3422f", "scanner": "scanner-primary", "fingerprint": "f749e4c91f794cf7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-116b93dd05b7957a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/prefer-zod-validation.test.ts:19"}, "properties": {"repobilityId": "82c1afc35fd0a3f8", "scanner": "scanner-primary", "fingerprint": "116b93dd05b7957a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-188a5ba2cc91914e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/prefer-structured-logging.test.ts:21"}, "properties": {"repobilityId": "be23900bc48590e8", "scanner": "scanner-primary", "fingerprint": "188a5ba2cc91914e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9bfae2b20509b9b9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/satori-best-practices.test.ts:58"}, "properties": {"repobilityId": "1643033a471e49e5", "scanner": "scanner-primary", "fingerprint": "9bfae2b20509b9b9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-876ef29c5e2088fb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/no-function-overloads.test.ts:20"}, "properties": {"repobilityId": "158043426fcde0ab", "scanner": "scanner-primary", "fingerprint": "876ef29c5e2088fb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2494f47afeb9c84e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/eslint-config/src/rules/no-use-effect.test.ts:31"}, "properties": {"repobilityId": "d8da2121049a7c20", "scanner": "scanner-primary", "fingerprint": "2494f47afeb9c84e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-69818110fc37694a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/cooklang-for-obsidian/scripts/convert-to-cooklang.ts:230"}, "properties": {"repobilityId": "604ac21e3c673871", "scanner": "scanner-primary", "fingerprint": "69818110fc37694a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-57643c13349a56b1", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/better-skill-capped/src/components/omnisearch/course-search-result-video.tsx:39"}, "properties": {"repobilityId": "ea33c8e18740899d", "scanner": "scanner-primary", "fingerprint": "57643c13349a56b1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4390130a26049d42", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/index.ts:6"}, "properties": {"repobilityId": "ad99f418c32e8146", "scanner": "scanner-primary", "fingerprint": "4390130a26049d42", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c21c9827a6e8f997", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/stacktrace.ts:16"}, "properties": {"repobilityId": "d89bbbf5b28951e9", "scanner": "scanner-primary", "fingerprint": "c21c9827a6e8f997", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dcd5a7712205330f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/issue.ts:75"}, "properties": {"repobilityId": "37c763305d8d3d14", "scanner": "scanner-primary", "fingerprint": "dcd5a7712205330f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6640a6a56f2aad74", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/issues.ts:89"}, "properties": {"repobilityId": "d30fb9ffbcbcb51e", "scanner": "scanner-primary", "fingerprint": "6640a6a56f2aad74", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c8f981a69c51d763", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/releases.ts:86"}, "properties": {"repobilityId": "1a617ef2e0c388f3", "scanner": "scanner-primary", "fingerprint": "c8f981a69c51d763", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9d3e732e818460a0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/projects.ts:92"}, "properties": {"repobilityId": "e638214e167ca0be", "scanner": "scanner-primary", "fingerprint": "9d3e732e818460a0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d5822a44bfa89eb1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/teams.ts:65"}, "properties": {"repobilityId": "1026ee2e9cc7c28d", "scanner": "scanner-primary", "fingerprint": "d5822a44bfa89eb1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3eeac25e0fc99836", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/bugsink/events.ts:85"}, "properties": {"repobilityId": "0a51ed7e658b68e5", "scanner": "scanner-primary", "fingerprint": "3eeac25e0fc99836", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c95c64a8d8ebabc6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pr/health.ts:88"}, "properties": {"repobilityId": "ac39605bae209168", "scanner": "scanner-primary", "fingerprint": "c95c64a8d8ebabc6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7b5fbc8d91c29995", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pr/asset.ts:203"}, "properties": {"repobilityId": "dbd6ff36b2fbe99d", "scanner": "scanner-primary", "fingerprint": "7b5fbc8d91c29995", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8093e2ad178c3068", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pr/detect.ts:27"}, "properties": {"repobilityId": "8e8aef157a5bc04e", "scanner": "scanner-primary", "fingerprint": "8093e2ad178c3068", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bd8c1f6cb680879a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pr/logs.ts:26"}, "properties": {"repobilityId": "aefcebe8c962a37d", "scanner": "scanner-primary", "fingerprint": "bd8c1f6cb680879a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e4c491593f639cd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/daemon.ts:105"}, "properties": {"repobilityId": "2a8cf1c5aa708e6e", "scanner": "scanner-primary", "fingerprint": "4e4c491593f639cd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bff1123750d758e7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/messages.ts:21"}, "properties": {"repobilityId": "8029707145da7975", "scanner": "scanner-primary", "fingerprint": "bff1123750d758e7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eeb4ce45dbce70c9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/info.ts:11"}, "properties": {"repobilityId": "bf5e6ff5b8042c27", "scanner": "scanner-primary", "fingerprint": "eeb4ce45dbce70c9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fda3c6823082cca2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/voice.ts:17"}, "properties": {"repobilityId": "2a1c345d0f5e42ff", "scanner": "scanner-primary", "fingerprint": "fda3c6823082cca2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e3c556de5e8c22a4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/discord/slash.ts:19"}, "properties": {"repobilityId": "bfe436a2e1a743de", "scanner": "scanner-primary", "fingerprint": "e3c556de5e8c22a4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dbb45a48021b34f4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/fetch/fetch.ts:55"}, "properties": {"repobilityId": "a12ed9f4cea855dd", "scanner": "scanner-primary", "fingerprint": "dbb45a48021b34f4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-316ab5a8182ff499", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/deployed/deployed.ts:410"}, "properties": {"repobilityId": "5b7c3ed55ed9a3ae", "scanner": "scanner-primary", "fingerprint": "316ab5a8182ff499", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bfa451be5f937e57", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/labels.ts:76"}, "properties": {"repobilityId": "14ee3b1f215ab016", "scanner": "scanner-primary", "fingerprint": "bfa451be5f937e57", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fe1c30131f944db4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/dashboard.ts:79"}, "properties": {"repobilityId": "ad67d5b6b95fb10f", "scanner": "scanner-primary", "fingerprint": "fe1c30131f944db4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d085f1538300c254", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/log-labels.ts:74"}, "properties": {"repobilityId": "6c8a3cf84cc1283c", "scanner": "scanner-primary", "fingerprint": "d085f1538300c254", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73130977c80fb183", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/query.ts:115"}, "properties": {"repobilityId": "6afc2ecbbfd672b9", "scanner": "scanner-primary", "fingerprint": "73130977c80fb183", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-59e3c94425446ae9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/alerts.ts:138"}, "properties": {"repobilityId": "bc93070d657b5da1", "scanner": "scanner-primary", "fingerprint": "59e3c94425446ae9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b57407db3e240267", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/dashboards.ts:64"}, "properties": {"repobilityId": "5b34bd280d92261e", "scanner": "scanner-primary", "fingerprint": "b57407db3e240267", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0244dd89dcaa559b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/annotations.ts:79"}, "properties": {"repobilityId": "1703ced2c6b1e1e1", "scanner": "scanner-primary", "fingerprint": "0244dd89dcaa559b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ac3f2c29d9c63f74", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/datasources.ts:78"}, "properties": {"repobilityId": "4e50ff435ff89f79", "scanner": "scanner-primary", "fingerprint": "ac3f2c29d9c63f74", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1181a1822bbfe434", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/metrics.ts:38"}, "properties": {"repobilityId": "4872fe2ccad44b25", "scanner": "scanner-primary", "fingerprint": "1181a1822bbfe434", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f3912b5348391aa7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/grafana/logs.ts:122"}, "properties": {"repobilityId": "a0aee3828867c718", "scanner": "scanner-primary", "fingerprint": "f3912b5348391aa7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-46c6953930eb01d7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pagerduty/incidents.ts:99"}, "properties": {"repobilityId": "78fff30289df364f", "scanner": "scanner-primary", "fingerprint": "46c6953930eb01d7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-59e2591e7a9bccb2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/commands/pagerduty/incident.ts:128"}, "properties": {"repobilityId": "63de795bb3eb2ad6", "scanner": "scanner-primary", "fingerprint": "59e2591e7a9bccb2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9c795e1e655f72ed", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/lib/fetch/crawler.ts:51"}, "properties": {"repobilityId": "e3fd3e7faf039b9d", "scanner": "scanner-primary", "fingerprint": "9c795e1e655f72ed", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-553e6b046192fe10", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/daemon/debug.ts:16"}, "properties": {"repobilityId": "89fcedd9e3d27a5b", "scanner": "scanner-primary", "fingerprint": "553e6b046192fe10", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4c6450446a29b4a4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/daemon/daemon.ts:67"}, "properties": {"repobilityId": "27416538a7c8cc69", "scanner": "scanner-primary", "fingerprint": "4c6450446a29b4a4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cc7526079c04becd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/daemon/logs.ts:63"}, "properties": {"repobilityId": "170e23836c5c256c", "scanner": "scanner-primary", "fingerprint": "cc7526079c04becd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a58f09de8d0c328e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/discord.ts:272"}, "properties": {"repobilityId": "b0ec70eaa2593123", "scanner": "scanner-primary", "fingerprint": "a58f09de8d0c328e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b06bba7590019fbe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/bugsink.ts:158"}, "properties": {"repobilityId": "207af995a72de5e4", "scanner": "scanner-primary", "fingerprint": "b06bba7590019fbe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-609ab3587ce03bb1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/recall.ts:94"}, "properties": {"repobilityId": "f5e1596b9713e35b", "scanner": "scanner-primary", "fingerprint": "609ab3587ce03bb1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3a102f0e254ec97c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/fetch.ts:62"}, "properties": {"repobilityId": "01615caa7989e946", "scanner": "scanner-primary", "fingerprint": "3a102f0e254ec97c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-495985f7b8d59dc4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/pagerduty.ts:55"}, "properties": {"repobilityId": "cc0eb046ff4c6501", "scanner": "scanner-primary", "fingerprint": "495985f7b8d59dc4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7a312e31140e52d5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/grafana.ts:318"}, "properties": {"repobilityId": "d022fca6f8b8e15b", "scanner": "scanner-primary", "fingerprint": "7a312e31140e52d5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c5d0f15d79b067e4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/deployed.ts:36"}, "properties": {"repobilityId": "374a96505cf4cde2", "scanner": "scanner-primary", "fingerprint": "c5d0f15d79b067e4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e70989c51ef40847", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/toolkit/src/handlers/pr.ts:82"}, "properties": {"repobilityId": "0b10fb4dfc04d1ea", "scanner": "scanner-primary", "fingerprint": "e70989c51ef40847", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bc4155435672d76f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/scrape-details.ts:53"}, "properties": {"repobilityId": "7a01142c72bcbba2", "scanner": "scanner-primary", "fingerprint": "bc4155435672d76f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5ba7ebe8c7174cb2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/build-search-index.ts:43"}, "properties": {"repobilityId": "ec6c9ea7199fb98c", "scanner": "scanner-primary", "fingerprint": "5ba7ebe8c7174cb2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c4dec468b80b3154", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/scrape-list.ts:52"}, "properties": {"repobilityId": "5e867b6c80917123", "scanner": "scanner-primary", "fingerprint": "c4dec468b80b3154", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-70736934687d7eb7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/search.ts:154"}, "properties": {"repobilityId": "c343ecf80d02a24d", "scanner": "scanner-primary", "fingerprint": "70736934687d7eb7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b786de86c7abbcd1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/leetcode/src/build-db.ts:95"}, "properties": {"repobilityId": "d1d2108a58dc8686", "scanner": "scanner-primary", "fingerprint": "b786de86c7abbcd1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5199a221c1800c54", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/sjer.red/src/webring.ts:6"}, "properties": {"repobilityId": "4306b4a3ca24ee0c", "scanner": "scanner-primary", "fingerprint": "5199a221c1800c54", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6bf1f0b5e29c1452", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/sjer.red/src/bookmarks/bookmarks.ts:143"}, "properties": {"repobilityId": "14e1289224cba118", "scanner": "scanner-primary", "fingerprint": "6bf1f0b5e29c1452", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-519feb7fd0f460a4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/temporal/src/activities/pr-review/post.test.ts:47"}, "properties": {"repobilityId": "e12ed1acd2b3bc72", "scanner": "scanner-primary", "fingerprint": "519feb7fd0f460a4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49c711505ff7b993", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/temporal/src/activities/pr-review/summary-prompts.test.ts:37"}, "properties": {"repobilityId": "79d89795d7164f0d", "scanner": "scanner-primary", "fingerprint": "49c711505ff7b993", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e4ac3b23d000bd4b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/temporal/src/activities/pr-review/summary.test.ts:156"}, "properties": {"repobilityId": "176008b21783db68", "scanner": "scanner-primary", "fingerprint": "e4ac3b23d000bd4b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-75c8661100cb13d7", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/temporal/src/workflows/pr-review/index.ts:236"}, "properties": {"repobilityId": "0e520361d3eeeb20", "scanner": "scanner-primary", "fingerprint": "75c8661100cb13d7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-60bcf1cb973effa0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/discord-plays-mario-kart/scripts/fetch-wasm.ts:36"}, "properties": {"repobilityId": "d200f1c5f90c07c2", "scanner": "scanner-primary", "fingerprint": "60bcf1cb973effa0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-22998cb94719df22", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/discord-plays-mario-kart/packages/frontend/src/controller-ui.tsx:181"}, "properties": {"repobilityId": "4b5bc11a7befbd44", "scanner": "scanner-primary", "fingerprint": "22998cb94719df22", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-9b29ab1d0cefbc7a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/discord-plays-mario-kart/packages/frontend/src/stories/loading-spinner.tsx:67"}, "properties": {"repobilityId": "09a699702057dc32", "scanner": "scanner-primary", "fingerprint": "9b29ab1d0cefbc7a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-271595877d75497d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/discord-plays-mario-kart/packages/backend/src/webserver/dispatch.ts:118"}, "properties": {"repobilityId": "4a6f9ff968110a6a", "scanner": "scanner-primary", "fingerprint": "271595877d75497d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-e359d5af0db6c563", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/scripts/test-helm.ts:14"}, "properties": {"repobilityId": "11b63c6f90e5fe65", "scanner": "scanner-primary", "fingerprint": "e359d5af0db6c563", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4039480f23047b5a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/scripts/check-docker-images.ts:294"}, "properties": {"repobilityId": "d2fb4470f6c607e5", "scanner": "scanner-primary", "fingerprint": "4039480f23047b5a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7eb465956a89f6e2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/scripts/check-suppressions.ts:29"}, "properties": {"repobilityId": "5e6c90da907c0653", "scanner": "scanner-primary", "fingerprint": "7eb465956a89f6e2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6b113b06d0267a17", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/scripts/velero/monitor-restore.ts:70"}, "properties": {"repobilityId": "ae6a36bcf50005af", "scanner": "scanner-primary", "fingerprint": "6b113b06d0267a17", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5b5a77e7bbadfb26", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/r2-prefix-inventory.ts:200"}, "properties": {"repobilityId": "a190cc07603cbc67", "scanner": "scanner-primary", "fingerprint": "5b5a77e7bbadfb26", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-53c5732b089657dd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/check-1password-items.ts:290"}, "properties": {"repobilityId": "15be68fba238cb86", "scanner": "scanner-primary", "fingerprint": "53c5732b089657dd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b374fe188fb621c9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/snapshot-1password-vault.ts:201"}, "properties": {"repobilityId": "29fb4ea38b2875c9", "scanner": "scanner-primary", "fingerprint": "b374fe188fb621c9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1461b9dd4188d5f4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/patch.ts:29"}, "properties": {"repobilityId": "aff64a4cb8322fab", "scanner": "scanner-primary", "fingerprint": "1461b9dd4188d5f4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b321cbe68d190922", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/helm-render.ts:114"}, "properties": {"repobilityId": "fb870a89874329b9", "scanner": "scanner-primary", "fingerprint": "b321cbe68d190922", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b2506d168401cee3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/generate-caddyfile.ts:20"}, "properties": {"repobilityId": "fcf30e23052e79cf", "scanner": "scanner-primary", "fingerprint": "b2506d168401cee3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a726bd2923f0b2b8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/test-gpu-resources.ts:11"}, "properties": {"repobilityId": "78a78f3cdcbf3542", "scanner": "scanner-primary", "fingerprint": "a726bd2923f0b2b8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ef6d81dbdd916b69", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/update-imports.ts:26"}, "properties": {"repobilityId": "db630bf3f9903dde", "scanner": "scanner-primary", "fingerprint": "ef6d81dbdd916b69", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b951ebbe3ab49913", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/generate-helm-types.ts:47"}, "properties": {"repobilityId": "d6fd1b28c4aae55b", "scanner": "scanner-primary", "fingerprint": "b951ebbe3ab49913", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8121d5ef4240c4d8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/scripts/grafana-dashboard-audit.ts:205"}, "properties": {"repobilityId": "d45bbb229873199c", "scanner": "scanner-primary", "fingerprint": "8121d5ef4240c4d8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-91fe7e118166797a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/grafana/gitckup-dashboard.ts:8"}, "properties": {"repobilityId": "0457765105fb866d", "scanner": "scanner-primary", "fingerprint": "91fe7e118166797a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-8ab3c4aafd68eb74", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/grafana/zfs-dashboard.ts:20"}, "properties": {"repobilityId": "5d63d851462802ad", "scanner": "scanner-primary", "fingerprint": "8ab3c4aafd68eb74", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-c950ee822589207c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/src/argocd-helm-render.test.ts:346"}, "properties": {"repobilityId": "6722a728b83e4c32", "scanner": "scanner-primary", "fingerprint": "c950ee822589207c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a67372c26864658a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/cdk8s/src/versions.ts:290"}, "properties": {"repobilityId": "f8ae0973580a60c7", "scanner": "scanner-primary", "fingerprint": "a67372c26864658a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-94fc5a2696313b62", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/apps/1password.ts:6"}, "properties": {"repobilityId": "734c280cfd06ade2", "scanner": "scanner-primary", "fingerprint": "94fc5a2696313b62", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ee6f655c3afb6a2e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/media/plex.ts:148"}, "properties": {"repobilityId": "8eea0d5aeccd211e", "scanner": "scanner-primary", "fingerprint": "ee6f655c3afb6a2e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-840e83a42b88eef3", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/argo-applications/1password.ts:6"}, "properties": {"repobilityId": "db0cfb43d5356e35", "scanner": "scanner-primary", "fingerprint": "840e83a42b88eef3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-e85eec049c0a1cfc", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/argo-applications/cert-manager.ts:38"}, "properties": {"repobilityId": "bb91f58a996d8cd3", "scanner": "scanner-primary", "fingerprint": "e85eec049c0a1cfc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-babf9c98646662f6", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/home/homeassistant.ts:183"}, "properties": {"repobilityId": "b1786a57ba7c4397", "scanner": "scanner-primary", "fingerprint": "babf9c98646662f6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-0925ae63b799c27b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/cdk8s/src/resources/torrents/qbittorrent.ts:72"}, "properties": {"repobilityId": "83625d6c4f0eebb2", "scanner": "scanner-primary", "fingerprint": "0925ae63b799c27b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-9efe31f0d6d3223f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/helm-types/src/chart-fetcher.ts:25"}, "properties": {"repobilityId": "4206fcf6d89555f1", "scanner": "scanner-primary", "fingerprint": "9efe31f0d6d3223f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8bfb51ef7af04294", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/helm-types/src/cli.ts:128"}, "properties": {"repobilityId": "cd70b5efe232d797", "scanner": "scanner-primary", "fingerprint": "8bfb51ef7af04294", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e117bc652d0e3d14", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/homelab/src/helm-types/src/real-world-charts.test.ts:74"}, "properties": {"repobilityId": "ec1b3497afcdbd19", "scanner": "scanner-primary", "fingerprint": "e117bc652d0e3d14", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6e01dc576abbf2a5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/homelab/src/talos/update-image-id.ts:46"}, "properties": {"repobilityId": "711ab9eb2e291261", "scanner": "scanner-primary", "fingerprint": "6e01dc576abbf2a5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4a4056c8a97f65e5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/agent-tools/tools/tool-sets.ts:176"}, "properties": {"repobilityId": "a4df3c4c78fc042c", "scanner": "scanner-primary", "fingerprint": "4a4056c8a97f65e5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5a68bf7eca8fd5f1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/agent-tools/tools/automation/automation.test.ts:87"}, "properties": {"repobilityId": "b1c7410e5079a41a", "scanner": "scanner-primary", "fingerprint": "5a68bf7eca8fd5f1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3a702faf167e928b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/agent-tools/tools/automation/shell.ts:16"}, "properties": {"repobilityId": "aa87ec8cd4f261c4", "scanner": "scanner-primary", "fingerprint": "3a702faf167e928b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bd69663029a4a0dd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/utils/clear-channel-memory.ts:48"}, "properties": {"repobilityId": "a46d446c0da7aed1", "scanner": "scanner-primary", "fingerprint": "bd69663029a4a0dd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ce3f0af2e6565efc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/utils/logger.ts:154"}, "properties": {"repobilityId": "be3ea11734c8d1b1", "scanner": "scanner-primary", "fingerprint": "ce3f0af2e6565efc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-caa47632a3ab5ce3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/src/observability/sentry.ts:20"}, "properties": {"repobilityId": "925a6d88623e31ea", "scanner": "scanner-primary", "fingerprint": "caa47632a3ab5ce3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a2a03b6a43e93db2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/e2e/youtube-stream-resource.ts:222"}, "properties": {"repobilityId": "e9345b82d6b720dd", "scanner": "scanner-primary", "fingerprint": "a2a03b6a43e93db2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b95b931d2ebe6ff1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/birmel/e2e/music-playback.ts:183"}, "properties": {"repobilityId": "2662b24cc3df44e0", "scanner": "scanner-primary", "fingerprint": "b95b931d2ebe6ff1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-21dfcc750bdc30ef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/discord-plays-pokemon/scripts/generate-species-data.ts:133"}, "properties": {"repobilityId": "d096ee57530998e1", "scanner": "scanner-primary", "fingerprint": "21dfcc750bdc30ef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-36a1dc9ccb66c0fd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/discord-plays-pokemon/scripts/fetch-wasm.ts:36"}, "properties": {"repobilityId": "9fd097281c767db2", "scanner": "scanner-primary", "fingerprint": "36a1dc9ccb66c0fd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ae8ac7e312496993", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/discord-plays-pokemon/packages/frontend/src/app.tsx:44"}, "properties": {"repobilityId": "86ce93d675118913", "scanner": "scanner-primary", "fingerprint": "ae8ac7e312496993", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d21a9d2fb7e85d4a", "level": "note", "message": {"text": "React Flow <Controls> without dark theming \u2014 packages/discord-plays-pokemon/packages/frontend/src/pages/game-page.tsx:30"}, "properties": {"repobilityId": "5615a38ef103b6a9", "scanner": "scanner-primary", "fingerprint": "d21a9d2fb7e85d4a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.controls.no-bg"]}}, {"ruleId": "scanner-a112b524d5b03d8f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/discord-plays-pokemon/packages/frontend/src/stories/loading-spinner.tsx:67"}, "properties": {"repobilityId": "f0be8b5ec87c5612", "scanner": "scanner-primary", "fingerprint": "a112b524d5b03d8f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-bb30f7fffe51d8f8", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/discord-plays-pokemon/packages/backend/src/index.ts:175"}, "properties": {"repobilityId": "488d1c75798e58d3", "scanner": "scanner-primary", "fingerprint": "bb30f7fffe51d8f8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4fc072d9fe51ab81", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/discord-video-stream/src/client/voice/BaseMediaConnection.ts:402"}, "properties": {"repobilityId": "26de2b82819370b0", "scanner": "scanner-primary", "fingerprint": "4fc072d9fe51ab81", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9d0ee3a76dd890e5", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/tasks-for-obsidian/eslint.config.ts:41"}, "properties": {"repobilityId": "7b2621c2f922640d", "scanner": "scanner-primary", "fingerprint": "9d0ee3a76dd890e5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b937608e6c159095", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/tasks-for-obsidian/scripts/check-ios-native-deps.ts:269"}, "properties": {"repobilityId": "ae98c9d21ff8ad40", "scanner": "scanner-primary", "fingerprint": "b937608e6c159095", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-59df9ba851e43cb8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/tasknotes-server/src/index.ts:88"}, "properties": {"repobilityId": "8e724477b39d9f3a", "scanner": "scanner-primary", "fingerprint": "59df9ba851e43cb8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4d553a1a5354c8b2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/tasknotes-server/src/sentry.ts:14"}, "properties": {"repobilityId": "6e811ec9d3c598d6", "scanner": "scanner-primary", "fingerprint": "4d553a1a5354c8b2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-14333b20af307740", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/tasknotes-server/src/middleware/logger.ts:15"}, "properties": {"repobilityId": "f052674376e4e234", "scanner": "scanner-primary", "fingerprint": "14333b20af307740", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ea3602535e667df6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/scripts/generate-test-file.ts:204"}, "properties": {"repobilityId": "f7c85145c041a0da", "scanner": "scanner-primary", "fingerprint": "ea3602535e667df6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-67af267935f05596", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/cli-deminify-runner.ts:51"}, "properties": {"repobilityId": "f13c8da80dc56dec", "scanner": "scanner-primary", "fingerprint": "67af267935f05596", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-64700f6040c16746", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/index.ts:34"}, "properties": {"repobilityId": "545ed9b9d265997c", "scanner": "scanner-primary", "fingerprint": "64700f6040c16746", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b83af80a05257b17", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/cli-args.ts:199"}, "properties": {"repobilityId": "88ca0cdf5b9b9a69", "scanner": "scanner-primary", "fingerprint": "b83af80a05257b17", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a6efc5dcfa5b96df", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/cli/deminify-runner.ts:40"}, "properties": {"repobilityId": "378e9f7219c349ed", "scanner": "scanner-primary", "fingerprint": "a6efc5dcfa5b96df", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7fabffb8248dc869", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/cli/args.ts:199"}, "properties": {"repobilityId": "14690c201c4faf50", "scanner": "scanner-primary", "fingerprint": "7fabffb8248dc869", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-650adf3b484fde15", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/decompiler.test.ts:59"}, "properties": {"repobilityId": "ef77a051d68ef55e", "scanner": "scanner-primary", "fingerprint": "650adf3b484fde15", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-52173addb86463b6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/batch-processor.ts:87"}, "properties": {"repobilityId": "1c2b9637c057948f", "scanner": "scanner-primary", "fingerprint": "52173addb86463b6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f53342dc1a64145e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/llm-caller.ts:78"}, "properties": {"repobilityId": "f6898f26bb9f4647", "scanner": "scanner-primary", "fingerprint": "f53342dc1a64145e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3383c46a949f7149", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/deminify-utils.ts:64"}, "properties": {"repobilityId": "84d84c1ae70b7e78", "scanner": "scanner-primary", "fingerprint": "3383c46a949f7149", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-87456495a7f6cfcc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/batch-processor.integration.test.ts:26"}, "properties": {"repobilityId": "5bdade7d6f2d5bf9", "scanner": "scanner-primary", "fingerprint": "87456495a7f6cfcc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1fc65b282aac35c1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/progress-display.ts:235"}, "properties": {"repobilityId": "600f1adee2117f51", "scanner": "scanner-primary", "fingerprint": "1fc65b282aac35c1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-09c53f4fbfdebb88", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/deminifier.ts:205"}, "properties": {"repobilityId": "cdbb0c08ac37a0bc", "scanner": "scanner-primary", "fingerprint": "09c53f4fbfdebb88", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2b1e652d4ab3a130", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/openai-batch.ts:142"}, "properties": {"repobilityId": "f728853dd941ae77", "scanner": "scanner-primary", "fingerprint": "2b1e652d4ab3a130", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bf561bbf7717b83e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/batch-client.ts:66"}, "properties": {"repobilityId": "6225e75b40fe954b", "scanner": "scanner-primary", "fingerprint": "bf561bbf7717b83e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-caef51b842238fdb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/bun-decompile/src/lib/deminify/batch-mode.ts:92"}, "properties": {"repobilityId": "06390998858652f3", "scanner": "scanner-primary", "fingerprint": "caef51b842238fdb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-65dc18eed9aed571", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/monarch-money/find-yearly-subscriptions.ts:97"}, "properties": {"repobilityId": "ead7d4d50ecb568e", "scanner": "scanner-primary", "fingerprint": "65dc18eed9aed571", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-92d94da2633e53f1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/monarch-money/find-subscriptions.ts:198"}, "properties": {"repobilityId": "0492169657564090", "scanner": "scanner-primary", "fingerprint": "92d94da2633e53f1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f23bd1a42d1180a2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/monarch-money/csv-to-sqlite.ts:12"}, "properties": {"repobilityId": "e767cc2f5d1c4125", "scanner": "scanner-primary", "fingerprint": "f23bd1a42d1180a2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-499c793b21cd80f4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/monarch-money/analyze-db.ts:11"}, "properties": {"repobilityId": "c5c79c766a9c8f82", "scanner": "scanner-primary", "fingerprint": "499c793b21cd80f4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3f94ce61fc5b4edd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/ec2-instance-restart-frontend/src/api.ts:40"}, "properties": {"repobilityId": "64f1dcb27f8e19ed", "scanner": "scanner-primary", "fingerprint": "3f94ce61fc5b4edd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1560ca8182fb019f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ec2-instance-restart-frontend/src/components/InstanceSelector.tsx:17"}, "properties": {"repobilityId": "410932533f516ccf", "scanner": "scanner-primary", "fingerprint": "1560ca8182fb019f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b13c1be40ea5f772", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/api/src/middleware.js:3"}, "properties": {"repobilityId": "767ee3606dcb9421", "scanner": "scanner-primary", "fingerprint": "b13c1be40ea5f772", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7913aeb9df1cde82", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/api/src/user/middleware.js:89"}, "properties": {"repobilityId": "9e1d1226ddae8af4", "scanner": "scanner-primary", "fingerprint": "7913aeb9df1cde82", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a8b16525b101486c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/api/src/user/controller.js:8"}, "properties": {"repobilityId": "13b8e90301050555", "scanner": "scanner-primary", "fingerprint": "a8b16525b101486c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-e78e7d775719e854", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/api/src/user/authorization/middleware.js:11"}, "properties": {"repobilityId": "8c1fc41076c5fca6", "scanner": "scanner-primary", "fingerprint": "e78e7d775719e854", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-23395976d60e5947", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/herd/web/src/registerServiceWorker.js:42"}, "properties": {"repobilityId": "818ad47fcc4ee216", "scanner": "scanner-primary", "fingerprint": "23395976d60e5947", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8bf20928b8e2bfb4", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/components/ErrorBoundary.js:14"}, "properties": {"repobilityId": "0cf7c53c5ba40524", "scanner": "scanner-primary", "fingerprint": "8bf20928b8e2bfb4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-e38d3a0ec57f6263", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/herd/web/src/components/ErrorBoundary.js:13"}, "properties": {"repobilityId": "fa269012f8918399", "scanner": "scanner-primary", "fingerprint": "e38d3a0ec57f6263", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dde23d0c9bee32bf", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/components/club/edit/EditClubContainer.js:9"}, "properties": {"repobilityId": "72297a8924994883", "scanner": "scanner-primary", "fingerprint": "dde23d0c9bee32bf", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-05daa0a9a7790582", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/validation/userValidators.js:1"}, "properties": {"repobilityId": "0e5da98ab51b4b96", "scanner": "scanner-primary", "fingerprint": "05daa0a9a7790582", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6d17c96aea02e0bf", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/store/store.js:11"}, "properties": {"repobilityId": "15c62fb3c635557a", "scanner": "scanner-primary", "fingerprint": "6d17c96aea02e0bf", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4a1f8512acfbf943", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/store/utils/crud/reducers.js:76"}, "properties": {"repobilityId": "f346c6d385f8be75", "scanner": "scanner-primary", "fingerprint": "4a1f8512acfbf943", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-3880bd145dad0fd6", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/herd/web/src/store/features/users/actions.js:21"}, "properties": {"repobilityId": "7a4140e851958eea", "scanner": "scanner-primary", "fingerprint": "3880bd145dad0fd6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a506293b5fead4cd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/harding-christmas/app.js:37"}, "properties": {"repobilityId": "8796b2931aeec8f9", "scanner": "scanner-primary", "fingerprint": "a506293b5fead4cd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e060bd61a2003741", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/hue-saber/src/index.js:52"}, "properties": {"repobilityId": "15170913937324d9", "scanner": "scanner-primary", "fingerprint": "e060bd61a2003741", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f2a4ecba7a4c035f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-server/src/index.ts:25"}, "properties": {"repobilityId": "5c28128545643f7f", "scanner": "scanner-primary", "fingerprint": "f2a4ecba7a4c035f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4fdf8191ca6279d5", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/easely/web/src/App.vue:23"}, "properties": {"repobilityId": "4ca597086271603e", "scanner": "scanner-primary", "fingerprint": "4fdf8191ca6279d5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a450158f808b9fd2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/components/user/user-login.vue:76"}, "properties": {"repobilityId": "76f4aaf9584dea22", "scanner": "scanner-primary", "fingerprint": "a450158f808b9fd2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73797b99fba98e7d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/components/user/user-register.vue:162"}, "properties": {"repobilityId": "ff2a60c08877cf24", "scanner": "scanner-primary", "fingerprint": "73797b99fba98e7d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9b32e48d23b60114", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/components/courses/course-grades.vue:171"}, "properties": {"repobilityId": "616de3478eacaca5", "scanner": "scanner-primary", "fingerprint": "9b32e48d23b60114", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-81ec3180f536719e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/store/index.js:13"}, "properties": {"repobilityId": "bc7dc31769a457b0", "scanner": "scanner-primary", "fingerprint": "81ec3180f536719e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49d31b8d59be7b0a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/store/modules/courses.js:26"}, "properties": {"repobilityId": "c7007e748f9a6b96", "scanner": "scanner-primary", "fingerprint": "49d31b8d59be7b0a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3f8aab5cd4a90403", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/easely/web/src/store/modules/assignments.js:33"}, "properties": {"repobilityId": "8031458e4253d280", "scanner": "scanner-primary", "fingerprint": "3f8aab5cd4a90403", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e249eb2fea3a5711", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/serviceWorker.js:44"}, "properties": {"repobilityId": "7a258d50cc9bb14e", "scanner": "scanner-primary", "fingerprint": "e249eb2fea3a5711", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b5b1c609ad6d5f7d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/components/views/PickSeat.js:106"}, "properties": {"repobilityId": "77bc690e5a11d116", "scanner": "scanner-primary", "fingerprint": "b5b1c609ad6d5f7d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2514b746f439dc4b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/components/views/CheckForSeat.js:62"}, "properties": {"repobilityId": "7fb0eacc2b8ff959", "scanner": "scanner-primary", "fingerprint": "2514b746f439dc4b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2726378732e94664", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/components/views/ReleaseSeat.js:62"}, "properties": {"repobilityId": "371c7749ec311043", "scanner": "scanner-primary", "fingerprint": "2726378732e94664", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-715e069ef244fb96", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/usher/src/components/views/GetSeats.js:84"}, "properties": {"repobilityId": "8f13fa3220402415", "scanner": "scanner-primary", "fingerprint": "715e069ef244fb96", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-29d968b6d90f4700", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/docblocs-demo/src/server.js:5"}, "properties": {"repobilityId": "64a2d8f29b05f4d0", "scanner": "scanner-primary", "fingerprint": "29d968b6d90f4700", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-38d9114770743735", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/docblocs-demo/src/index.js:28"}, "properties": {"repobilityId": "aa3cb458295a1f52", "scanner": "scanner-primary", "fingerprint": "38d9114770743735", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b813564bccd15168", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/express-docblocs/index.js:7"}, "properties": {"repobilityId": "cdb312b9b9bf4250", "scanner": "scanner-primary", "fingerprint": "b813564bccd15168", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-21a5d8af59be3211", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/docblocs-test/src/server.js:5"}, "properties": {"repobilityId": "8b9d3ea330cf89b3", "scanner": "scanner-primary", "fingerprint": "21a5d8af59be3211", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c9a588d79e258630", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/docblocs/docblocs-test/src/index.js:10"}, "properties": {"repobilityId": "b306ff864ecf2ea8", "scanner": "scanner-primary", "fingerprint": "c9a588d79e258630", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1fffb6c0c59e0b6f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/clauderon/web/frontend/tests/screenshots/dialogs.spec.ts:51"}, "properties": {"repobilityId": "6cb35da1ca816da0", "scanner": "scanner-primary", "fingerprint": "1fffb6c0c59e0b6f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7f5bd896ad2442a9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/clauderon/web/frontend/tests/screenshots/auth.spec.ts:45"}, "properties": {"repobilityId": "2aff47214f325d2b", "scanner": "scanner-primary", "fingerprint": "7f5bd896ad2442a9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-078fe7aa05f0be33", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/clauderon/web/frontend/tests/screenshots/sessions.spec.ts:46"}, "properties": {"repobilityId": "9e1e198e3e4720aa", "scanner": "scanner-primary", "fingerprint": "078fe7aa05f0be33", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-59ab88403e2c50d3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/directory-browser-dialog.tsx:219"}, "properties": {"repobilityId": "0a9710d25bcfa26b", "scanner": "scanner-primary", "fingerprint": "59ab88403e2c50d3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0d9fb053ad0bc0a2", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/image-attachment-input.tsx:34"}, "properties": {"repobilityId": "117bc8df884f9f28", "scanner": "scanner-primary", "fingerprint": "0d9fb053ad0bc0a2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b68c905a8c0cf217", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/session-card.tsx:64"}, "properties": {"repobilityId": "7cb6039d73e5e9c4", "scanner": "scanner-primary", "fingerprint": "b68c905a8c0cf217", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-af9f0b187be6fa9c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/startup-health-modal.tsx:138"}, "properties": {"repobilityId": "3d4d72cd2143a88d", "scanner": "scanner-primary", "fingerprint": "af9f0b187be6fa9c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a76d8241de58e00b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/session-status-indicators.tsx:40"}, "properties": {"repobilityId": "0bdac6e3701d73da", "scanner": "scanner-primary", "fingerprint": "a76d8241de58e00b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3753cc324a006871", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 sandbox/archive/clauderon/web/frontend/src/components/repository-path-selector.tsx:149"}, "properties": {"repobilityId": "d87cb4a159bf08a1", "scanner": "scanner-primary", "fingerprint": "3753cc324a006871", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-09a03fc7e14e7144", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/api/src/features/users/controller.ts:18"}, "properties": {"repobilityId": "8a704c94002bc702", "scanner": "scanner-primary", "fingerprint": "09a03fc7e14e7144", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-257b01b51c2ede6b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/api/src/features/courses/controller.ts:63"}, "properties": {"repobilityId": "014ef52f7b6defed", "scanner": "scanner-primary", "fingerprint": "257b01b51c2ede6b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b67e8b54b61d2e21", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/api/src/features/courses/listings/controller.ts:60"}, "properties": {"repobilityId": "55959d62c3807cda", "scanner": "scanner-primary", "fingerprint": "b67e8b54b61d2e21", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6280edf5f8684b8a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/api/src/features/courses/contents/controller.ts:60"}, "properties": {"repobilityId": "7ff45641565ae5da", "scanner": "scanner-primary", "fingerprint": "6280edf5f8684b8a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b32cab73fd2af624", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/hu-easel/web/src/api/index.js:50"}, "properties": {"repobilityId": "d4216cfb04ad9684", "scanner": "scanner-primary", "fingerprint": "b32cab73fd2af624", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-01c811f0a1c71fa2", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/hu-easel/web/src/components/ErrorBoundary.js:18"}, "properties": {"repobilityId": "3df7164a4859e9e4", "scanner": "scanner-primary", "fingerprint": "01c811f0a1c71fa2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-68a71e03aa80d033", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/hu-easel/web/src/components/ErrorBoundary.js:17"}, "properties": {"repobilityId": "82ab9e90c5ec9eeb", "scanner": "scanner-primary", "fingerprint": "68a71e03aa80d033", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e59f2ed804781e45", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/hu-easel/web/src/components/views/terms/read/list/TermList.js:14"}, "properties": {"repobilityId": "3845833a6c2e88ad", "scanner": "scanner-primary", "fingerprint": "e59f2ed804781e45", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49c84c973631400d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/aws-docker-cdk/lib/aws-docker-cdk-stack.ts:39"}, "properties": {"repobilityId": "ac882206256a3aec", "scanner": "scanner-primary", "fingerprint": "49c84c973631400d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-35eb9166b66cc172", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ts-mc/infrastructure/lib/vpc.ts:17"}, "properties": {"repobilityId": "d6f41b5e3ae148f6", "scanner": "scanner-primary", "fingerprint": "35eb9166b66cc172", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-8e22b23383d3aa4e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ts-mc/infrastructure/lib/ses.ts:9"}, "properties": {"repobilityId": "97b00df3627227a4", "scanner": "scanner-primary", "fingerprint": "8e22b23383d3aa4e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-fef8188d11f45335", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ts-mc/infrastructure/lib/docker.ts:8"}, "properties": {"repobilityId": "21970cf5871aa309", "scanner": "scanner-primary", "fingerprint": "fef8188d11f45335", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-3f5a55ded6f1838c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/ts-mc/infrastructure/lib/forum/security-group.ts:4"}, "properties": {"repobilityId": "1f0634c61658dec2", "scanner": "scanner-primary", "fingerprint": "3f5a55ded6f1838c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4c2c1053497ab818", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/frontend/src/components/Chart.tsx:158"}, "properties": {"repobilityId": "61e81779c8eed063", "scanner": "scanner-primary", "fingerprint": "4c2c1053497ab818", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-10d2676a10d963b9", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/frontend/src/components/Leaderboard.tsx:148"}, "properties": {"repobilityId": "447bd11a80661a30", "scanner": "scanner-primary", "fingerprint": "10d2676a10d963b9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-1ecdc937e244beda", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/postmatch/internal.ts:31"}, "properties": {"repobilityId": "d5692f0641896aa7", "scanner": "scanner-primary", "fingerprint": "1ecdc937e244beda", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-3658b8b78230009d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/postmatch/internal.ts:114"}, "properties": {"repobilityId": "b7c2c09dbb272a68", "scanner": "scanner-primary", "fingerprint": "3658b8b78230009d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-80d88d0f251a47bf", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/leaderboard/index.test.ts:82"}, "properties": {"repobilityId": "be63fe8f290fcac0", "scanner": "scanner-primary", "fingerprint": "80d88d0f251a47bf", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-27e82b4e0d4df4e0", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/prematch/discord.ts:26"}, "properties": {"repobilityId": "4cab66f654003146", "scanner": "scanner-primary", "fingerprint": "27e82b4e0d4df4e0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6c8075be15758864", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/prematch/index.ts:22"}, "properties": {"repobilityId": "60a1b2e0cd4af5d3", "scanner": "scanner-primary", "fingerprint": "6c8075be15758864", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8dee586108595c71", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/league/model/rank.ts:48"}, "properties": {"repobilityId": "3aeae576b124e640", "scanner": "scanner-primary", "fingerprint": "8dee586108595c71", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-261e45b7810a54d1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/league/model/state.ts:10"}, "properties": {"repobilityId": "43c6852c47afb905", "scanner": "scanner-primary", "fingerprint": "261e45b7810a54d1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b7b5bda69a4ef769", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/customs/commands.ts:483"}, "properties": {"repobilityId": "64b23265a05ca458", "scanner": "scanner-primary", "fingerprint": "b7b5bda69a4ef769", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a180463850236866", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/discord/rest.ts:20"}, "properties": {"repobilityId": "375abd3bb25c5b68", "scanner": "scanner-primary", "fingerprint": "a180463850236866", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-267e4f2c47da3166", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/db/shim/database.ts:79"}, "properties": {"repobilityId": "0b74682e797d15ba", "scanner": "scanner-primary", "fingerprint": "267e4f2c47da3166", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-c6a7393b6cc7ac4c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/discord/packages/backend/src/music/commands.ts:345"}, "properties": {"repobilityId": "69f09b24c499f44f", "scanner": "scanner-primary", "fingerprint": "c6a7393b6cc7ac4c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-fa6ee17040a3b0ce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/discord/packages/backend/src/music/commands.ts:336"}, "properties": {"repobilityId": "84c45ac740f7b8da", "scanner": "scanner-primary", "fingerprint": "fa6ee17040a3b0ce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e0b9d06cc1c32455", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/instalike/like.js:36"}, "properties": {"repobilityId": "dea2257e3fe82387", "scanner": "scanner-primary", "fingerprint": "e0b9d06cc1c32455", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-225734b727e8a5be", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/instalike/index.js:36"}, "properties": {"repobilityId": "d2e036dfdfe1579b", "scanner": "scanner-primary", "fingerprint": "225734b727e8a5be", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-960fed8e0818810f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/the-button/api/src/server.js:17"}, "properties": {"repobilityId": "42b47b6162ad8800", "scanner": "scanner-primary", "fingerprint": "960fed8e0818810f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5fc2d0285b91b893", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/the-button/api/src/sockets.js:7"}, "properties": {"repobilityId": "c7bc3ffc347c72b2", "scanner": "scanner-primary", "fingerprint": "5fc2d0285b91b893", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7cd171fb0cca808d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/the-button/app/src/App.js:40"}, "properties": {"repobilityId": "0ad8ff9040c4a05f", "scanner": "scanner-primary", "fingerprint": "7cd171fb0cca808d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4de8bb9850db7086", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/the-button/web/src/server.js:10"}, "properties": {"repobilityId": "81fe6e0a96621b9c", "scanner": "scanner-primary", "fingerprint": "4de8bb9850db7086", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-12d596cd8f35dec5", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/the-button/web/src/components/Reward-Modal.vue:37"}, "properties": {"repobilityId": "967271cdb97bc8bf", "scanner": "scanner-primary", "fingerprint": "12d596cd8f35dec5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2414e256fd185388", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/the-button/web/src/store/modules/counter.js:7"}, "properties": {"repobilityId": "11fa7f038fb77c26", "scanner": "scanner-primary", "fingerprint": "2414e256fd185388", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-31029cada85e0ec8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/the-button/web/src/store/modules/counter.js:8"}, "properties": {"repobilityId": "a45978a253bacd07", "scanner": "scanner-primary", "fingerprint": "31029cada85e0ec8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ee50d0974c86162b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/skill-capped-discord-bot/lib/bot/notification/consoleNotifier.ts:18"}, "properties": {"repobilityId": "71cb5e240abbeb9b", "scanner": "scanner-primary", "fingerprint": "ee50d0974c86162b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-87408e6dd77079ed", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/rsi-hackathon-2016/src/main/resources/assets/js/people.js:9"}, "properties": {"repobilityId": "2472e4f4ca074e1d", "scanner": "scanner-primary", "fingerprint": "87408e6dd77079ed", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-747c64d7f686623d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/type-challenges/00020-medium-promise-all.ts:18"}, "properties": {"repobilityId": "d39de4ff9ea718ef", "scanner": "scanner-primary", "fingerprint": "747c64d7f686623d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-d45ad4a15fcf1e80", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/router/index.js:38"}, "properties": {"repobilityId": "dcc60dab8847a4c0", "scanner": "scanner-primary", "fingerprint": "d45ad4a15fcf1e80", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-bdfa424007053719", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/user-login.vue:77"}, "properties": {"repobilityId": "052ee5cfb9124bf7", "scanner": "scanner-primary", "fingerprint": "bdfa424007053719", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e521fc89d0de6bb7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/user-register.vue:129"}, "properties": {"repobilityId": "8a04033a3d2992c4", "scanner": "scanner-primary", "fingerprint": "e521fc89d0de6bb7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9310b3e462435d3c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/delete/delete-location.vue:77"}, "properties": {"repobilityId": "0006f567d7ec8e26", "scanner": "scanner-primary", "fingerprint": "9310b3e462435d3c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2a3e7c1d103a2311", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/delete/delete-activity.vue:77"}, "properties": {"repobilityId": "31c9738563a95360", "scanner": "scanner-primary", "fingerprint": "2a3e7c1d103a2311", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f351701697c9bbd7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/delete/delete-tag.vue:77"}, "properties": {"repobilityId": "f75cd0e0926ed6e0", "scanner": "scanner-primary", "fingerprint": "f351701697c9bbd7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-57c9bc600f4441b5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/delete/delete-type.vue:59"}, "properties": {"repobilityId": "164e51d3aaf3883b", "scanner": "scanner-primary", "fingerprint": "57c9bc600f4441b5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5dd2823443c6e75f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/create/create-activity.vue:168"}, "properties": {"repobilityId": "86eea507d1e8b625", "scanner": "scanner-primary", "fingerprint": "5dd2823443c6e75f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-513e3d666acd7711", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/create/create-type.vue:91"}, "properties": {"repobilityId": "1c16641bf4aa17f0", "scanner": "scanner-primary", "fingerprint": "513e3d666acd7711", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2b10b0d8b829d795", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/create/create-tag.vue:67"}, "properties": {"repobilityId": "d025750f81400ae4", "scanner": "scanner-primary", "fingerprint": "2b10b0d8b829d795", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cc90031f612dd930", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/create/create-location.vue:85"}, "properties": {"repobilityId": "2d1142c83715bea3", "scanner": "scanner-primary", "fingerprint": "cc90031f612dd930", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-47f62c32a005f263", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/edit/edit-activity.vue:186"}, "properties": {"repobilityId": "a0ee37b1dc6f4f4c", "scanner": "scanner-primary", "fingerprint": "47f62c32a005f263", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-529a1ebf91604405", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/edit/edit-tag.vue:85"}, "properties": {"repobilityId": "e2047f981edae2de", "scanner": "scanner-primary", "fingerprint": "529a1ebf91604405", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9982e5b053fbd93c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/edit/edit-type.vue:109"}, "properties": {"repobilityId": "396f763cb8f42780", "scanner": "scanner-primary", "fingerprint": "9982e5b053fbd93c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8ba6628c409af6ed", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/edit/edit-location.vue:103"}, "properties": {"repobilityId": "dd423168d4264417", "scanner": "scanner-primary", "fingerprint": "8ba6628c409af6ed", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ab86b014e201c9a1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/store/modules/activities.js:24"}, "properties": {"repobilityId": "f0b17f71be157430", "scanner": "scanner-primary", "fingerprint": "ab86b014e201c9a1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eaf64bb85c7409db", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/store/modules/locations.js:24"}, "properties": {"repobilityId": "6b35d253fef26318", "scanner": "scanner-primary", "fingerprint": "eaf64bb85c7409db", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-37f195bf6424070f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/store/modules/types.js:24"}, "properties": {"repobilityId": "f1f86485c421070d", "scanner": "scanner-primary", "fingerprint": "37f195bf6424070f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b691bb8e8699c5e7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/store/modules/tags.js:24"}, "properties": {"repobilityId": "236520f4560b36d7", "scanner": "scanner-primary", "fingerprint": "b691bb8e8699c5e7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa6dc97eddd51364", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/trip-sim/web/src/serviceWorker.ts:49"}, "properties": {"repobilityId": "183887ee451ad778", "scanner": "scanner-primary", "fingerprint": "aa6dc97eddd51364", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-32ee64efb4319c26", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/mira-hq/frontend/src/components/cards/ServerCard.tsx:31"}, "properties": {"repobilityId": "c69739b9bcff4414", "scanner": "scanner-primary", "fingerprint": "32ee64efb4319c26", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3b571a327dca2f3c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/mira-hq/backend/lib/auth.ts:55"}, "properties": {"repobilityId": "4e22638b293324a1", "scanner": "scanner-primary", "fingerprint": "3b571a327dca2f3c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d30cebe2b6ad1d29", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/mira-hq/backend/lib/index.ts:66"}, "properties": {"repobilityId": "6ddcc1bd32bf5793", "scanner": "scanner-primary", "fingerprint": "d30cebe2b6ad1d29", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b11742c7fa68dc1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/archive/mira-hq/backend/lib/datastore/dynamodb-datastore.ts:27"}, "properties": {"repobilityId": "b2bc9f1a31b92798", "scanner": "scanner-primary", "fingerprint": "1b11742c7fa68dc1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-879fc4c3385d0697", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/archive/push-pal/packages/frontend/src/pages/Home.tsx:7"}, "properties": {"repobilityId": "66e4f7dd5f60398e", "scanner": "scanner-primary", "fingerprint": "879fc4c3385d0697", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-442dbf3de4671369", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/scripts/verify-e2e.ts:176"}, "properties": {"repobilityId": "b42e017fc065f350", "scanner": "scanner-primary", "fingerprint": "442dbf3de4671369", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-85f5f5ea6f7e9253", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/scripts/check-queue.ts:12"}, "properties": {"repobilityId": "e3389c8cff4a6624", "scanner": "scanner-primary", "fingerprint": "85f5f5ea6f7e9253", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f07754c20b8469f6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/scripts/test-sdk.ts:43"}, "properties": {"repobilityId": "e3b451c7e63c8eba", "scanner": "scanner-primary", "fingerprint": "f07754c20b8469f6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2c4c280c62f3f71c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/scripts/test-webhook.ts:41"}, "properties": {"repobilityId": "c2c35470af49742b", "scanner": "scanner-primary", "fingerprint": "2c4c280c62f3f71c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-18e729310d2490e2", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 sandbox/poc/sentinel/web/src/pages/conversation.tsx:160"}, "properties": {"repobilityId": "5c7b3bf57430fdd5", "scanner": "scanner-primary", "fingerprint": "18e729310d2490e2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-90c654272ef8da6e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/sentinel/src/observability/sentry.ts:14"}, "properties": {"repobilityId": "29d66fa9c282c296", "scanner": "scanner-primary", "fingerprint": "90c654272ef8da6e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-82ae88a0d3d579fd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/index.ts:9"}, "properties": {"repobilityId": "648f202753290dbe", "scanner": "scanner-primary", "fingerprint": "82ae88a0d3d579fd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b9de67b73f7fe09c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/questions/generate.ts:102"}, "properties": {"repobilityId": "316b81d2c6a9137e", "scanner": "scanner-primary", "fingerprint": "b9de67b73f7fe09c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5903fa494f4db174", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/system-design/start.ts:148"}, "properties": {"repobilityId": "08b47b9654ef5e08", "scanner": "scanner-primary", "fingerprint": "5903fa494f4db174", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1a8b86e4f76db068", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/system-design/tools.ts:172"}, "properties": {"repobilityId": "31c9e23fe2a4a3cd", "scanner": "scanner-primary", "fingerprint": "1a8b86e4f76db068", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-51c65bfab7ebd471", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/resume.ts:112"}, "properties": {"repobilityId": "79ee999842db246a", "scanner": "scanner-primary", "fingerprint": "51c65bfab7ebd471", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-382adeda68e176ba", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/history.ts:10"}, "properties": {"repobilityId": "cbf97ba9fb8f610e", "scanner": "scanner-primary", "fingerprint": "382adeda68e176ba", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-020607ed9e1c38ca", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/interview-loop.ts:40"}, "properties": {"repobilityId": "ba8a1ac30662b03d", "scanner": "scanner-primary", "fingerprint": "020607ed9e1c38ca", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f70d6d23e7b12d7c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/start.ts:103"}, "properties": {"repobilityId": "0529d1d4603c3f52", "scanner": "scanner-primary", "fingerprint": "f70d6d23e7b12d7c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d08f4477ea39ab30", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/commands/leetcode/voice.ts:64"}, "properties": {"repobilityId": "967c702c2299af81", "scanner": "scanner-primary", "fingerprint": "d08f4477ea39ab30", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e02f72e1a76aca69", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/poc/interview-practice/src/lib/questions/starter-code.ts:137"}, "properties": {"repobilityId": "dd8e427c1123f9f9", "scanner": "scanner-primary", "fingerprint": "e02f72e1a76aca69", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-02a0b8b1abe70802", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/lib/input/prompt.ts:47"}, "properties": {"repobilityId": "0d94a1a7961e6300", "scanner": "scanner-primary", "fingerprint": "02a0b8b1abe70802", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eccdf6b93d09b9d2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/lib/testing/runner.ts:50"}, "properties": {"repobilityId": "9efd4eb08eabbf94", "scanner": "scanner-primary", "fingerprint": "eccdf6b93d09b9d2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7ac4198c92008218", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/poc/interview-practice/src/handlers/questions.ts:48"}, "properties": {"repobilityId": "85cb478c26629851", "scanner": "scanner-primary", "fingerprint": "7ac4198c92008218", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-85c10aeff034ec19", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/practice/claude-web/frontend/src/hooks/useWebSocket.ts:79"}, "properties": {"repobilityId": "186a082a5e9a201c", "scanner": "scanner-primary", "fingerprint": "85c10aeff034ec19", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ccf3a1df7efec978", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/practice/claude-web/docker/agent-bridge/index.js:128"}, "properties": {"repobilityId": "49ccfc7bf0b8b768", "scanner": "scanner-primary", "fingerprint": "ccf3a1df7efec978", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-344e51f600e3b663", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 sandbox/practice/claude-web/src/docker/manager.ts:61"}, "properties": {"repobilityId": "4dc3a503f7127283", "scanner": "scanner-primary", "fingerprint": "344e51f600e3b663", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6ffefd073845dfa8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/practice/a2ui-poc/src/index.ts:15"}, "properties": {"repobilityId": "a31bf1856d7276aa", "scanner": "scanner-primary", "fingerprint": "6ffefd073845dfa8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a8b8b99502743950", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/practice/advent-of-code/2024/Day0/main.ts:7"}, "properties": {"repobilityId": "eed37f8795ab85cb", "scanner": "scanner-primary", "fingerprint": "a8b8b99502743950", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b8ffe1e848356e91", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/practice/advent-of-code/2023/Day1/index.ts:14"}, "properties": {"repobilityId": "b6820b8bf7d53aa8", "scanner": "scanner-primary", "fingerprint": "b8ffe1e848356e91", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cd35eb87eb05fbfa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/practice/vscode-extension/esbuild.js:14"}, "properties": {"repobilityId": "3516a3187b33182c", "scanner": "scanner-primary", "fingerprint": "cd35eb87eb05fbfa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e7026e8a761b3e2a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sandbox/practice/vscode-extension/src/extension.ts:10"}, "properties": {"repobilityId": "be797b39cc5f9338", "scanner": "scanner-primary", "fingerprint": "e7026e8a761b3e2a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-87091a76abd6ffaf", "level": "warning", "message": {"text": "Privileged port 256 in use"}, "properties": {"repobilityId": "0ec1f2d0c9e6da94", "scanner": "scanner-primary", "fingerprint": "87091a76abd6ffaf", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/observability/local-stack/docker-compose.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-36193f5291ff4981", "level": "warning", "message": {"text": "Privileged port 191 in use"}, "properties": {"repobilityId": "795a9f7013a4ba0e", "scanner": "scanner-primary", "fingerprint": "36193f5291ff4981", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/observability/local-stack/docker-compose.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7e08cf3391fde0b9", "level": "warning", "message": {"text": "Privileged port 69 in use"}, "properties": {"repobilityId": "1effa2e6319f4133", "scanner": "scanner-primary", "fingerprint": "7e08cf3391fde0b9", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/llm-observability/test/e2e/compose.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bb19ce7f92227cc8", "level": "warning", "message": {"text": "Privileged port 15 in use"}, "properties": {"repobilityId": "3340f9a170f285cd", "scanner": "scanner-primary", "fingerprint": "bb19ce7f92227cc8", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/DiscordSRV/messages.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9ddff490da4c1800", "level": "warning", "message": {"text": "Privileged port 30 in use"}, "properties": {"repobilityId": "54f172e7d16fc662", "scanner": "scanner-primary", "fingerprint": "9ddff490da4c1800", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/DiscordSRV/messages.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d9745e7b0d077aaf", "level": "warning", "message": {"text": "Privileged port 24 in use"}, "properties": {"repobilityId": "a6356ba91a17fcb8", "scanner": "scanner-primary", "fingerprint": "d9745e7b0d077aaf", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/DynamicShop/Lang_V3_ko-KR.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b6e7a148484f40cb", "level": "warning", "message": {"text": "Privileged port 11 in use"}, "properties": {"repobilityId": "5b3038c67fabb4c8", "scanner": "scanner-primary", "fingerprint": "b6e7a148484f40cb", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/DynamicShop/Worth_V2.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb4f701a30cf8224", "level": "warning", "message": {"text": "Privileged port 132 in use"}, "properties": {"repobilityId": "1cd75dd9499ab8d9", "scanner": "scanner-primary", "fingerprint": "cb4f701a30cf8224", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/DynamicShop/Worth_V2.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e32c1912ddcc006a", "level": "warning", "message": {"text": "Privileged port 13 in use"}, "properties": {"repobilityId": "79d721e4d6f64798", "scanner": "scanner-primary", "fingerprint": "e32c1912ddcc006a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/DynamicShop/Worth_V2.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-20e68c87da64b505", "level": "warning", "message": {"text": "Privileged port 18 in use"}, "properties": {"repobilityId": "2d7b5e7d9c158e43", "scanner": "scanner-primary", "fingerprint": "20e68c87da64b505", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/advanced.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-df08ca49df20b97e", "level": "warning", "message": {"text": "Privileged port 10 in use"}, "properties": {"repobilityId": "735372d6b5594915", "scanner": "scanner-primary", "fingerprint": "df08ca49df20b97e", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/advanced.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-188b3515a436b411", "level": "warning", "message": {"text": "Privileged port 19 in use"}, "properties": {"repobilityId": "a6b5b06deac36eac", "scanner": "scanner-primary", "fingerprint": "188b3515a436b411", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/advanced.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f4ade664054a166c", "level": "warning", "message": {"text": "Privileged port 12 in use"}, "properties": {"repobilityId": "65e7eefa33f2def4", "scanner": "scanner-primary", "fingerprint": "f4ade664054a166c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/advanced.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b7d0015516441f92", "level": "warning", "message": {"text": "Privileged port 20 in use"}, "properties": {"repobilityId": "a59f3e53d617e0f8", "scanner": "scanner-primary", "fingerprint": "b7d0015516441f92", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/advanced.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5abb5208cd8ff663", "level": "warning", "message": {"text": "Privileged port 1000 in use"}, "properties": {"repobilityId": "5ac9fc9372cfe169", "scanner": "scanner-primary", "fingerprint": "5abb5208cd8ff663", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-112b7f6db089e514", "level": "warning", "message": {"text": "Privileged port 50 in use"}, "properties": {"repobilityId": "da61f654c07ea7a9", "scanner": "scanner-primary", "fingerprint": "112b7f6db089e514", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-387522196fd1bd64", "level": "warning", "message": {"text": "Privileged port 55 in use"}, "properties": {"repobilityId": "51a768b3e1831ac0", "scanner": "scanner-primary", "fingerprint": "387522196fd1bd64", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4f7cd8c06ffb2928", "level": "warning", "message": {"text": "Privileged port 60 in use"}, "properties": {"repobilityId": "f4424efab727024f", "scanner": "scanner-primary", "fingerprint": "4f7cd8c06ffb2928", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e0a8ee4b2aa282fa", "level": "warning", "message": {"text": "Privileged port 65 in use"}, "properties": {"repobilityId": "91f4542de5d09e32", "scanner": "scanner-primary", "fingerprint": "e0a8ee4b2aa282fa", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-da231ce745c44327", "level": "warning", "message": {"text": "Privileged port 14 in use"}, "properties": {"repobilityId": "2dbd4b719a1412ff", "scanner": "scanner-primary", "fingerprint": "da231ce745c44327", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-af47da67d063098f", "level": "warning", "message": {"text": "Privileged port 70 in use"}, "properties": {"repobilityId": "353d31c086b0a24a", "scanner": "scanner-primary", "fingerprint": "af47da67d063098f", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7f5f18170a3d6a3f", "level": "warning", "message": {"text": "Privileged port 75 in use"}, "properties": {"repobilityId": "d378eb1c9eebd8b0", "scanner": "scanner-primary", "fingerprint": "7f5f18170a3d6a3f", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e927ab5a1c28de78", "level": "warning", "message": {"text": "Privileged port 16 in use"}, "properties": {"repobilityId": "d31009168c502ace", "scanner": "scanner-primary", "fingerprint": "e927ab5a1c28de78", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7807b0af6762f71c", "level": "warning", "message": {"text": "Privileged port 17 in use"}, "properties": {"repobilityId": "0bf38fb8f89ec589", "scanner": "scanner-primary", "fingerprint": "7807b0af6762f71c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d546390dedd3ba3a", "level": "warning", "message": {"text": "Privileged port 85 in use"}, "properties": {"repobilityId": "6e23398b0a81d421", "scanner": "scanner-primary", "fingerprint": "d546390dedd3ba3a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0eac046b17abc49f", "level": "warning", "message": {"text": "Privileged port 90 in use"}, "properties": {"repobilityId": "3c0b21a827c3d75d", "scanner": "scanner-primary", "fingerprint": "0eac046b17abc49f", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c85f3441e55fd266", "level": "warning", "message": {"text": "Privileged port 95 in use"}, "properties": {"repobilityId": "860dd1b02ecc695b", "scanner": "scanner-primary", "fingerprint": "c85f3441e55fd266", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2e3bb935841e3674", "level": "warning", "message": {"text": "Privileged port 550 in use"}, "properties": {"repobilityId": "4052e6ff860466b1", "scanner": "scanner-primary", "fingerprint": "2e3bb935841e3674", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0fa9c01f4b7d5771", "level": "warning", "message": {"text": "Privileged port 600 in use"}, "properties": {"repobilityId": "bf14615725bcff0a", "scanner": "scanner-primary", "fingerprint": "0fa9c01f4b7d5771", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e73a0e0fe054144a", "level": "warning", "message": {"text": "Privileged port 650 in use"}, "properties": {"repobilityId": "539c2d6c07b83f3a", "scanner": "scanner-primary", "fingerprint": "e73a0e0fe054144a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-edc9251101350c26", "level": "warning", "message": {"text": "Privileged port 700 in use"}, "properties": {"repobilityId": "3cfa060ad2b8fefc", "scanner": "scanner-primary", "fingerprint": "edc9251101350c26", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-74cdf349613c3c11", "level": "warning", "message": {"text": "Privileged port 750 in use"}, "properties": {"repobilityId": "76c737e683b434ba", "scanner": "scanner-primary", "fingerprint": "74cdf349613c3c11", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8aa904cea7ad3b09", "level": "warning", "message": {"text": "Privileged port 800 in use"}, "properties": {"repobilityId": "44d4dae1c94a9aca", "scanner": "scanner-primary", "fingerprint": "8aa904cea7ad3b09", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3574c98619a3f01b", "level": "warning", "message": {"text": "Privileged port 850 in use"}, "properties": {"repobilityId": "7da8705c02e5c45d", "scanner": "scanner-primary", "fingerprint": "3574c98619a3f01b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9ba4be3b94610397", "level": "warning", "message": {"text": "Privileged port 900 in use"}, "properties": {"repobilityId": "454015867df75177", "scanner": "scanner-primary", "fingerprint": "9ba4be3b94610397", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5db309bdd5701657", "level": "warning", "message": {"text": "Privileged port 950 in use"}, "properties": {"repobilityId": "6df7bdae275c93a7", "scanner": "scanner-primary", "fingerprint": "5db309bdd5701657", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-tsmc/plugins/mcMMO/skillranks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-af7714c94fa0eb6e", "level": "warning", "message": {"text": "Privileged port 999 in use"}, "properties": {"repobilityId": "f3d0a20a459426b3", "scanner": "scanner-primary", "fingerprint": "af7714c94fa0eb6e", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/minecraft-shuxin/plugins/LevelledMobs/rules.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dee258b678ca986a", "level": "warning", "message": {"text": "Privileged port 23 in use"}, "properties": {"repobilityId": "a1230e3dfc4becfa", "scanner": "scanner-primary", "fingerprint": "dee258b678ca986a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/config/homeassistant/configuration.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-800ae5dabc063653", "level": "warning", "message": {"text": "Privileged port 27 in use"}, "properties": {"repobilityId": "69cb2b980eb576a0", "scanner": "scanner-primary", "fingerprint": "800ae5dabc063653", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/src/resources/monitoring/scripts/zfs_zpool.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-523b0d5df0f4e44d", "level": "warning", "message": {"text": "Privileged port 29 in use"}, "properties": {"repobilityId": "f09242400239b5a3", "scanner": "scanner-primary", "fingerprint": "523b0d5df0f4e44d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/src/resources/monitoring/scripts/zfs_zpool.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a43090ad77c41d0f", "level": "warning", "message": {"text": "Privileged port 40 in use"}, "properties": {"repobilityId": "28c59d470d4929c6", "scanner": "scanner-primary", "fingerprint": "a43090ad77c41d0f", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/talos/patches/image.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-61f467d1790b8fae", "level": "warning", "message": {"text": "Dockerfile runs as root: .buildkite/ci-image/Dockerfile"}, "properties": {"repobilityId": "2e01782415a383cb", "scanner": "scanner-primary", "fingerprint": "61f467d1790b8fae", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-4bfe823fef4633ef", "level": "error", "message": {"text": "Dockerfile pipes a remote installer into a shell"}, "properties": {"repobilityId": "2e574fdf378a8a01", "scanner": "scanner-primary", "fingerprint": "4bfe823fef4633ef", "layer": "hardware", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "docker", "remote-installer"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".buildkite/ci-image/Dockerfile"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-bbac9aee05b09d99", "level": "warning", "message": {"text": "Dockerfile runs as root: packages/scout-for-lol/.cursor/Dockerfile"}, "properties": {"repobilityId": "b92c57846678f691", "scanner": "scanner-primary", "fingerprint": "bbac9aee05b09d99", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-be0447c7359a102d", "level": "warning", "message": {"text": "Dockerfile runs as root: packages/discord-plays-mario-kart/Dockerfile"}, "properties": {"repobilityId": "7521e5a814d711db", "scanner": "scanner-primary", "fingerprint": "be0447c7359a102d", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-a661e6ec1a3b3d69", "level": "warning", "message": {"text": "Dockerfile runs as root: packages/homelab/.cursor/Dockerfile"}, "properties": {"repobilityId": "855500261cc541f0", "scanner": "scanner-primary", "fingerprint": "a661e6ec1a3b3d69", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-d5145f36f2ff286a", "level": "warning", "message": {"text": "Dockerfile runs as root: packages/discord-plays-pokemon/Dockerfile"}, "properties": {"repobilityId": "a80c2e2b9944ff25", "scanner": "scanner-primary", "fingerprint": "d5145f36f2ff286a", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-0493c63a106540e5", "level": "warning", "message": {"text": "Dockerfile runs as root: packages/dotfiles/Dockerfile"}, "properties": {"repobilityId": "db9d58c592162976", "scanner": "scanner-primary", "fingerprint": "0493c63a106540e5", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-e1d18ddae0d7b944", "level": "warning", "message": {"text": "Dockerfile runs as root: packages/dotfiles/.cursor/Dockerfile"}, "properties": {"repobilityId": "660140997eb69b26", "scanner": "scanner-primary", "fingerprint": "e1d18ddae0d7b944", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-2aeca0527c8174c2", "level": "warning", "message": {"text": "Dockerfile runs as root: sandbox/archive/herd/api/Dockerfile"}, "properties": {"repobilityId": "22fb819e7f157a0c", "scanner": "scanner-primary", "fingerprint": "2aeca0527c8174c2", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-fa1cae4e1cc9f5cc", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:10"}, "properties": {"repobilityId": "c164071845f58c1b", "scanner": "scanner-primary", "fingerprint": "fa1cae4e1cc9f5cc", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/herd/api/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8163b5da78692946", "level": "warning", "message": {"text": "Dockerfile runs as root: sandbox/archive/herd/web/Dockerfile"}, "properties": {"repobilityId": "5385e15b5944877b", "scanner": "scanner-primary", "fingerprint": "8163b5da78692946", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-2b5a7b635be55389", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:10"}, "properties": {"repobilityId": "d3e560cc38527095", "scanner": "scanner-primary", "fingerprint": "2b5a7b635be55389", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/herd/web/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bd97a9df2e3280c2", "level": "warning", "message": {"text": "Dockerfile runs as root: sandbox/archive/gpt-2-simple-sagemaker-container/Dockerfile"}, "properties": {"repobilityId": "6cb90a562e629f34", "scanner": "scanner-primary", "fingerprint": "bd97a9df2e3280c2", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-b3c1eab06a10a955", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: intelaipg/intel-optimized-tensorflow:1.15.2-py3"}, "properties": {"repobilityId": "78bc4736fd463668", "scanner": "scanner-primary", "fingerprint": "b3c1eab06a10a955", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/gpt-2-simple-sagemaker-container/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ecf0e9393c6a6981", "level": "warning", "message": {"text": "Dockerfile runs as root: sandbox/archive/gpt-2/Dockerfile"}, "properties": {"repobilityId": "a7a1079968cdf696", "scanner": "scanner-primary", "fingerprint": "ecf0e9393c6a6981", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-1301f3107c333804", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: tensorflow/tensorflow:1.15.2-py3"}, "properties": {"repobilityId": "7af254bfc3b45bac", "scanner": "scanner-primary", "fingerprint": "1301f3107c333804", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/gpt-2/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-97c41143b2b146dc", "level": "warning", "message": {"text": "Dockerfile runs as root: sandbox/archive/skill-capped-discord-bot/Dockerfile"}, "properties": {"repobilityId": "04150a9a44dbccec", "scanner": "scanner-primary", "fingerprint": "97c41143b2b146dc", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-10ec2dfa0da124ad", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:lts-bullseye"}, "properties": {"repobilityId": "130ed677f2db86be", "scanner": "scanner-primary", "fingerprint": "10ec2dfa0da124ad", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/skill-capped-discord-bot/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0d45bde078c4bc89", "level": "error", "message": {"text": "Runtime dotenv file present in repo: packages/homelab/src/tofu/.env"}, "properties": {"repobilityId": "c00b22122aed5526", "scanner": "scanner-primary", "fingerprint": "0d45bde078c4bc89", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env", "env_file_with_secret"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/tofu/.env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e042940deede3936", "level": "error", "message": {"text": "Runtime dotenv file present in repo: sandbox/archive/herd/web/.env.development"}, "properties": {"repobilityId": "618322f276f3e731", "scanner": "scanner-primary", "fingerprint": "e042940deede3936", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/herd/web/.env.development"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3eeebff6b3321eae", "level": "error", "message": {"text": "Runtime dotenv file present in repo: sandbox/archive/herd/web/.env.production"}, "properties": {"repobilityId": "a20a2d4916387a9a", "scanner": "scanner-primary", "fingerprint": "3eeebff6b3321eae", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/herd/web/.env.production"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d23652f8fea542a0", "level": "error", "message": {"text": "Runtime dotenv file present in repo: sandbox/archive/hu-easel/web/.env.production"}, "properties": {"repobilityId": "4d9875426672f773", "scanner": "scanner-primary", "fingerprint": "d23652f8fea542a0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/hu-easel/web/.env.production"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-30817060fda74b60", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/check-line-endings.ts:22"}, "properties": {"repobilityId": "db779c1714e0c1b4", "scanner": "scanner-primary", "fingerprint": "30817060fda74b60", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/check-line-endings.ts"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-52920c377530e606", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/bench_remote_profile.py:49"}, "properties": {"repobilityId": "3981d8ac970a7c7b", "scanner": "scanner-primary", "fingerprint": "52920c377530e606", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/bench_remote_profile.py"}, "region": {"startLine": 49}}}]}, {"ruleId": "scanner-fa702a429b233098", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/bench_remote_setup.py:32"}, "properties": {"repobilityId": "c41491bc118425b0", "scanner": "scanner-primary", "fingerprint": "fa702a429b233098", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/bench_remote_setup.py"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-154c76b2601101c0", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/check-bun-lock-drift.ts:46"}, "properties": {"repobilityId": "7fc6a8ece7af975d", "scanner": "scanner-primary", "fingerprint": "154c76b2601101c0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/check-bun-lock-drift.ts"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-5e96da85818a25a3", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/ci/src/change-detection.ts:13"}, "properties": {"repobilityId": "897734a13fcb646f", "scanner": "scanner-primary", "fingerprint": "5e96da85818a25a3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/ci/src/change-detection.ts"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-88f02b26715dd820", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/ci/src/__tests__/dagger-hygiene.test.ts:2"}, "properties": {"repobilityId": "c37c8534b180e2be", "scanner": "scanner-primary", "fingerprint": "88f02b26715dd820", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/ci/src/__tests__/dagger-hygiene.test.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-cb4026422e1c6c70", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/ci/src/__tests__/validate-catalog.test.ts:15"}, "properties": {"repobilityId": "5df2e63310f7295f", "scanner": "scanner-primary", "fingerprint": "cb4026422e1c6c70", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/ci/src/__tests__/validate-catalog.test.ts"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-17e8eadc5930e91a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/ci/src/lib/validate-catalog.ts:7"}, "properties": {"repobilityId": "b298ad15c721a12d", "scanner": "scanner-primary", "fingerprint": "17e8eadc5930e91a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/ci/src/lib/validate-catalog.ts"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-4bdd4b5c36d5c21b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/ci/src/lib/k8s-plugin.ts:4"}, "properties": {"repobilityId": "ecb796b987635cea", "scanner": "scanner-primary", "fingerprint": "4bdd4b5c36d5c21b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/ci/src/lib/k8s-plugin.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-a1b12472f4acab55", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in packages/scout-for-lol/packages/frontend/src/components/report-ui/app.tsx:114"}, "properties": {"repobilityId": "c1bdd3160b53b076", "scanner": "scanner-primary", "fingerprint": "a1b12472f4acab55", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/scout-for-lol/packages/frontend/src/components/report-ui/app.tsx"}, "region": {"startLine": 114}}}]}, {"ruleId": "scanner-545e87b161a24022", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/eslint-config/src/rules/shared/tool-runner.ts:10"}, "properties": {"repobilityId": "b2d2457500c3895a", "scanner": "scanner-primary", "fingerprint": "545e87b161a24022", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/eslint-config/src/rules/shared/tool-runner.ts"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-adc3d541db24a412", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/toolkit/src/commands/discord/daemon.ts:1"}, "properties": {"repobilityId": "f1428940c6be07c4", "scanner": "scanner-primary", "fingerprint": "adc3d541db24a412", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/toolkit/src/commands/discord/daemon.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5bc3d5bf2c3c2824", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/temporal/scripts/inject-eval-regression.ts:36"}, "properties": {"repobilityId": "e29459dc7dcb0533", "scanner": "scanner-primary", "fingerprint": "5bc3d5bf2c3c2824", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/temporal/scripts/inject-eval-regression.ts"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-dcaa9df4e32562fe", "level": "error", "message": {"text": "Insecure pattern 'private_key_in_repo' in packages/temporal/src/lib/github-app-token.test.ts:55"}, "properties": {"repobilityId": "be9bc8baae107d6c", "scanner": "scanner-primary", "fingerprint": "dcaa9df4e32562fe", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["owasp", "private_key_in_repo"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/temporal/src/lib/github-app-token.test.ts"}, "region": {"startLine": 55}}}]}, {"ruleId": "scanner-4cc4cff7cc17aabf", "level": "error", "message": {"text": "Possible secret in packages/temporal/src/activities/fetcher.ts"}, "properties": {"repobilityId": "94cb560d04cff154", "scanner": "scanner-primary", "fingerprint": "4cc4cff7cc17aabf", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/temporal/src/activities/fetcher.ts"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-13f7af829ebb7d49", "level": "error", "message": {"text": "Insecure pattern 'private_key_in_repo' in packages/temporal/src/activities/agent-task.test.ts:33"}, "properties": {"repobilityId": "fdf59fd08ffc47b3", "scanner": "scanner-primary", "fingerprint": "13f7af829ebb7d49", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["owasp", "private_key_in_repo"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/temporal/src/activities/agent-task.test.ts"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-5b348d9dfba5346c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-audio.ts:30"}, "properties": {"repobilityId": "0e53e90377069790", "scanner": "scanner-primary", "fingerprint": "5b348d9dfba5346c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/discord-plays-mario-kart/packages/backend/scripts/e2e-audio.ts"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-75c4731973143168", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/discord-plays-mario-kart/packages/backend/src/webserver/socket.ts:30"}, "properties": {"repobilityId": "edd6c239623108b5", "scanner": "scanner-primary", "fingerprint": "75c4731973143168", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/discord-plays-mario-kart/packages/backend/src/webserver/socket.ts"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-a7edc130a10b9894", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/discord-plays-mario-kart/packages/backend/src/webserver/express.ts:21"}, "properties": {"repobilityId": "a84497ff8310fcdd", "scanner": "scanner-primary", "fingerprint": "a7edc130a10b9894", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/discord-plays-mario-kart/packages/backend/src/webserver/express.ts"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-35cd5909161120d1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/homelab/AGENTS.md:77"}, "properties": {"repobilityId": "f72fbd561a93a671", "scanner": "scanner-primary", "fingerprint": "35cd5909161120d1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/AGENTS.md"}, "region": {"startLine": 77}}}]}, {"ruleId": "scanner-f12682e717b6b611", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/homelab/scripts/test-helm.ts:4"}, "properties": {"repobilityId": "a68970cc0208a102", "scanner": "scanner-primary", "fingerprint": "f12682e717b6b611", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/scripts/test-helm.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-3fa4c77a6f2627e4", "level": "error", "message": {"text": "Possible secret in packages/homelab/src/cdk8s/src/resources/argo-applications/grafana-values.ts"}, "properties": {"repobilityId": "a36f04e503a56f9d", "scanner": "scanner-primary", "fingerprint": "3fa4c77a6f2627e4", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/src/cdk8s/src/resources/argo-applications/grafana-values.ts"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-e228c0c41de39015", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/birmel/src/agent-tools/tools/automation/test-setup.ts:8"}, "properties": {"repobilityId": "1e43187959b36074", "scanner": "scanner-primary", "fingerprint": "e228c0c41de39015", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/birmel/src/agent-tools/tools/automation/test-setup.ts"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-b227d8c916e1c0e5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/discord-plays-pokemon/packages/backend/src/stream/audio-transport.test.ts:22"}, "properties": {"repobilityId": "d97045deaae9f21b", "scanner": "scanner-primary", "fingerprint": "b227d8c916e1c0e5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/discord-plays-pokemon/packages/backend/src/stream/audio-transport.test.ts"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-616b51f55495d8a3", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/discord-plays-pokemon/packages/backend/src/webserver/socket.ts:24"}, "properties": {"repobilityId": "94705c34a0e114fb", "scanner": "scanner-primary", "fingerprint": "616b51f55495d8a3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/discord-plays-pokemon/packages/backend/src/webserver/socket.ts"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-75e08a1ae2e3e9ed", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/discord-plays-pokemon/packages/backend/src/webserver/express.ts:21"}, "properties": {"repobilityId": "9d8e54388c74f424", "scanner": "scanner-primary", "fingerprint": "75e08a1ae2e3e9ed", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/discord-plays-pokemon/packages/backend/src/webserver/express.ts"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-d993c92e4a31d872", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/discord-video-stream/src/media/newApi.ts:2"}, "properties": {"repobilityId": "ad44cc32856a4ed8", "scanner": "scanner-primary", "fingerprint": "d993c92e4a31d872", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/discord-video-stream/src/media/newApi.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-f1b94d8159969de5", "level": "error", "message": {"text": "Possible secret in packages/dotfiles/dot_agents/skills/typescript-helper/SKILL.md"}, "properties": {"repobilityId": "4d32c2e2e52adea0", "scanner": "scanner-primary", "fingerprint": "f1b94d8159969de5", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/typescript-helper/SKILL.md"}, "region": {"startLine": 628}}}]}, {"ruleId": "scanner-128341aec1c10101", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/dotfiles/dot_agents/skills/bun-runtime-best-practices/SKILL.md:132"}, "properties": {"repobilityId": "c377a236af251897", "scanner": "scanner-primary", "fingerprint": "128341aec1c10101", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/bun-runtime-best-practices/SKILL.md"}, "region": {"startLine": 132}}}]}, {"ruleId": "scanner-0dddf8b3fdc78c9f", "level": "error", "message": {"text": "Possible secret in packages/dotfiles/dot_agents/skills/hono-helper/SKILL.md"}, "properties": {"repobilityId": "2ae67319adea6493", "scanner": "scanner-primary", "fingerprint": "0dddf8b3fdc78c9f", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/hono-helper/SKILL.md"}, "region": {"startLine": 348}}}]}, {"ruleId": "scanner-85b99e6ef067297d", "level": "error", "message": {"text": "Possible secret in packages/dotfiles/dot_agents/skills/vite-react-helper/SKILL.md"}, "properties": {"repobilityId": "10b47759b4fcc682", "scanner": "scanner-primary", "fingerprint": "85b99e6ef067297d", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/vite-react-helper/SKILL.md"}, "region": {"startLine": 775}}}]}, {"ruleId": "scanner-8cd10be14d652574", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/tasks-for-obsidian/scripts/check-ios-native-deps.ts:1"}, "properties": {"repobilityId": "14de008ec9947b05", "scanner": "scanner-primary", "fingerprint": "8cd10be14d652574", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/tasks-for-obsidian/scripts/check-ios-native-deps.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e1bf75e31ecc6359", "level": "error", "message": {"text": "Possible secret in sandbox/archive/herd/web/src/components/authentication/login/LoginForm.js"}, "properties": {"repobilityId": "22d0f865b67a35da", "scanner": "scanner-primary", "fingerprint": "e1bf75e31ecc6359", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/herd/web/src/components/authentication/login/LoginForm.js"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-4d3a2154e2c265b3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in sandbox/archive/harding-christmas/app.js:25"}, "properties": {"repobilityId": "ea30891bb8956a78", "scanner": "scanner-primary", "fingerprint": "4d3a2154e2c265b3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/harding-christmas/app.js"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-bfc972742cb63d9e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-web/src/app/app.ts:18"}, "properties": {"repobilityId": "703b7a5b6ccc3ef6", "scanner": "scanner-primary", "fingerprint": "bfc972742cb63d9e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-web/src/app/app.ts"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-d3b0ed2dbe3db016", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-web/src/net/client.ts:28"}, "properties": {"repobilityId": "79af6df737556bc5", "scanner": "scanner-primary", "fingerprint": "d3b0ed2dbe3db016", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-web/src/net/client.ts"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-042c356f84269344", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in sandbox/archive/easely/api/src/main/java/com/shepherdjerred/easely/api/Main.java:86"}, "properties": {"repobilityId": "7a177ee6440a2097", "scanner": "scanner-primary", "fingerprint": "042c356f84269344", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/easely/api/src/main/java/com/shepherdjerred/easely/api/Main.java"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-0d7000387965cc84", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/easely/web/src/components/user/user-login.vue:77"}, "properties": {"repobilityId": "3d1a24de149bae84", "scanner": "scanner-primary", "fingerprint": "0d7000387965cc84", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/easely/web/src/components/user/user-login.vue"}, "region": {"startLine": 77}}}]}, {"ruleId": "scanner-89f7bca485fcc459", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/easely/web/src/components/user/user-register.vue:163"}, "properties": {"repobilityId": "a8c571db5f6c44c6", "scanner": "scanner-primary", "fingerprint": "89f7bca485fcc459", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/easely/web/src/components/user/user-register.vue"}, "region": {"startLine": 163}}}]}, {"ruleId": "scanner-9b9e8fcd35a176b1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in sandbox/archive/raspastat/web/src/main/resources/assets/js/main.js:4"}, "properties": {"repobilityId": "b843eb3c9e0ddc68", "scanner": "scanner-primary", "fingerprint": "9b9e8fcd35a176b1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/raspastat/web/src/main/resources/assets/js/main.js"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-8b005f7de2c02a7c", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in sandbox/archive/discord/packages/backend/src/db/shim/database.ts:171"}, "properties": {"repobilityId": "be7b3da73040b467", "scanner": "scanner-primary", "fingerprint": "8b005f7de2c02a7c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/discord/packages/backend/src/db/shim/database.ts"}, "region": {"startLine": 171}}}]}, {"ruleId": "scanner-4a4fdd4969fa3031", "level": "error", "message": {"text": "Possible secret in sandbox/archive/ansible-playbook/roles/user/tasks/main.yml"}, "properties": {"repobilityId": "bece8e6a0f366880", "scanner": "scanner-primary", "fingerprint": "4a4fdd4969fa3031", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ansible-playbook/roles/user/tasks/main.yml"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-917401316c9941ef", "level": "error", "message": {"text": "Possible secret in sandbox/archive/ansible-playbook/roles/root/tasks/main.yml"}, "properties": {"repobilityId": "718b89ac65e1524a", "scanner": "scanner-primary", "fingerprint": "917401316c9941ef", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ansible-playbook/roles/root/tasks/main.yml"}, "region": {"startLine": 9}}}]}, {"ruleId": "scanner-917401316c9941ef", "level": "error", "message": {"text": "Possible secret in sandbox/archive/ansible-playbook/roles/root/tasks/main.yml"}, "properties": {"repobilityId": "718b89ac65e1524a", "scanner": "scanner-primary", "fingerprint": "917401316c9941ef", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ansible-playbook/roles/root/tasks/main.yml"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-0a026e7cc75eb9bb", "level": "error", "message": {"text": "Possible secret in sandbox/archive/instalike/index.js"}, "properties": {"repobilityId": "bda536069281c9e0", "scanner": "scanner-primary", "fingerprint": "0a026e7cc75eb9bb", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/instalike/index.js"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-bfb6c35e52f4c628", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in sandbox/archive/rsi-hackathon-2016/src/main/resources/assets/js/people.js:5"}, "properties": {"repobilityId": "12acee931a1d9856", "scanner": "scanner-primary", "fingerprint": "bfb6c35e52f4c628", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/rsi-hackathon-2016/src/main/resources/assets/js/people.js"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-e9dd993d58c01510", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/user-login.vue:78"}, "properties": {"repobilityId": "1f4f8226e5f5111f", "scanner": "scanner-primary", "fingerprint": "e9dd993d58c01510", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/user-login.vue"}, "region": {"startLine": 78}}}]}, {"ruleId": "scanner-0dde532b2ec62014", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/user-register.vue:130"}, "properties": {"repobilityId": "09850087d7eecf0b", "scanner": "scanner-primary", "fingerprint": "0dde532b2ec62014", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/funsheet/src/main/resources/funsheet-vue/src/components/user-register.vue"}, "region": {"startLine": 130}}}]}, {"ruleId": "scanner-0e8b80835a481d0e", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in sandbox/archive/mira-hq/infrastructure/lib/infrastructure-stack.ts:166"}, "properties": {"repobilityId": "9b66a95f966fc206", "scanner": "scanner-primary", "fingerprint": "0e8b80835a481d0e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/infrastructure/lib/infrastructure-stack.ts"}, "region": {"startLine": 166}}}]}, {"ruleId": "scanner-74097e12b650e29a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in sandbox/practice/claude-web/docker/agent-bridge/index.js:16"}, "properties": {"repobilityId": "5420ed862d37269f", "scanner": "scanner-primary", "fingerprint": "74097e12b650e29a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/practice/claude-web/docker/agent-bridge/index.js"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-eee4822420a89c3c", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in sandbox/practice/ostep-homework/threads-locks/x86.py:895"}, "properties": {"repobilityId": "d39b4bfe1480c517", "scanner": "scanner-primary", "fingerprint": "eee4822420a89c3c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/practice/ostep-homework/threads-locks/x86.py"}, "region": {"startLine": 895}}}]}, {"ruleId": "scanner-8b6796001bddfb98", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in sandbox/practice/ostep-homework/threads-intro/x86.py:754"}, "properties": {"repobilityId": "c097030b38b824d3", "scanner": "scanner-primary", "fingerprint": "8b6796001bddfb98", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/practice/ostep-homework/threads-intro/x86.py"}, "region": {"startLine": 754}}}]}, {"ruleId": "scanner-41e348b92e1d2a1b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dab6153c45cbad21", "scanner": "scanner-primary", "fingerprint": "41e348b92e1d2a1b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ec2-instance-restart-frontend/.github/workflows/CICD.yml"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-41e348b92e1d2a1b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "83d78aa211ea4860", "scanner": "scanner-primary", "fingerprint": "41e348b92e1d2a1b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ec2-instance-restart-frontend/.github/workflows/CICD.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-41e348b92e1d2a1b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dab6153c45cbad21", "scanner": "scanner-primary", "fingerprint": "41e348b92e1d2a1b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ec2-instance-restart-frontend/.github/workflows/CICD.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-41e348b92e1d2a1b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "83d78aa211ea4860", "scanner": "scanner-primary", "fingerprint": "41e348b92e1d2a1b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ec2-instance-restart-frontend/.github/workflows/CICD.yml"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-41e348b92e1d2a1b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9b3cac305c10095c", "scanner": "scanner-primary", "fingerprint": "41e348b92e1d2a1b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ec2-instance-restart-frontend/.github/workflows/CICD.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-41e348b92e1d2a1b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3fa1e621af0c203e", "scanner": "scanner-primary", "fingerprint": "41e348b92e1d2a1b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ec2-instance-restart-frontend/.github/workflows/CICD.yml"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-db40493324405a9b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d968cbdf7110707c", "scanner": "scanner-primary", "fingerprint": "db40493324405a9b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/jukebox/.github/workflows/ci.yml"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-e5f97ad8cdb2bd47", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "16afafb55d275945", "scanner": "scanner-primary", "fingerprint": "e5f97ad8cdb2bd47", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-e5f97ad8cdb2bd47", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5ef87f853edfd926", "scanner": "scanner-primary", "fingerprint": "e5f97ad8cdb2bd47", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-e5f97ad8cdb2bd47", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "16afafb55d275945", "scanner": "scanner-primary", "fingerprint": "e5f97ad8cdb2bd47", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e5f97ad8cdb2bd47", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5ef87f853edfd926", "scanner": "scanner-primary", "fingerprint": "e5f97ad8cdb2bd47", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-e5f97ad8cdb2bd47", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "16afafb55d275945", "scanner": "scanner-primary", "fingerprint": "e5f97ad8cdb2bd47", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 64}}}]}, {"ruleId": "scanner-e5f97ad8cdb2bd47", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5ef87f853edfd926", "scanner": "scanner-primary", "fingerprint": "e5f97ad8cdb2bd47", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-e5f97ad8cdb2bd47", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "16afafb55d275945", "scanner": "scanner-primary", "fingerprint": "e5f97ad8cdb2bd47", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 89}}}]}, {"ruleId": "scanner-e5f97ad8cdb2bd47", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5ef87f853edfd926", "scanner": "scanner-primary", "fingerprint": "e5f97ad8cdb2bd47", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 100}}}]}, {"ruleId": "scanner-8b66673ce72c143a", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "a7d7d14f6c6bf2b1", "scanner": "scanner-primary", "fingerprint": "8b66673ce72c143a", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 106}}}]}, {"ruleId": "scanner-e5f97ad8cdb2bd47", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "27e7a4593f23b1e7", "scanner": "scanner-primary", "fingerprint": "e5f97ad8cdb2bd47", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 114}}}]}, {"ruleId": "scanner-e5f97ad8cdb2bd47", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "16afafb55d275945", "scanner": "scanner-primary", "fingerprint": "e5f97ad8cdb2bd47", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 126}}}]}, {"ruleId": "scanner-e5f97ad8cdb2bd47", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5ef87f853edfd926", "scanner": "scanner-primary", "fingerprint": "e5f97ad8cdb2bd47", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 137}}}]}, {"ruleId": "scanner-8b66673ce72c143a", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "a7d7d14f6c6bf2b1", "scanner": "scanner-primary", "fingerprint": "8b66673ce72c143a", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 143}}}]}, {"ruleId": "scanner-e5f97ad8cdb2bd47", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c3f762c1ac07f495", "scanner": "scanner-primary", "fingerprint": "e5f97ad8cdb2bd47", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 161}}}]}, {"ruleId": "scanner-8b66673ce72c143a", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "a7d7d14f6c6bf2b1", "scanner": "scanner-primary", "fingerprint": "8b66673ce72c143a", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/.github/workflows/cicd.yml"}, "region": {"startLine": 168}}}]}, {"ruleId": "scanner-5f5c5f8a19dc7c84", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "67c92a27aa85f12c", "scanner": "scanner-primary", "fingerprint": "5f5c5f8a19dc7c84", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-5f5c5f8a19dc7c84", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f1ef0dc64e7d1e2d", "scanner": "scanner-primary", "fingerprint": "5f5c5f8a19dc7c84", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-5f5c5f8a19dc7c84", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "67c92a27aa85f12c", "scanner": "scanner-primary", "fingerprint": "5f5c5f8a19dc7c84", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-5f5c5f8a19dc7c84", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f1ef0dc64e7d1e2d", "scanner": "scanner-primary", "fingerprint": "5f5c5f8a19dc7c84", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-5f5c5f8a19dc7c84", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "67c92a27aa85f12c", "scanner": "scanner-primary", "fingerprint": "5f5c5f8a19dc7c84", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-5f5c5f8a19dc7c84", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f1ef0dc64e7d1e2d", "scanner": "scanner-primary", "fingerprint": "5f5c5f8a19dc7c84", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 79}}}]}, {"ruleId": "scanner-5f5c5f8a19dc7c84", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "67c92a27aa85f12c", "scanner": "scanner-primary", "fingerprint": "5f5c5f8a19dc7c84", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 90}}}]}, {"ruleId": "scanner-5f5c5f8a19dc7c84", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f1ef0dc64e7d1e2d", "scanner": "scanner-primary", "fingerprint": "5f5c5f8a19dc7c84", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 101}}}]}, {"ruleId": "scanner-5f5c5f8a19dc7c84", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8c37ad6f33bc49d9", "scanner": "scanner-primary", "fingerprint": "5f5c5f8a19dc7c84", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 107}}}]}, {"ruleId": "scanner-5f5c5f8a19dc7c84", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7a64a4847aad109c", "scanner": "scanner-primary", "fingerprint": "5f5c5f8a19dc7c84", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 111}}}]}, {"ruleId": "scanner-5f5c5f8a19dc7c84", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5487246f61455063", "scanner": "scanner-primary", "fingerprint": "5f5c5f8a19dc7c84", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 127}}}]}, {"ruleId": "scanner-5f5c5f8a19dc7c84", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8c37ad6f33bc49d9", "scanner": "scanner-primary", "fingerprint": "5f5c5f8a19dc7c84", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 134}}}]}, {"ruleId": "scanner-fbec3dd47d02ffa1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aa9b9a9611641f60", "scanner": "scanner-primary", "fingerprint": "fbec3dd47d02ffa1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/codeql-analysis.yml"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-fbec3dd47d02ffa1", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "94cbf74edaa2089d", "scanner": "scanner-primary", "fingerprint": "fbec3dd47d02ffa1", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/codeql-analysis.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-fbec3dd47d02ffa1", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "02318fa86057839e", "scanner": "scanner-primary", "fingerprint": "fbec3dd47d02ffa1", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/codeql-analysis.yml"}, "region": {"startLine": 56}}}]}, {"ruleId": "scanner-fbec3dd47d02ffa1", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ed941af944858cab", "scanner": "scanner-primary", "fingerprint": "fbec3dd47d02ffa1", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/codeql-analysis.yml"}, "region": {"startLine": 70}}}]}, {"ruleId": "scanner-77c924961a506fef", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2593e7421f22d1e2", "scanner": "scanner-primary", "fingerprint": "77c924961a506fef", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/dependabot.yml"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-9f292eb46ac29701", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c4e3ee0ca2bad5ee", "scanner": "scanner-primary", "fingerprint": "9f292eb46ac29701", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/.github/workflows/dependabot.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-181229e349dc16c0", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4243c15f390b57a7", "scanner": "scanner-primary", "fingerprint": "181229e349dc16c0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/discord/.github/workflows/dependabot.yml"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-7bf66d3ec34176b7", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a98ff5b05091aff5", "scanner": "scanner-primary", "fingerprint": "7bf66d3ec34176b7", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/discord/.github/workflows/dependabot.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e5345dfda9196dff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4a5d2b8ecdd46e3c", "scanner": "scanner-primary", "fingerprint": "e5345dfda9196dff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/shepherdjerred-impostor/impostorCord/.github/workflows/ci.yml"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-c14031f6c152233b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ff38dff3c2b56381", "scanner": "scanner-primary", "fingerprint": "c14031f6c152233b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/shepherdjerred-impostor/commands/.github/workflows/ci.yml"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-5e17aaaa60083169", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aa0516bd2ac60ce1", "scanner": "scanner-primary", "fingerprint": "5e17aaaa60083169", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ansible-playbook/.github/workflows/ansible-deploy.yml"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-502b39e4417ddf53", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "44859dca822996fe", "scanner": "scanner-primary", "fingerprint": "502b39e4417ddf53", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ansible-playbook/.github/workflows/ansible-lint.yml"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-7ec566a19f308ee5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7bb5b4186a73c925", "scanner": "scanner-primary", "fingerprint": "7ec566a19f308ee5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/kittens/.github/workflows/netlify.yml"}, "region": {"startLine": 12}}}]}, {"ruleId": "scanner-7ec566a19f308ee5", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ec942481ca686996", "scanner": "scanner-primary", "fingerprint": "7ec566a19f308ee5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/kittens/.github/workflows/netlify.yml"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-7ec566a19f308ee5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e8a617df10593df6", "scanner": "scanner-primary", "fingerprint": "7ec566a19f308ee5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/kittens/.github/workflows/netlify.yml"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-7ec566a19f308ee5", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b7147fab3f610910", "scanner": "scanner-primary", "fingerprint": "7ec566a19f308ee5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/kittens/.github/workflows/netlify.yml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-e4f4c606df9c2c81", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "60ff9c0810ce1f2e", "scanner": "scanner-primary", "fingerprint": "e4f4c606df9c2c81", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/skill-capped-discord-bot/.github/workflows/cicd.yml"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-e4f4c606df9c2c81", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0747e87812da7d13", "scanner": "scanner-primary", "fingerprint": "e4f4c606df9c2c81", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/skill-capped-discord-bot/.github/workflows/cicd.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-e4f4c606df9c2c81", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "60ff9c0810ce1f2e", "scanner": "scanner-primary", "fingerprint": "e4f4c606df9c2c81", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/skill-capped-discord-bot/.github/workflows/cicd.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-e4f4c606df9c2c81", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0747e87812da7d13", "scanner": "scanner-primary", "fingerprint": "e4f4c606df9c2c81", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/skill-capped-discord-bot/.github/workflows/cicd.yml"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-e4f4c606df9c2c81", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "60ff9c0810ce1f2e", "scanner": "scanner-primary", "fingerprint": "e4f4c606df9c2c81", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/skill-capped-discord-bot/.github/workflows/cicd.yml"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-e4f4c606df9c2c81", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0747e87812da7d13", "scanner": "scanner-primary", "fingerprint": "e4f4c606df9c2c81", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/skill-capped-discord-bot/.github/workflows/cicd.yml"}, "region": {"startLine": 79}}}]}, {"ruleId": "scanner-e4f4c606df9c2c81", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "60ff9c0810ce1f2e", "scanner": "scanner-primary", "fingerprint": "e4f4c606df9c2c81", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/skill-capped-discord-bot/.github/workflows/cicd.yml"}, "region": {"startLine": 93}}}]}, {"ruleId": "scanner-e4f4c606df9c2c81", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0747e87812da7d13", "scanner": "scanner-primary", "fingerprint": "e4f4c606df9c2c81", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/skill-capped-discord-bot/.github/workflows/cicd.yml"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-e4f4c606df9c2c81", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9373525569aa9eef", "scanner": "scanner-primary", "fingerprint": "e4f4c606df9c2c81", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/skill-capped-discord-bot/.github/workflows/cicd.yml"}, "region": {"startLine": 112}}}]}, {"ruleId": "scanner-e4f4c606df9c2c81", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bfee53edea1ec103", "scanner": "scanner-primary", "fingerprint": "e4f4c606df9c2c81", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/skill-capped-discord-bot/.github/workflows/cicd.yml"}, "region": {"startLine": 116}}}]}, {"ruleId": "scanner-e4f4c606df9c2c81", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f11170258f7fef99", "scanner": "scanner-primary", "fingerprint": "e4f4c606df9c2c81", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/skill-capped-discord-bot/.github/workflows/cicd.yml"}, "region": {"startLine": 134}}}]}, {"ruleId": "scanner-e4f4c606df9c2c81", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9373525569aa9eef", "scanner": "scanner-primary", "fingerprint": "e4f4c606df9c2c81", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/skill-capped-discord-bot/.github/workflows/cicd.yml"}, "region": {"startLine": 143}}}]}, {"ruleId": "scanner-ac387937ff012a9b", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ad6b3413547446e3", "scanner": "scanner-primary", "fingerprint": "ac387937ff012a9b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/devcontainers-features/.github/workflows/release.yaml"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-96aabbe4a2576161", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9d5192e1ce705bc1", "scanner": "scanner-primary", "fingerprint": "96aabbe4a2576161", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/devcontainers-features/.github/workflows/release.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dfa128c931756e0c", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7bf7977fd7d8d6d3", "scanner": "scanner-primary", "fingerprint": "dfa128c931756e0c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/devcontainers-features/.github/workflows/validate.yml"}, "region": {"startLine": 12}}}]}, {"ruleId": "scanner-65957a864e7e79fb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1f2f045965518838", "scanner": "scanner-primary", "fingerprint": "65957a864e7e79fb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/frontend/.github/workflows/cicd.yml"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-65957a864e7e79fb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8df7f614da7ce4cb", "scanner": "scanner-primary", "fingerprint": "65957a864e7e79fb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/frontend/.github/workflows/cicd.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-65957a864e7e79fb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1f2f045965518838", "scanner": "scanner-primary", "fingerprint": "65957a864e7e79fb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/frontend/.github/workflows/cicd.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-65957a864e7e79fb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8df7f614da7ce4cb", "scanner": "scanner-primary", "fingerprint": "65957a864e7e79fb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/frontend/.github/workflows/cicd.yml"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-65957a864e7e79fb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "32275929f40d5420", "scanner": "scanner-primary", "fingerprint": "65957a864e7e79fb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/frontend/.github/workflows/cicd.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-65957a864e7e79fb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1f2f045965518838", "scanner": "scanner-primary", "fingerprint": "65957a864e7e79fb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/frontend/.github/workflows/cicd.yml"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-65957a864e7e79fb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8df7f614da7ce4cb", "scanner": "scanner-primary", "fingerprint": "65957a864e7e79fb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/frontend/.github/workflows/cicd.yml"}, "region": {"startLine": 80}}}]}, {"ruleId": "scanner-65957a864e7e79fb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8a1727ece3630db1", "scanner": "scanner-primary", "fingerprint": "65957a864e7e79fb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/frontend/.github/workflows/cicd.yml"}, "region": {"startLine": 95}}}]}, {"ruleId": "scanner-cd436f7c0dc3c44d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "13066d79f6d26320", "scanner": "scanner-primary", "fingerprint": "cd436f7c0dc3c44d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-cd436f7c0dc3c44d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "59366b626193a53e", "scanner": "scanner-primary", "fingerprint": "cd436f7c0dc3c44d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-cd436f7c0dc3c44d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "13066d79f6d26320", "scanner": "scanner-primary", "fingerprint": "cd436f7c0dc3c44d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-cd436f7c0dc3c44d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "59366b626193a53e", "scanner": "scanner-primary", "fingerprint": "cd436f7c0dc3c44d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-cd436f7c0dc3c44d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "13066d79f6d26320", "scanner": "scanner-primary", "fingerprint": "cd436f7c0dc3c44d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 64}}}]}, {"ruleId": "scanner-cd436f7c0dc3c44d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "59366b626193a53e", "scanner": "scanner-primary", "fingerprint": "cd436f7c0dc3c44d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-cd436f7c0dc3c44d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "13066d79f6d26320", "scanner": "scanner-primary", "fingerprint": "cd436f7c0dc3c44d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-cd436f7c0dc3c44d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "59366b626193a53e", "scanner": "scanner-primary", "fingerprint": "cd436f7c0dc3c44d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 97}}}]}, {"ruleId": "scanner-cdf85f07adfc4c93", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "b532d5c48cc435be", "scanner": "scanner-primary", "fingerprint": "cdf85f07adfc4c93", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 103}}}]}, {"ruleId": "scanner-cd436f7c0dc3c44d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1419c726765fe3d8", "scanner": "scanner-primary", "fingerprint": "cd436f7c0dc3c44d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 107}}}]}, {"ruleId": "scanner-cd436f7c0dc3c44d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0b520b1d14a90c84", "scanner": "scanner-primary", "fingerprint": "cd436f7c0dc3c44d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 122}}}]}, {"ruleId": "scanner-cdf85f07adfc4c93", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "b532d5c48cc435be", "scanner": "scanner-primary", "fingerprint": "cdf85f07adfc4c93", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/infrastructure/.github/workflows/cicd.yml"}, "region": {"startLine": 129}}}]}, {"ruleId": "scanner-346d6c7c5e6816eb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "402bafab4a2781b5", "scanner": "scanner-primary", "fingerprint": "346d6c7c5e6816eb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/model/.github/workflows/cicd.yml"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-346d6c7c5e6816eb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f5cdc48333456dbe", "scanner": "scanner-primary", "fingerprint": "346d6c7c5e6816eb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/model/.github/workflows/cicd.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-346d6c7c5e6816eb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "402bafab4a2781b5", "scanner": "scanner-primary", "fingerprint": "346d6c7c5e6816eb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/model/.github/workflows/cicd.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-346d6c7c5e6816eb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f5cdc48333456dbe", "scanner": "scanner-primary", "fingerprint": "346d6c7c5e6816eb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/model/.github/workflows/cicd.yml"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-346d6c7c5e6816eb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "34ec08d6df40a06d", "scanner": "scanner-primary", "fingerprint": "346d6c7c5e6816eb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/model/.github/workflows/cicd.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-346d6c7c5e6816eb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "402bafab4a2781b5", "scanner": "scanner-primary", "fingerprint": "346d6c7c5e6816eb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/model/.github/workflows/cicd.yml"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-346d6c7c5e6816eb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f5cdc48333456dbe", "scanner": "scanner-primary", "fingerprint": "346d6c7c5e6816eb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/model/.github/workflows/cicd.yml"}, "region": {"startLine": 80}}}]}, {"ruleId": "scanner-346d6c7c5e6816eb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2aba5044fd2d2812", "scanner": "scanner-primary", "fingerprint": "346d6c7c5e6816eb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/model/.github/workflows/cicd.yml"}, "region": {"startLine": 96}}}]}, {"ruleId": "scanner-346d6c7c5e6816eb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f5cdc48333456dbe", "scanner": "scanner-primary", "fingerprint": "346d6c7c5e6816eb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/model/.github/workflows/cicd.yml"}, "region": {"startLine": 101}}}]}, {"ruleId": "scanner-224aa6093d8b96b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aae3350ed5d78118", "scanner": "scanner-primary", "fingerprint": "224aa6093d8b96b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/backend/.github/workflows/cicd.yml"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-224aa6093d8b96b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "65ad146837a36b9e", "scanner": "scanner-primary", "fingerprint": "224aa6093d8b96b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/backend/.github/workflows/cicd.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-224aa6093d8b96b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aae3350ed5d78118", "scanner": "scanner-primary", "fingerprint": "224aa6093d8b96b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/backend/.github/workflows/cicd.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-224aa6093d8b96b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "65ad146837a36b9e", "scanner": "scanner-primary", "fingerprint": "224aa6093d8b96b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/backend/.github/workflows/cicd.yml"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-224aa6093d8b96b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "27a6311a1bbd0735", "scanner": "scanner-primary", "fingerprint": "224aa6093d8b96b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/backend/.github/workflows/cicd.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-224aa6093d8b96b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aae3350ed5d78118", "scanner": "scanner-primary", "fingerprint": "224aa6093d8b96b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/backend/.github/workflows/cicd.yml"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-224aa6093d8b96b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "65ad146837a36b9e", "scanner": "scanner-primary", "fingerprint": "224aa6093d8b96b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/backend/.github/workflows/cicd.yml"}, "region": {"startLine": 80}}}]}, {"ruleId": "scanner-224aa6093d8b96b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aae3350ed5d78118", "scanner": "scanner-primary", "fingerprint": "224aa6093d8b96b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/backend/.github/workflows/cicd.yml"}, "region": {"startLine": 96}}}]}, {"ruleId": "scanner-224aa6093d8b96b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "65ad146837a36b9e", "scanner": "scanner-primary", "fingerprint": "224aa6093d8b96b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/backend/.github/workflows/cicd.yml"}, "region": {"startLine": 107}}}]}, {"ruleId": "scanner-224aa6093d8b96b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "216bf2f2c2115964", "scanner": "scanner-primary", "fingerprint": "224aa6093d8b96b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/backend/.github/workflows/cicd.yml"}, "region": {"startLine": 113}}}]}, {"ruleId": "scanner-dbc7e1b190a4cffd", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "805cd082651262bd", "scanner": "scanner-primary", "fingerprint": "dbc7e1b190a4cffd", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/backend/.github/workflows/cicd.yml"}, "region": {"startLine": 120}}}]}, {"ruleId": "scanner-224aa6093d8b96b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "27a6311a1bbd0735", "scanner": "scanner-primary", "fingerprint": "224aa6093d8b96b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/mira-hq/backend/.github/workflows/cicd.yml"}, "region": {"startLine": 128}}}]}, {"ruleId": "scanner-dddd6ff168b9e835", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c4884f1a9eb2f602", "scanner": "scanner-primary", "fingerprint": "dddd6ff168b9e835", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/practice/bevy-experiment/.github/workflows/rust.yml"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-05f0a16c331149ab", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "30400ec3f19697f5", "scanner": "scanner-primary", "fingerprint": "05f0a16c331149ab", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/practice/rust-grep/.github/workflows/ci.yml"}, "region": {"startLine": 22}}}]}, {"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-af6b77044e223b8c", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "10159fb26c0970bc", "scanner": "scanner-primary", "fingerprint": "af6b77044e223b8c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/astro-opengraph-images/examples/custom/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-02249365a1650a29", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "8c85fa2bf8708395", "scanner": "scanner-primary", "fingerprint": "02249365a1650a29", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/astro-opengraph-images/examples/preset/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dda4bce3b48be947", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "bd7c210b4e12715f", "scanner": "scanner-primary", "fingerprint": "dda4bce3b48be947", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/webring/example/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4bc4d72ecf1aebba", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "06acd25a1ca547a5", "scanner": "scanner-primary", "fingerprint": "4bc4d72ecf1aebba", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/aws-docker-cdk/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-18e1eee1eb2d3272", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "4013bbbc8eedfa59", "scanner": "scanner-primary", "fingerprint": "18e1eee1eb2d3272", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/ts-mc/infrastructure/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-19870b0ceff04c10", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "4e228ee7619f3667", "scanner": "scanner-primary", "fingerprint": "19870b0ceff04c10", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/skill-capped-discord-bot/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8d250d3a5d6415bc", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "3791cc99d0256830", "scanner": "scanner-primary", "fingerprint": "8d250d3a5d6415bc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/siphon/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6f0dadcfc7aae6b8", "level": "note", "message": {"text": "Very large file: scripts/ci/src/__tests__/pipeline-builder.test.ts (1573 lines)"}, "properties": {"repobilityId": "a882b779689c8e5a", "scanner": "scanner-primary", "fingerprint": "6f0dadcfc7aae6b8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a9be5f10f111b405", "level": "note", "message": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/argo-cd.types.ts (9421 lines)"}, "properties": {"repobilityId": "77a6d193541d40d6", "scanner": "scanner-primary", "fingerprint": "a9be5f10f111b405", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ed83da2c64b8c713", "level": "note", "message": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/mariadb.types.ts (3372 lines)"}, "properties": {"repobilityId": "2c9b05edf014f24e", "scanner": "scanner-primary", "fingerprint": "ed83da2c64b8c713", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1cbe32f6d137d05c", "level": "note", "message": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/cert-manager.types.ts (2206 lines)"}, "properties": {"repobilityId": "6da9c9c416ca3059", "scanner": "scanner-primary", "fingerprint": "1cbe32f6d137d05c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cc92e5a43e6ec337", "level": "note", "message": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/loki.types.ts (11150 lines)"}, "properties": {"repobilityId": "bad1bfdfb71f08f5", "scanner": "scanner-primary", "fingerprint": "cc92e5a43e6ec337", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4b2633f373cf1ca0", "level": "note", "message": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/pyroscope.types.ts (1745 lines)"}, "properties": {"repobilityId": "313e1ecb9231fe0d", "scanner": "scanner-primary", "fingerprint": "4b2633f373cf1ca0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3d51f93becd3cdc5", "level": "note", "message": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/seaweedfs.types.ts (4409 lines)"}, "properties": {"repobilityId": "33699430aad06252", "scanner": "scanner-primary", "fingerprint": "3d51f93becd3cdc5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-81f7a3b3075aa26e", "level": "note", "message": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/redis.types.ts (4898 lines)"}, "properties": {"repobilityId": "2437fe3d704e4496", "scanner": "scanner-primary", "fingerprint": "81f7a3b3075aa26e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2a2841c1599af685", "level": "note", "message": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/kyverno.types.ts (6073 lines)"}, "properties": {"repobilityId": "4316909d2c9ec93e", "scanner": "scanner-primary", "fingerprint": "2a2841c1599af685", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-16a7dee39e22843d", "level": "note", "message": {"text": "Very large file: packages/homelab/src/cdk8s/generated/helm/kube-prometheus-stack.types.ts (10323 lines)"}, "properties": {"repobilityId": "4eea0cfd176dfae3", "scanner": "scanner-primary", "fingerprint": "16a7dee39e22843d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ebec2876da86d3a1", "level": "note", "message": {"text": "Very large file: sandbox/archive/clauderon/src/tui/events.rs (1283 lines)"}, "properties": {"repobilityId": "b496f94bf45d982f", "scanner": "scanner-primary", "fingerprint": "ebec2876da86d3a1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-01e9f05631b7f27d", "level": "note", "message": {"text": "Very large file: sandbox/archive/clauderon/src/tui/app.rs (2157 lines)"}, "properties": {"repobilityId": "9bf08e1bb132d0df", "scanner": "scanner-primary", "fingerprint": "01e9f05631b7f27d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-49b0636bfc6d1614", "level": "note", "message": {"text": "Very large file: sandbox/archive/clauderon/src/backends/docker.rs (2606 lines)"}, "properties": {"repobilityId": "caafa670e3682ae8", "scanner": "scanner-primary", "fingerprint": "49b0636bfc6d1614", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3d5b7dd1ff184030", "level": "note", "message": {"text": "Very large file: sandbox/archive/clauderon/src/core/manager.rs (3840 lines)"}, "properties": {"repobilityId": "252f32e29908020d", "scanner": "scanner-primary", "fingerprint": "3d5b7dd1ff184030", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0da14b2f7fa994de", "level": "note", "message": {"text": "Very large file: sandbox/archive/clauderon/src/core/session.rs (2094 lines)"}, "properties": {"repobilityId": "7f2411e6e18eb998", "scanner": "scanner-primary", "fingerprint": "0da14b2f7fa994de", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3b3ba9f78dd42606", "level": "note", "message": {"text": "Very large file: sandbox/archive/clauderon/src/store/sqlite.rs (1894 lines)"}, "properties": {"repobilityId": "2af5ae58a59aed9d", "scanner": "scanner-primary", "fingerprint": "3b3ba9f78dd42606", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-da9411541e913ad5", "level": "note", "message": {"text": "358 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "da9411541e913ad5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-79f05d1c96f8407b", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/frontend/package.json"}, "properties": {"repobilityId": "1b53dfa84dfd4fa1", "scanner": "scanner-primary", "fingerprint": "79f05d1c96f8407b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/scout-for-lol/packages/frontend/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a18e1fcfbd148df1", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/ui/package.json"}, "properties": {"repobilityId": "4068e65665f7abd2", "scanner": "scanner-primary", "fingerprint": "a18e1fcfbd148df1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/scout-for-lol/packages/ui/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-45d9aefaede2222e", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/desktop/package.json"}, "properties": {"repobilityId": "38249110271a861a", "scanner": "scanner-primary", "fingerprint": "45d9aefaede2222e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/scout-for-lol/packages/desktop/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5ba278ca0e6d4776", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/app/package.json"}, "properties": {"repobilityId": "0e857bd2091effd7", "scanner": "scanner-primary", "fingerprint": "5ba278ca0e6d4776", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/scout-for-lol/packages/app/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-441c405bfb906894", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/report/package.json"}, "properties": {"repobilityId": "943e1a4f439d1485", "scanner": "scanner-primary", "fingerprint": "441c405bfb906894", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/scout-for-lol/packages/report/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7f0d253f82f7e5f4", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/scout-for-lol/packages/backend/package.json"}, "properties": {"repobilityId": "5747f3cf215365dd", "scanner": "scanner-primary", "fingerprint": "7f0d253f82f7e5f4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/scout-for-lol/packages/backend/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7d68246e1fad0ff5", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/discord-plays-mario-kart/packages/frontend/package.json"}, "properties": {"repobilityId": "1bec4485501a369c", "scanner": "scanner-primary", "fingerprint": "7d68246e1fad0ff5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/discord-plays-mario-kart/packages/frontend/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ae1268c786ffe66f", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/discord-plays-mario-kart/packages/common/package.json"}, "properties": {"repobilityId": "dc375313936da04d", "scanner": "scanner-primary", "fingerprint": "ae1268c786ffe66f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/discord-plays-mario-kart/packages/common/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-465a8901629a1b03", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/discord-plays-mario-kart/packages/backend/package.json"}, "properties": {"repobilityId": "6dfaa04b0f607088", "scanner": "scanner-primary", "fingerprint": "465a8901629a1b03", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/discord-plays-mario-kart/packages/backend/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-57c4ac168262d20b", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/discord-plays-pokemon/packages/frontend/package.json"}, "properties": {"repobilityId": "ab4bc1e02b430f46", "scanner": "scanner-primary", "fingerprint": "57c4ac168262d20b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/discord-plays-pokemon/packages/frontend/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1d68ec5b20049839", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/discord-plays-pokemon/packages/common/package.json"}, "properties": {"repobilityId": "efcdcc6814437cee", "scanner": "scanner-primary", "fingerprint": "1d68ec5b20049839", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/discord-plays-pokemon/packages/common/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6e3b3d7badc032ad", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/discord-plays-pokemon/packages/backend/package.json"}, "properties": {"repobilityId": "21a418d40a26a927", "scanner": "scanner-primary", "fingerprint": "6e3b3d7badc032ad", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/discord-plays-pokemon/packages/backend/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1b1b548f2a54cde0", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: sandbox/archive/clauderon/web/frontend/package.json"}, "properties": {"repobilityId": "44d3bd871af85a86", "scanner": "scanner-primary", "fingerprint": "1b1b548f2a54cde0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/clauderon/web/frontend/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-92902981027675f9", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: sandbox/archive/clauderon/web/client/package.json"}, "properties": {"repobilityId": "b9d4d0c5e38ecbbe", "scanner": "scanner-primary", "fingerprint": "92902981027675f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/clauderon/web/client/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8f4035e361566420", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: sandbox/archive/clauderon/web/shared/package.json"}, "properties": {"repobilityId": "8c482d4a8c4f105b", "scanner": "scanner-primary", "fingerprint": "8f4035e361566420", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/clauderon/web/shared/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fb0c8bf1b078d489", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: sandbox/archive/discord/packages/preview/package.json"}, "properties": {"repobilityId": "9fa8a27128681d13", "scanner": "scanner-primary", "fingerprint": "fb0c8bf1b078d489", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/discord/packages/preview/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4d676ee67aba6d2b", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: sandbox/archive/instalike/package.json"}, "properties": {"repobilityId": "68cdb178c631597a", "scanner": "scanner-primary", "fingerprint": "4d676ee67aba6d2b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/instalike/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0833b837ab5a15e5", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: sandbox/poc/sentinel/package.json"}, "properties": {"repobilityId": "9facc3c4995e2c8a", "scanner": "scanner-primary", "fingerprint": "0833b837ab5a15e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/poc/sentinel/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7edb962797d993fe", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: sandbox/poc/interview-practice/package.json"}, "properties": {"repobilityId": "09cac2f90bfe2c15", "scanner": "scanner-primary", "fingerprint": "7edb962797d993fe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/poc/interview-practice/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7d69d6c4f7b4dd9e", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: sandbox/practice/claude-web/package.json"}, "properties": {"repobilityId": "9631c911d198c15d", "scanner": "scanner-primary", "fingerprint": "7d69d6c4f7b4dd9e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/practice/claude-web/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-388d0ce46645ac54", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: sandbox/practice/claude-web/docker/agent-bridge/package.json"}, "properties": {"repobilityId": "44fd4e4b985921ea", "scanner": "scanner-primary", "fingerprint": "388d0ce46645ac54", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/practice/claude-web/docker/agent-bridge/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6a054bc4c6733adf", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: sandbox/practice/a2ui-poc/package.json"}, "properties": {"repobilityId": "30dcc26fe863176a", "scanner": "scanner-primary", "fingerprint": "6a054bc4c6733adf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/practice/a2ui-poc/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "c3dcfac51e3f6162", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "44ce1b42a43b0700", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-9d79c4077342a7d0", "level": "warning", "message": {"text": "Runtime service client appears to use placeholder configuration"}, "properties": {"repobilityId": "ce38d7ddf467f459", "scanner": "scanner-primary", "fingerprint": "9d79c4077342a7d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "runtime-config", "service-client", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "6fc37007e954accc", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "d1910eebbb9e6c6d", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "ccc382528e7e952d", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "06e5d48ef42ccdb9", "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": "2a7417e8ef8b3766", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-1b554c97d711d785", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/scout-for-lol/.mcp.json"}, "properties": {"repobilityId": "ae2a6ce0b497c760", "scanner": "scanner-primary", "fingerprint": "1b554c97d711d785", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "mcp_config"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/scout-for-lol/.mcp.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-13fe9fadc4b07d47", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/toolkit/skills/recall/SKILL.md"}, "properties": {"repobilityId": "0432eef01aa6e1c0", "scanner": "scanner-primary", "fingerprint": "13fe9fadc4b07d47", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/toolkit/skills/recall/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4707433ef42ab2c6", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/homelab/.cursor/mcp.json"}, "properties": {"repobilityId": "3b2a6a3d7e8844f1", "scanner": "scanner-primary", "fingerprint": "4707433ef42ab2c6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "mcp_config"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/.cursor/mcp.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8ec241ab57ceae73", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/homelab/.cursor/worktrees.json"}, "properties": {"repobilityId": "97933bb213813351", "scanner": "scanner-primary", "fingerprint": "8ec241ab57ceae73", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "cursor_rule"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/.cursor/worktrees.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c1ba1af0d0831a25", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/homelab/.cursor/rules/project-context.mdc"}, "properties": {"repobilityId": "2b1e54de8618f16e", "scanner": "scanner-primary", "fingerprint": "c1ba1af0d0831a25", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "cursor_rule"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/homelab/.cursor/rules/project-context.mdc"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-08dd3a60f27440db", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/version-management/SKILL.md"}, "properties": {"repobilityId": "0115326b5dd84ade", "scanner": "scanner-primary", "fingerprint": "08dd3a60f27440db", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/version-management/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7dc1279eef730135", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/dagger-helper/SKILL.md"}, "properties": {"repobilityId": "707259ccb61d3afe", "scanner": "scanner-primary", "fingerprint": "7dc1279eef730135", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/dagger-helper/SKILL.md"}, "region": {"startLine": 237}}}]}, {"ruleId": "scanner-157c818a14f3d2c7", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: packages/dotfiles/dot_agents/skills/dagger-helper/SKILL.md"}, "properties": {"repobilityId": "d087b93b69e5789e", "scanner": "scanner-primary", "fingerprint": "157c818a14f3d2c7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/dagger-helper/SKILL.md"}, "region": {"startLine": 558}}}]}, {"ruleId": "scanner-edcabb86e45e981e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/linuxserver-containers/SKILL.md"}, "properties": {"repobilityId": "88cbda64474793cc", "scanner": "scanner-primary", "fingerprint": "edcabb86e45e981e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/linuxserver-containers/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-965ed5babf1e5204", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/gh-helper/SKILL.md"}, "properties": {"repobilityId": "de48448d8ab863e8", "scanner": "scanner-primary", "fingerprint": "965ed5babf1e5204", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/gh-helper/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-22f192803567f818", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/tailscale-helper/SKILL.md"}, "properties": {"repobilityId": "803cf15d06c5323d", "scanner": "scanner-primary", "fingerprint": "22f192803567f818", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/tailscale-helper/SKILL.md"}, "region": {"startLine": 163}}}]}, {"ruleId": "scanner-f9329e82a4ee712c", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/cdk8s-abstractions/SKILL.md"}, "properties": {"repobilityId": "61efb9e7ad2ab487", "scanner": "scanner-primary", "fingerprint": "f9329e82a4ee712c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/cdk8s-abstractions/SKILL.md"}, "region": {"startLine": 384}}}]}, {"ruleId": "scanner-e3f264a0268f82aa", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/cdk8s-abstractions/SKILL.md"}, "properties": {"repobilityId": "c7f290bac7895e25", "scanner": "scanner-primary", "fingerprint": "e3f264a0268f82aa", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/cdk8s-abstractions/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2b5c3654b1104e74", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/mastra-helper/SKILL.md"}, "properties": {"repobilityId": "5277cd8810ec1ac9", "scanner": "scanner-primary", "fingerprint": "2b5c3654b1104e74", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/mastra-helper/SKILL.md"}, "region": {"startLine": 214}}}]}, {"ruleId": "scanner-63ea877320b6b49f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/mastra-helper/SKILL.md"}, "properties": {"repobilityId": "7a70967fc25b7558", "scanner": "scanner-primary", "fingerprint": "63ea877320b6b49f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/mastra-helper/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c1df72a57f21bd12", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/eslint-rule-dev/SKILL.md"}, "properties": {"repobilityId": "e4af73ef69e52eca", "scanner": "scanner-primary", "fingerprint": "c1df72a57f21bd12", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/eslint-rule-dev/SKILL.md"}, "region": {"startLine": 284}}}]}, {"ruleId": "scanner-f00ccae373116ccd", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/bun-runtime-best-practices/SKILL.md"}, "properties": {"repobilityId": "3d9381649066c5b9", "scanner": "scanner-primary", "fingerprint": "f00ccae373116ccd", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/bun-runtime-best-practices/SKILL.md"}, "region": {"startLine": 102}}}]}, {"ruleId": "scanner-0aeec6bb652594e9", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/docker-helper/SKILL.md"}, "properties": {"repobilityId": "fccaabd33bffd390", "scanner": "scanner-primary", "fingerprint": "0aeec6bb652594e9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/docker-helper/SKILL.md"}, "region": {"startLine": 702}}}]}, {"ruleId": "scanner-56f850a0a8af4a9d", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/hono-helper/SKILL.md"}, "properties": {"repobilityId": "95cbdc8993fc06dd", "scanner": "scanner-primary", "fingerprint": "56f850a0a8af4a9d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/hono-helper/SKILL.md"}, "region": {"startLine": 356}}}]}, {"ruleId": "scanner-be23a4123bc91deb", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/discord-bot-helper/SKILL.md"}, "properties": {"repobilityId": "c83574c43ac742b1", "scanner": "scanner-primary", "fingerprint": "be23a4123bc91deb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/discord-bot-helper/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aa93f66db8c58dee", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/pinchtab-helper/SKILL.md"}, "properties": {"repobilityId": "f08320e75c5faec4", "scanner": "scanner-primary", "fingerprint": "aa93f66db8c58dee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/pinchtab-helper/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4f12c5f43d868e87", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: packages/dotfiles/dot_agents/skills/modern-cli-tools/SKILL.md"}, "properties": {"repobilityId": "ca7e19932a48b576", "scanner": "scanner-primary", "fingerprint": "4f12c5f43d868e87", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/modern-cli-tools/SKILL.md"}, "region": {"startLine": 81}}}]}, {"ruleId": "scanner-f244b5a0cf61265c", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/terminal-concepts/SKILL.md"}, "properties": {"repobilityId": "dfa662a76d5715a1", "scanner": "scanner-primary", "fingerprint": "f244b5a0cf61265c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/terminal-concepts/SKILL.md"}, "region": {"startLine": 1862}}}]}, {"ruleId": "scanner-954d5669e2ce4205", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/op-helper/SKILL.md"}, "properties": {"repobilityId": "31dfd242f594441b", "scanner": "scanner-primary", "fingerprint": "954d5669e2ce4205", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/op-helper/SKILL.md"}, "region": {"startLine": 128}}}]}, {"ruleId": "scanner-136c5e862af33309", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/torvalds-deployment/SKILL.md"}, "properties": {"repobilityId": "1351f4a1c3ec0111", "scanner": "scanner-primary", "fingerprint": "136c5e862af33309", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/torvalds-deployment/SKILL.md"}, "region": {"startLine": 251}}}]}, {"ruleId": "scanner-b72b91d26270e72b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/torvalds-deployment/SKILL.md"}, "properties": {"repobilityId": "84bdc9461df9a02b", "scanner": "scanner-primary", "fingerprint": "b72b91d26270e72b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/torvalds-deployment/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ac5f06c90b3948f6", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/argocd-helper/SKILL.md"}, "properties": {"repobilityId": "7f4f812a5ac9973f", "scanner": "scanner-primary", "fingerprint": "ac5f06c90b3948f6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/argocd-helper/SKILL.md"}, "region": {"startLine": 786}}}]}, {"ruleId": "scanner-f204d589b8aa2fad", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/terraform-helper/SKILL.md"}, "properties": {"repobilityId": "67c6701c906e4089", "scanner": "scanner-primary", "fingerprint": "f204d589b8aa2fad", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/terraform-helper/SKILL.md"}, "region": {"startLine": 304}}}]}, {"ruleId": "scanner-f0a50847fe4be05e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/otel-observability/SKILL.md"}, "properties": {"repobilityId": "a0909bb377ca9639", "scanner": "scanner-primary", "fingerprint": "f0a50847fe4be05e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/otel-observability/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-29015fe367e40d5e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/lightpanda-browser/SKILL.md"}, "properties": {"repobilityId": "9502339ba70ddb2b", "scanner": "scanner-primary", "fingerprint": "29015fe367e40d5e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/lightpanda-browser/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-64b529517cf25232", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: packages/dotfiles/dot_agents/skills/sentry-helper/SKILL.md"}, "properties": {"repobilityId": "4ab10f0d49762461", "scanner": "scanner-primary", "fingerprint": "64b529517cf25232", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/sentry-helper/SKILL.md"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-a3ad85427099a8e7", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: packages/dotfiles/dot_agents/skills/argocd-app-patterns/SKILL.md"}, "properties": {"repobilityId": "8d6bcd4f9b80605f", "scanner": "scanner-primary", "fingerprint": "a3ad85427099a8e7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/argocd-app-patterns/SKILL.md"}, "region": {"startLine": 192}}}]}, {"ruleId": "scanner-49699876ce83d4d7", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: packages/dotfiles/dot_agents/skills/storage-backup/SKILL.md"}, "properties": {"repobilityId": "4b49e68c1cd0e976", "scanner": "scanner-primary", "fingerprint": "49699876ce83d4d7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dotfiles/dot_agents/skills/storage-backup/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3e4612adc34507fe", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: sandbox/archive/clauderon/docs/src/content/docs/getting-started/agents.md"}, "properties": {"repobilityId": "7f2ee6463ad8a5fa", "scanner": "scanner-primary", "fingerprint": "3e4612adc34507fe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/clauderon/docs/src/content/docs/getting-started/agents.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-122f91b7f2906dc4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "properties": {"repobilityId": "a2967269048b6a9d", "scanner": "scanner-primary", "fingerprint": "122f91b7f2906dc4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-87b0fe27d6dfa302", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/check-todos.ts:52"}, "properties": {"repobilityId": "47709514725f913b", "scanner": "scanner-primary", "fingerprint": "87b0fe27d6dfa302", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-18f8ef74efbad483", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/validate-commit-msg.ts:26"}, "properties": {"repobilityId": "a5a23ff2c6f2f11c", "scanner": "scanner-primary", "fingerprint": "18f8ef74efbad483", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-910409c73eada825", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/scrape-apple-hig.py:2"}, "properties": {"repobilityId": "dbe9f0927c16ba8c", "scanner": "scanner-primary", "fingerprint": "910409c73eada825", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca21dd754d351e8b", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/bench.py:2"}, "properties": {"repobilityId": "e26bfed5aa669a7e", "scanner": "scanner-primary", "fingerprint": "ca21dd754d351e8b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1f34c6b413e0b1ff", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/bench.py:147"}, "properties": {"repobilityId": "d45b9f5379d02424", "scanner": "scanner-primary", "fingerprint": "1f34c6b413e0b1ff", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-21c06e9a2ca635cc", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/bench_remote_profile.py:49"}, "properties": {"repobilityId": "039a4d4daa4e5d4b", "scanner": "scanner-primary", "fingerprint": "21c06e9a2ca635cc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dbcc5a5adc00cd57", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/setup.ts:352"}, "properties": {"repobilityId": "0e9b1dcb6f08ad33", "scanner": "scanner-primary", "fingerprint": "dbcc5a5adc00cd57", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec00a5a766699589", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check-1p-duplicates.py:13"}, "properties": {"repobilityId": "ea21346470f6db2d", "scanner": "scanner-primary", "fingerprint": "ec00a5a766699589", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3bb43eebdde01261", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/check-tunnel-dns-coverage.ts:151"}, "properties": {"repobilityId": "2d9c9b14c21983eb", "scanner": "scanner-primary", "fingerprint": "3bb43eebdde01261", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf4ed2e6195c230d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/bench_remote_setup.py:32"}, "properties": {"repobilityId": "85d016016be3741d", "scanner": "scanner-primary", "fingerprint": "bf4ed2e6195c230d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ce5948729e26712c", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/observability/local-stack/emit-test-trace.ts:79"}, "properties": {"repobilityId": "c1ee754aaa5fbab0", "scanner": "scanner-primary", "fingerprint": "ce5948729e26712c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e37f3de433963e84", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/ci/src/pipeline-builder.ts:113"}, "properties": {"repobilityId": "a0537b9ad7812d6b", "scanner": "scanner-primary", "fingerprint": "e37f3de433963e84", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dd5977bed6aa1a40", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/ci/src/wait-for-greptile.ts:446"}, "properties": {"repobilityId": "9461d60fc21f67fc", "scanner": "scanner-primary", "fingerprint": "dd5977bed6aa1a40", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a19d89ea3178a22f", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/ci/src/change-detection.ts:946"}, "properties": {"repobilityId": "f076d5d39e636300", "scanner": "scanner-primary", "fingerprint": "a19d89ea3178a22f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8360dce9bba308c", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/ci/src/__tests__/dagger-hygiene.test.ts:126"}, "properties": {"repobilityId": "2b406fee499198d3", "scanner": "scanner-primary", "fingerprint": "b8360dce9bba308c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4eddd714328bd313", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/ci/src/__tests__/buildkite.test.ts:5"}, "properties": {"repobilityId": "a939f4b1d75a4b47", "scanner": "scanner-primary", "fingerprint": "4eddd714328bd313", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e023f75b24fabc93", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/ci/src/__tests__/pipeline-builder.test.ts:1107"}, "properties": {"repobilityId": "56aa90e781f0f83d", "scanner": "scanner-primary", "fingerprint": "e023f75b24fabc93", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5afbb5c1d05fd07d", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/ci/src/lib/buildkite.ts:13"}, "properties": {"repobilityId": "adc27a5f3d043759", "scanner": "scanner-primary", "fingerprint": "5afbb5c1d05fd07d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac8b9fea67ac1baf", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/ci/src/lib/k8s-plugin.ts:67"}, "properties": {"repobilityId": "d7f9fc83478d4bd2", "scanner": "scanner-primary", "fingerprint": "ac8b9fea67ac1baf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2864228ebd33ec71", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/ci/src/steps/images.ts:31"}, "properties": {"repobilityId": "848d5357ed38c699", "scanner": "scanner-primary", "fingerprint": "2864228ebd33ec71", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed75ea3b2455769a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/ci/src/steps/build-summary.ts:23"}, "properties": {"repobilityId": "35fc3f9a8febab61", "scanner": "scanner-primary", "fingerprint": "ed75ea3b2455769a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-954ccbc2530b282e", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/ci/src/steps/version.ts:31"}, "properties": {"repobilityId": "678a5577593906f5", "scanner": "scanner-primary", "fingerprint": "954ccbc2530b282e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3aaf06b1e5501204", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/ci/src/steps/per-package.ts:81"}, "properties": {"repobilityId": "0b7ff9816734eac3", "scanner": "scanner-primary", "fingerprint": "3aaf06b1e5501204", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0f15b5d17aa7659", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/monarch/scripts/accuracy/label-server.ts:284"}, "properties": {"repobilityId": "d5f05cb6c040161b", "scanner": "scanner-primary", "fingerprint": "e0f15b5d17aa7659", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2b86220f73390f4d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/monarch/src/lib/conservice/client.ts:106"}, "properties": {"repobilityId": "1f7a1e5ce2809289", "scanner": "scanner-primary", "fingerprint": "2b86220f73390f4d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-124118ee9baf3220", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/eslint.config.ts:180"}, "properties": {"repobilityId": "3f05bacade5c018a", "scanner": "scanner-primary", "fingerprint": "124118ee9baf3220", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9f841bf8be597932", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/app/src/lib/trpc.ts:37"}, "properties": {"repobilityId": "611a628e1d98ab41", "scanner": "scanner-primary", "fingerprint": "9f841bf8be597932", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ad9203edb1ed739c", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/report/src/dataDragon/image-cache.ts:98"}, "properties": {"repobilityId": "f0882a972ea7fe7f", "scanner": "scanner-primary", "fingerprint": "ad9203edb1ed739c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a86db8d6c8be06ba", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/http-server.ts:134"}, "properties": {"repobilityId": "ec9dc49623116bcb", "scanner": "scanner-primary", "fingerprint": "a86db8d6c8be06ba", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-65789b1984acb9dd", "level": "none", "message": {"text": "Commented-code block (12 lines) in packages/scout-for-lol/packages/backend/src/league/data-dragon/validate-assets.ts:11"}, "properties": {"repobilityId": "1b52540e6ad760ac", "scanner": "scanner-primary", "fingerprint": "65789b1984acb9dd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16b7db254cf10be8", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/postmatch/match-history-polling.ts:364"}, "properties": {"repobilityId": "af5417e5569d3c2c", "scanner": "scanner-primary", "fingerprint": "16b7db254cf10be8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f227a1510cb0092", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/prematch-notification.ts:208"}, "properties": {"repobilityId": "eb204f96bca64e7b", "scanner": "scanner-primary", "fingerprint": "2f227a1510cb0092", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee695a80ceccaa30", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/prematch-notification.integration.test.ts:10"}, "properties": {"repobilityId": "5d4bbf9e98c0a6d5", "scanner": "scanner-primary", "fingerprint": "ee695a80ceccaa30", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-74f06de14a6da003", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/loading-screen-builder.ts:183"}, "properties": {"repobilityId": "ecf33447e45e2268", "scanner": "scanner-primary", "fingerprint": "74f06de14a6da003", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce88fe3d9cf018b2", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/active-game-detection.ts:173"}, "properties": {"repobilityId": "f2935b221ee26a12", "scanner": "scanner-primary", "fingerprint": "ce88fe3d9cf018b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a1d3fe171d28eba1", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/prematch/__tests__/active-game-detection.test.ts:78"}, "properties": {"repobilityId": "54dffb8fe3a4369d", "scanner": "scanner-primary", "fingerprint": "a1d3fe171d28eba1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-408be4b9a990ab93", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/competition/lifecycle.ts:410"}, "properties": {"repobilityId": "8ff5e043f41492d2", "scanner": "scanner-primary", "fingerprint": "408be4b9a990ab93", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ac15a0da64e4cbc", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/league/tasks/competition/lifecycle.integration.test.ts:691"}, "properties": {"repobilityId": "0fb163980fc54254", "scanner": "scanner-primary", "fingerprint": "3ac15a0da64e4cbc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de5e89aa68901a72", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/league/tasks/cleanup/prune-players.ts:60"}, "properties": {"repobilityId": "2fcf899ac4132547", "scanner": "scanner-primary", "fingerprint": "de5e89aa68901a72", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-09bfe8ed06b799b9", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/league/competition/processors/most-rank-climb.ts:29"}, "properties": {"repobilityId": "36af918fa0a850b8", "scanner": "scanner-primary", "fingerprint": "09bfe8ed06b799b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-45f521261bd513c3", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/utils/champion.test.ts:141"}, "properties": {"repobilityId": "552e74df15bde2b8", "scanner": "scanner-primary", "fingerprint": "45f521261bd513c3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0fb6d76feea80196", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/database/subscriptions.integration.test.ts:279"}, "properties": {"repobilityId": "8e664014cea8fc01", "scanner": "scanner-primary", "fingerprint": "0fb6d76feea80196", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-50132cac20ae06c7", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/database/index.ts:23"}, "properties": {"repobilityId": "6fd022e4397a834c", "scanner": "scanner-primary", "fingerprint": "50132cac20ae06c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-80d859efd144723d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/voice/audio-player.ts:81"}, "properties": {"repobilityId": "52766072f0acb0b4", "scanner": "scanner-primary", "fingerprint": "80d859efd144723d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9c8e666975ee8a1d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/voice/voice-manager.ts:78"}, "properties": {"repobilityId": "f17609d7e47bf986", "scanner": "scanner-primary", "fingerprint": "9c8e666975ee8a1d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5aec19e64517f2f1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/trpc/auth-web.ts:243"}, "properties": {"repobilityId": "c772b094c7fd712c", "scanner": "scanner-primary", "fingerprint": "5aec19e64517f2f1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9d10f14f8ad9b571", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/scout-for-lol/packages/backend/src/discord/events/guild-create.ts:48"}, "properties": {"repobilityId": "a15785b8217b386f", "scanner": "scanner-primary", "fingerprint": "9d10f14f8ad9b571", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d408014f748f6691", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/metrics/report-runs.ts:90"}, "properties": {"repobilityId": "1b356e45891e5d37", "scanner": "scanner-primary", "fingerprint": "d408014f748f6691", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88ed0bb25f9041b4", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/reports/system-reports.integration.test.ts:60"}, "properties": {"repobilityId": "a9ac4e675b05d06f", "scanner": "scanner-primary", "fingerprint": "88ed0bb25f9041b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dfe3a1851360aa8b", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/reports/scheduler.integration.test.ts:70"}, "properties": {"repobilityId": "b02ef911c4a60c14", "scanner": "scanner-primary", "fingerprint": "dfe3a1851360aa8b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-362fa1c1d11fe9b4", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/scout-for-lol/packages/backend/src/reports/system-reports.ts:372"}, "properties": {"repobilityId": "43a907d65644c432", "scanner": "scanner-primary", "fingerprint": "362fa1c1d11fe9b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6b546a130284afd6", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/scout-for-lol/packages/backend/src/storage/s3.test.ts:154"}, "properties": {"repobilityId": "de074bd80bef7139", "scanner": "scanner-primary", "fingerprint": "6b546a130284afd6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e011ae2b0c190d5", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/storage/s3-leaderboard.no-bucket.test.ts:3"}, "properties": {"repobilityId": "92e1547c0a99fa02", "scanner": "scanner-primary", "fingerprint": "0e011ae2b0c190d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-41cd495410aab33e", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/scout-for-lol/packages/backend/src/storage/s3-prematch-data.no-bucket.test.ts:3"}, "properties": {"repobilityId": "9990fa732c6c89c7", "scanner": "scanner-primary", "fingerprint": "41cd495410aab33e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-096fc9875340e981", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/scout-for-lol/packages/backend/src/storage/s3-leaderboard.test.ts:302"}, "properties": {"repobilityId": "5074f2747558860a", "scanner": "scanner-primary", "fingerprint": "096fc9875340e981", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2660a70edd9a214", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/llm-observability/test/e2e/helpers.ts:97"}, "properties": {"repobilityId": "079d5e05320e63f3", "scanner": "scanner-primary", "fingerprint": "b2660a70edd9a214", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-318b75f8d132d95c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/llm-observability/test/e2e/signed-fetch.ts:79"}, "properties": {"repobilityId": "cdf6f5e48bf5be6b", "scanner": "scanner-primary", "fingerprint": "318b75f8d132d95c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9ac359faa7ec751c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/llm-observability/src/archive-uploader.ts:180"}, "properties": {"repobilityId": "8bc5311d60ff5a15", "scanner": "scanner-primary", "fingerprint": "9ac359faa7ec751c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-902243a6be9c1e17", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/starlight-karma-bot/src/karma/commands.ts:229"}, "properties": {"repobilityId": "64f2e4bcd497f0bd", "scanner": "scanner-primary", "fingerprint": "902243a6be9c1e17", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3e25ef9eef534ca7", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/streambot/integration/subtitles.integration.test.ts:492"}, "properties": {"repobilityId": "557dfd4021ff6184", "scanner": "scanner-primary", "fingerprint": "3e25ef9eef534ca7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-12e4148c0f65bd27", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/streambot/test/metrics.test.ts:37"}, "properties": {"repobilityId": "8453a28f4cbea733", "scanner": "scanner-primary", "fingerprint": "12e4148c0f65bd27", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-382095631e784d7b", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/streambot/src/sources/subtitle-io.ts:243"}, "properties": {"repobilityId": "fe8cbca106849919", "scanner": "scanner-primary", "fingerprint": "382095631e784d7b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6fd803964d384245", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/streambot/src/observability/metrics.ts:238"}, "properties": {"repobilityId": "f1fbff55a8079dde", "scanner": "scanner-primary", "fingerprint": "6fd803964d384245", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cb9b4a108d774b59", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/streambot/src/session/session-move.ts:64"}, "properties": {"repobilityId": "10f203ca08d3e730", "scanner": "scanner-primary", "fingerprint": "cb9b4a108d774b59", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6b45ba83d5012c8f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/streambot/e2e/local.ts:191"}, "properties": {"repobilityId": "aca25c7aae08e08a", "scanner": "scanner-primary", "fingerprint": "6b45ba83d5012c8f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c85da1d89e7c90d4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/streambot/e2e/local.ts:223"}, "properties": {"repobilityId": "9b118551836d64f7", "scanner": "scanner-primary", "fingerprint": "c85da1d89e7c90d4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-83169bd04d4a0663", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/eslint-config/src/rules/prefer-async-await.test.ts:67"}, "properties": {"repobilityId": "ba70442475d2cc47", "scanner": "scanner-primary", "fingerprint": "83169bd04d4a0663", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c4c72a6c9d09b739", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/eslint-config/src/rules/no-use-effect.ts:89"}, "properties": {"repobilityId": "07f7ec10eb9cdd6d", "scanner": "scanner-primary", "fingerprint": "c4c72a6c9d09b739", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3d9a0793a9ff7f3a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/toolkit/src/lib/bugsink/client.ts:47"}, "properties": {"repobilityId": "9e3d26abb0f50ffd", "scanner": "scanner-primary", "fingerprint": "3d9a0793a9ff7f3a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e92ec528ebd7422a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/toolkit/src/lib/discord/handlers.ts:124"}, "properties": {"repobilityId": "073c02897bf0324e", "scanner": "scanner-primary", "fingerprint": "e92ec528ebd7422a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-74cc89051f84f411", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/toolkit/src/lib/discord/serve.ts:151"}, "properties": {"repobilityId": "6bca42e0d57cac51", "scanner": "scanner-primary", "fingerprint": "74cc89051f84f411", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-88636ba800d72360", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/toolkit/src/lib/grafana/client.ts:41"}, "properties": {"repobilityId": "7658263b64b96f52", "scanner": "scanner-primary", "fingerprint": "88636ba800d72360", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e94bfb9af0494ae8", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/temporal/src/worker.ts:48"}, "properties": {"repobilityId": "177cc0a66d10ab18", "scanner": "scanner-primary", "fingerprint": "e94bfb9af0494ae8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1bc35000d056b410", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/temporal/src/shared/postal.ts:76"}, "properties": {"repobilityId": "de1bfd94a4304ae8", "scanner": "scanner-primary", "fingerprint": "1bc35000d056b410", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f3247ddea330a55", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/shared/postal.ts:87"}, "properties": {"repobilityId": "3cc772b6d44071dd", "scanner": "scanner-primary", "fingerprint": "3f3247ddea330a55", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e7c336a9dcdba774", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/temporal/src/shared/markdown-to-html.ts:25"}, "properties": {"repobilityId": "8310be34110ac58f", "scanner": "scanner-primary", "fingerprint": "e7c336a9dcdba774", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fbb7e38dcfe6daf2", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/temporal/src/shared/presence.ts:1"}, "properties": {"repobilityId": "39a3b4a6571ae691", "scanner": "scanner-primary", "fingerprint": "fbb7e38dcfe6daf2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5af45f7791ff631", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/shared/s3.ts:109"}, "properties": {"repobilityId": "84805789ea503b51", "scanner": "scanner-primary", "fingerprint": "d5af45f7791ff631", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-563cce73235d6678", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/observability/logs.integration.test.ts:25"}, "properties": {"repobilityId": "d01b846e04bc5eec", "scanner": "scanner-primary", "fingerprint": "563cce73235d6678", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-16e27823145ac48b", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/observability/tracing.integration.test.ts:5"}, "properties": {"repobilityId": "99304410f3a57a44", "scanner": "scanner-primary", "fingerprint": "16e27823145ac48b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dfcd059c87794d36", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/observability/tracing.integration.test.ts:23"}, "properties": {"repobilityId": "61eac12e6e70dd40", "scanner": "scanner-primary", "fingerprint": "dfcd059c87794d36", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-562a3a7f81e78ccf", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/temporal/src/observability/metrics.ts:177"}, "properties": {"repobilityId": "546c6d91de9571a7", "scanner": "scanner-primary", "fingerprint": "562a3a7f81e78ccf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-276b63ea97039823", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/observability/metrics.ts:461"}, "properties": {"repobilityId": "8ecd0e77e6e52a58", "scanner": "scanner-primary", "fingerprint": "276b63ea97039823", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-01302e90ebb61b25", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/observability/tracing.ts:148"}, "properties": {"repobilityId": "8074371332bd90f2", "scanner": "scanner-primary", "fingerprint": "01302e90ebb61b25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bdb3a17f437c8a9f", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/temporal/src/lib/block-diff.test.ts:143"}, "properties": {"repobilityId": "0272a671da2bbef1", "scanner": "scanner-primary", "fingerprint": "bdb3a17f437c8a9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec28d569cee6262e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/lib/hybrid-retrieval.ts:332"}, "properties": {"repobilityId": "b5e15476dd6aa72f", "scanner": "scanner-primary", "fingerprint": "ec28d569cee6262e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5624c94d961c188e", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/temporal/src/lib/pr-review/embedding.ts:88"}, "properties": {"repobilityId": "f93a222e7315fc7b", "scanner": "scanner-primary", "fingerprint": "5624c94d961c188e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21e00f10e3ae561c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/fetcher.ts:100"}, "properties": {"repobilityId": "b55094582c25b75b", "scanner": "scanner-primary", "fingerprint": "21e00f10e3ae561c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7f047205ab3911b0", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/temporal/src/activities/readme-refresh.ts:33"}, "properties": {"repobilityId": "3a79eb86f2f7b02c", "scanner": "scanner-primary", "fingerprint": "7f047205ab3911b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c4a90f68e0c9550", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/activities/bugsink.ts:20"}, "properties": {"repobilityId": "c5bc878a2012b181", "scanner": "scanner-primary", "fingerprint": "7c4a90f68e0c9550", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b7094968271fa29", "level": "none", "message": {"text": "Commented-code block (12 lines) in packages/temporal/src/activities/homelab-audit.ts:46"}, "properties": {"repobilityId": "d740377c04619b13", "scanner": "scanner-primary", "fingerprint": "4b7094968271fa29", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d9b4c1ef3c539be6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/golink-sync.ts:18"}, "properties": {"repobilityId": "3988be87cdd45a8e", "scanner": "scanner-primary", "fingerprint": "d9b4c1ef3c539be6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-95e66f9cd210bdcb", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/activities/zfs-maintenance.ts:3"}, "properties": {"repobilityId": "8fb631f02bca98dc", "scanner": "scanner-primary", "fingerprint": "95e66f9cd210bdcb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1818cdd88a13842d", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/temporal/src/activities/agent-task.test.ts:88"}, "properties": {"repobilityId": "8073c1052c46650e", "scanner": "scanner-primary", "fingerprint": "1818cdd88a13842d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e8df18be473503a", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/temporal/src/activities/data-dragon.ts:228"}, "properties": {"repobilityId": "4874c5049095484e", "scanner": "scanner-primary", "fingerprint": "0e8df18be473503a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a1ddea8643dd98b9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/data-dragon.ts:102"}, "properties": {"repobilityId": "ac7a7d702f0518b0", "scanner": "scanner-primary", "fingerprint": "a1ddea8643dd98b9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5c180058c03adaa2", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/temporal/src/activities/alert-remediation.ts:341"}, "properties": {"repobilityId": "9c60740f73e7652c", "scanner": "scanner-primary", "fingerprint": "5c180058c03adaa2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-24c9ada9d620276c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/pr-review/deterministic-signals.ts:217"}, "properties": {"repobilityId": "648443db8ac878f7", "scanner": "scanner-primary", "fingerprint": "24c9ada9d620276c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-83f83e931742cfcc", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/temporal/src/activities/pr-review/summary-prompts.test.ts:22"}, "properties": {"repobilityId": "7da64657b02116ec", "scanner": "scanner-primary", "fingerprint": "83f83e931742cfcc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4e8570c76fec0a59", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/pr-review/verify-target-helpers.ts:79"}, "properties": {"repobilityId": "1ea40de0a2a4a2a1", "scanner": "scanner-primary", "fingerprint": "4e8570c76fec0a59", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-54fcae3890cd6c68", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/temporal/src/activities/pr-review/verify-runner.ts:118"}, "properties": {"repobilityId": "9702f0e27c27712d", "scanner": "scanner-primary", "fingerprint": "54fcae3890cd6c68", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-41635b23f88e0fa5", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/activities/pr-review/verify.ts:167"}, "properties": {"repobilityId": "02ad3a56d368f0e7", "scanner": "scanner-primary", "fingerprint": "41635b23f88e0fa5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-18bc7a239edcf7d9", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/activities/pr-review/specialists/correctness.test.ts:301"}, "properties": {"repobilityId": "ecc7f2d51961d47b", "scanner": "scanner-primary", "fingerprint": "18bc7a239edcf7d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8eca330956e09bda", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/activities/pr-review-eval/discord-post.ts:12"}, "properties": {"repobilityId": "f1f52b0c98e5b505", "scanner": "scanner-primary", "fingerprint": "8eca330956e09bda", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f2a2576ed8d946aa", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/temporal/src/activities/pr-review-eval/replay.ts:138"}, "properties": {"repobilityId": "6ef6ecd88f3ccb35", "scanner": "scanner-primary", "fingerprint": "f2a2576ed8d946aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38a34b3b876ada2a", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/temporal/src/workflows/bundle.test.ts:4"}, "properties": {"repobilityId": "eb537d058c0101af", "scanner": "scanner-primary", "fingerprint": "38a34b3b876ada2a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f3d63f0c4579acc3", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/workflows/readme-refresh.ts:8"}, "properties": {"repobilityId": "c9d54d3bb77ceea6", "scanner": "scanner-primary", "fingerprint": "f3d63f0c4579acc3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8d7902f90127a954", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/workflows/homelab-audit.ts:14"}, "properties": {"repobilityId": "a97c2cb57fbc0b00", "scanner": "scanner-primary", "fingerprint": "8d7902f90127a954", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2b356ea4d8bedae6", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/workflows/data-dragon.ts:22"}, "properties": {"repobilityId": "eba8bffd95ef62d3", "scanner": "scanner-primary", "fingerprint": "2b356ea4d8bedae6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-69d1ab4aa2fd4781", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/workflows/alert-remediation.ts:200"}, "properties": {"repobilityId": "13161e7e595f6de8", "scanner": "scanner-primary", "fingerprint": "69d1ab4aa2fd4781", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7bbee21a14c97ed9", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/workflows/pr-review-eval/index.ts:145"}, "properties": {"repobilityId": "f19bece484f1adb6", "scanner": "scanner-primary", "fingerprint": "7bbee21a14c97ed9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-278af27d1b15de02", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/workflows/pr-review-eval/weekly-significance.ts:56"}, "properties": {"repobilityId": "0fdfc6287e30191e", "scanner": "scanner-primary", "fingerprint": "278af27d1b15de02", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-286ba4a5ee2f9800", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/schedules/register-schedules.test.ts:13"}, "properties": {"repobilityId": "61ebf5ae98c069f3", "scanner": "scanner-primary", "fingerprint": "286ba4a5ee2f9800", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de169235a4dbd4c9", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/event-bridge/github-webhook.ts:128"}, "properties": {"repobilityId": "a045490b331ac5e5", "scanner": "scanner-primary", "fingerprint": "de169235a4dbd4c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6922da6ec072d9f5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/event-bridge/agent-task-api.test.ts:38"}, "properties": {"repobilityId": "df52cbe7868dc60d", "scanner": "scanner-primary", "fingerprint": "6922da6ec072d9f5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e1f83f5578114e57", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/temporal/src/event-bridge/github-webhook.test.ts:118"}, "properties": {"repobilityId": "74a85c37845db467", "scanner": "scanner-primary", "fingerprint": "e1f83f5578114e57", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9d0fdf26b275da1f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/temporal/src/event-bridge/pr-pipeline-starts.ts:100"}, "properties": {"repobilityId": "3ec1f2c02b318ac1", "scanner": "scanner-primary", "fingerprint": "9d0fdf26b275da1f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-137d0412f2c4645d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/webring/src/cache.ts:98"}, "properties": {"repobilityId": "c1fbc741fa5cb0a5", "scanner": "scanner-primary", "fingerprint": "137d0412f2c4645d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dfbb2ae6aa5835dc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/webring/src/index.test.ts:19"}, "properties": {"repobilityId": "7e7e797dbbe8857a", "scanner": "scanner-primary", "fingerprint": "dfbb2ae6aa5835dc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-551eada75d80e1de", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/discord-plays-mario-kart/scripts/fetch-wasm.ts:7"}, "properties": {"repobilityId": "1e001de385b07314", "scanner": "scanner-primary", "fingerprint": "551eada75d80e1de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-64f0dab4e73e0302", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-mario-kart/scripts/fetch-wasm.ts:43"}, "properties": {"repobilityId": "42d2ed9ec59ae596", "scanner": "scanner-primary", "fingerprint": "64f0dab4e73e0302", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8e67f6d49f76912a", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/discord-plays-mario-kart/packages/frontend/src/app.tsx:111"}, "properties": {"repobilityId": "2b2631b1b22159d5", "scanner": "scanner-primary", "fingerprint": "8e67f6d49f76912a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ebcb752782156ede", "level": "none", "message": {"text": "Commented-code block (10 lines) in packages/discord-plays-mario-kart/packages/frontend/src/stories/loading-spinner.tsx:7"}, "properties": {"repobilityId": "898a4be8dffefd06", "scanner": "scanner-primary", "fingerprint": "ebcb752782156ede", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27de4e130e9aea5c", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/eslint.config.ts:5"}, "properties": {"repobilityId": "1f2173ad66bc7a2f", "scanner": "scanner-primary", "fingerprint": "27de4e130e9aea5c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f285fccbf92c9731", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-race.ts:1"}, "properties": {"repobilityId": "ba623908c37c940e", "scanner": "scanner-primary", "fingerprint": "f285fccbf92c9731", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-875ffa60bfb8006a", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-perf-browser.ts:1"}, "properties": {"repobilityId": "59cf9bc5673e06f2", "scanner": "scanner-primary", "fingerprint": "875ffa60bfb8006a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d17af62d8657ea9", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-perf.ts:1"}, "properties": {"repobilityId": "5ab52c02601841b8", "scanner": "scanner-primary", "fingerprint": "0d17af62d8657ea9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bfeaae460e8174a7", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-input-assert.ts:3"}, "properties": {"repobilityId": "c3a17333ccdde617", "scanner": "scanner-primary", "fingerprint": "bfeaae460e8174a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dbe28a3e7e5a6ede", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/e2e-audio.ts:5"}, "properties": {"repobilityId": "71a2311dc46236f1", "scanner": "scanner-primary", "fingerprint": "dbe28a3e7e5a6ede", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2bf856490a05c790", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/lib/perf-config.ts:1"}, "properties": {"repobilityId": "0f53ba37d49e1d34", "scanner": "scanner-primary", "fingerprint": "2bf856490a05c790", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27ecf877ea957e57", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/scripts/lib/bench-metrics.ts:389"}, "properties": {"repobilityId": "9e438b8d2719a080", "scanner": "scanner-primary", "fingerprint": "27ecf877ea957e57", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-24291d13ddba4572", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/src/index.ts:8"}, "properties": {"repobilityId": "549060339bcbacbc", "scanner": "scanner-primary", "fingerprint": "24291d13ddba4572", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93625fda85e11740", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/src/logger.ts:3"}, "properties": {"repobilityId": "c395f1dab16aab57", "scanner": "scanner-primary", "fingerprint": "93625fda85e11740", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-382941d7a0d68e66", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/discord-plays-mario-kart/packages/backend/src/input/input-latency-tracker.ts:1"}, "properties": {"repobilityId": "d001ca093eefaab9", "scanner": "scanner-primary", "fingerprint": "382941d7a0d68e66", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8dc832bf1a5e9e2", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/discord-plays-mario-kart/packages/backend/src/stream/stream-observer.ts:1"}, "properties": {"repobilityId": "649a05340b5593d4", "scanner": "scanner-primary", "fingerprint": "b8dc832bf1a5e9e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-375b83abf7d9b977", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/src/stream/overlay.ts:1"}, "properties": {"repobilityId": "b771dc861774dd34", "scanner": "scanner-primary", "fingerprint": "375b83abf7d9b977", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2713059e8d7079db", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-mario-kart/packages/backend/src/discord/channel-handler.ts:51"}, "properties": {"repobilityId": "ca5e01d4bbccbfec", "scanner": "scanner-primary", "fingerprint": "2713059e8d7079db", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8f387afe49ac70e6", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/discord-plays-mario-kart/packages/backend/src/emulator/png.ts:24"}, "properties": {"repobilityId": "224ac7ea12a48ead", "scanner": "scanner-primary", "fingerprint": "8f387afe49ac70e6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fee9368df54b734e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/src/emulator/config-txt.ts:1"}, "properties": {"repobilityId": "39488fc82b88749b", "scanner": "scanner-primary", "fingerprint": "fee9368df54b734e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-106fa2b682d3755e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-mario-kart/packages/backend/src/emulator/constants.ts:20"}, "properties": {"repobilityId": "2157f607a01afc96", "scanner": "scanner-primary", "fingerprint": "106fa2b682d3755e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e8d23af0a636950", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/discord-plays-mario-kart/packages/backend/src/webserver/dispatch.test.ts:1"}, "properties": {"repobilityId": "e6195f54bc4e7639", "scanner": "scanner-primary", "fingerprint": "8e8d23af0a636950", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9f6cbf7271e52dd1", "level": "none", "message": {"text": "Commented-code block (19 lines) in packages/discord-plays-mario-kart/wasm-src/code/src/mupen64plus-core/tools/regtests/regression-video.py:4"}, "properties": {"repobilityId": "cdbf9275e6cc65a7", "scanner": "scanner-primary", "fingerprint": "9f6cbf7271e52dd1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6dc65043e071f763", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/scripts/check-docker-images.ts:190"}, "properties": {"repobilityId": "b307bc7370371ad1", "scanner": "scanner-primary", "fingerprint": "6dc65043e071f763", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-918fedfead523d65", "level": "note", "message": {"text": "Legacy-named symbol `parse_backup` in packages/homelab/scripts/velero/velero-report.py:75"}, "properties": {"repobilityId": "6dec4155d1999462", "scanner": "scanner-primary", "fingerprint": "918fedfead523d65", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8d629c512288e683", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/cdk8s/scripts/r2-prefix-inventory.ts:139"}, "properties": {"repobilityId": "74cd146c09545c7a", "scanner": "scanner-primary", "fingerprint": "8d629c512288e683", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dc901bb56c4a87dd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/cdk8s/scripts/snapshot-1password-vault.ts:121"}, "properties": {"repobilityId": "bb66687727b249a4", "scanner": "scanner-primary", "fingerprint": "dc901bb56c4a87dd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2f192a4b56bd8d63", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/scripts/generate-helm-types.ts:31"}, "properties": {"repobilityId": "a73b7f0640d63e37", "scanner": "scanner-primary", "fingerprint": "2f192a4b56bd8d63", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-937e516f7ebdbfca", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/cdk8s/scripts/grafana-dashboard-audit.ts:81"}, "properties": {"repobilityId": "d6d9f9a995648d22", "scanner": "scanner-primary", "fingerprint": "937e516f7ebdbfca", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-32c1063dc4229c9b", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/scripts/onepassword-lib.ts:36"}, "properties": {"repobilityId": "f12f96ae8681564c", "scanner": "scanner-primary", "fingerprint": "32c1063dc4229c9b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de1e411eddf0fda4", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/grafana/smartctl-dashboard.ts:14"}, "properties": {"repobilityId": "a06351c1972422f0", "scanner": "scanner-primary", "fingerprint": "de1e411eddf0fda4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94ee0522023b7019", "level": "note", "message": {"text": "Legacy-named symbol `label_velero_io_backup` in packages/homelab/src/cdk8s/grafana/dashboard-query-health.test.ts:40"}, "properties": {"repobilityId": "357387c6dcb296c9", "scanner": "scanner-primary", "fingerprint": "94ee0522023b7019", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4f22bce836e60fcc", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/grafana/scout-dashboard.ts:310"}, "properties": {"repobilityId": "fc01237ad102dbf5", "scanner": "scanner-primary", "fingerprint": "4f22bce836e60fcc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eb57a1cdb84752d7", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/grafana/dashboard-export.ts:53"}, "properties": {"repobilityId": "e233b18b782529ae", "scanner": "scanner-primary", "fingerprint": "eb57a1cdb84752d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-546f697ff0a54ca2", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/grafana/temporal-dashboard.ts:115"}, "properties": {"repobilityId": "f046941d2e9086d4", "scanner": "scanner-primary", "fingerprint": "546f697ff0a54ca2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd19e75d506cdac1", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/homelab/src/cdk8s/src/argocd-helm-render.test.ts:158"}, "properties": {"repobilityId": "8598a795f3881347", "scanner": "scanner-primary", "fingerprint": "bd19e75d506cdac1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-459ee106b30e2655", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/helm-template.test.ts:133"}, "properties": {"repobilityId": "46c591ff5ba6d2f3", "scanner": "scanner-primary", "fingerprint": "459ee106b30e2655", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8cf8f1e795102f39", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/versions.ts:26"}, "properties": {"repobilityId": "938fcf00cdb670da", "scanner": "scanner-primary", "fingerprint": "8cf8f1e795102f39", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aada8cd1f2d8a627", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/cdk8s/src/eufy-tarball-integrity.test.ts:33"}, "properties": {"repobilityId": "b6f0db9f8ee5acbb", "scanner": "scanner-primary", "fingerprint": "aada8cd1f2d8a627", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9ffba8147894341e", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/src/resources/mario-kart.ts:25"}, "properties": {"repobilityId": "5029a13810bee5f8", "scanner": "scanner-primary", "fingerprint": "9ffba8147894341e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-79624eebffaca7b3", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/pokemon.ts:27"}, "properties": {"repobilityId": "68d5a48cef3f7cd5", "scanner": "scanner-primary", "fingerprint": "79624eebffaca7b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c24a2613872e6a86", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/streambot.ts:72"}, "properties": {"repobilityId": "c8b0b3553329c6c5", "scanner": "scanner-primary", "fingerprint": "c24a2613872e6a86", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-163a2c85f67a7290", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/bugsink/index.ts:26"}, "properties": {"repobilityId": "5b3040b67db32ddb", "scanner": "scanner-primary", "fingerprint": "163a2c85f67a7290", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8bc675d8335a96bc", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/kubernetes-event-exporter.ts:150"}, "properties": {"repobilityId": "fd3723c1ea8c964c", "scanner": "scanner-primary", "fingerprint": "8bc675d8335a96bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22b29a1310d4b149", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/scout.ts:66"}, "properties": {"repobilityId": "52785490204c294e", "scanner": "scanner-primary", "fingerprint": "22b29a1310d4b149", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad66786dd036211e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/dagger.ts:10"}, "properties": {"repobilityId": "2dba80cac7d96825", "scanner": "scanner-primary", "fingerprint": "ad66786dd036211e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-23d0e5d024e43942", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/smartctl.ts:5"}, "properties": {"repobilityId": "bd651949b8d80e40", "scanner": "scanner-primary", "fingerprint": "23d0e5d024e43942", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-37a43937f2df65b1", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/tasknotes.ts:64"}, "properties": {"repobilityId": "58ba0127ca1d09ae", "scanner": "scanner-primary", "fingerprint": "37a43937f2df65b1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c6fd7860b9989241", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/zfs-maintenance.ts:10"}, "properties": {"repobilityId": "efa2594538fb9261", "scanner": "scanner-primary", "fingerprint": "c6fd7860b9989241", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84cc0a0c0de6a5cb", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/nvme.ts:5"}, "properties": {"repobilityId": "27fa9a36a85b3045", "scanner": "scanner-primary", "fingerprint": "84cc0a0c0de6a5cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c0d6150feda12ac", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/monitoring/monitoring/rules/temporal.ts:7"}, "properties": {"repobilityId": "fe67b135f9c90136", "scanner": "scanner-primary", "fingerprint": "5c0d6150feda12ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1da5bbbe2c9c6f2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 packages/homelab/src/cdk8s/src/resources/monitoring/scripts/nvme_metrics.py:141"}, "properties": {"repobilityId": "cf768d77ddc07e2c", "scanner": "scanner-primary", "fingerprint": "b1da5bbbe2c9c6f2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fb725757b98f04d2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 packages/homelab/src/cdk8s/src/resources/monitoring/scripts/zfs_snapshots.py:42"}, "properties": {"repobilityId": "5191c6e957b411ad", "scanner": "scanner-primary", "fingerprint": "fb725757b98f04d2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b7e3f36b90f5204c", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/pinchtab/index.ts:28"}, "properties": {"repobilityId": "9b807450cf23c847", "scanner": "scanner-primary", "fingerprint": "b7e3f36b90f5204c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a31e94a325e164a9", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/media/plex.ts:73"}, "properties": {"repobilityId": "35b777c8cf72a528", "scanner": "scanner-primary", "fingerprint": "a31e94a325e164a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce85852a39a33c18", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/minecraft-shuxin.ts:126"}, "properties": {"repobilityId": "e8e81f48e38c2272", "scanner": "scanner-primary", "fingerprint": "ce85852a39a33c18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-936d27c438bbc170", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/prometheus.ts:198"}, "properties": {"repobilityId": "25ba989df508dbb6", "scanner": "scanner-primary", "fingerprint": "936d27c438bbc170", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9bb4b74a1c92f83b", "level": "note", "message": {"text": "Legacy-named symbol `enable_alertmanager_v2` in packages/homelab/src/cdk8s/src/resources/argo-applications/loki.ts:305"}, "properties": {"repobilityId": "21550843eb1c7ed2", "scanner": "scanner-primary", "fingerprint": "9bb4b74a1c92f83b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-024aa336f5182d23", "level": "none", "message": {"text": "Commented-code block (13 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/buildkite.ts:68"}, "properties": {"repobilityId": "241cd1d712f7aab0", "scanner": "scanner-primary", "fingerprint": "024aa336f5182d23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-888823d9efbb6e7e", "level": "note", "message": {"text": "Legacy-named symbol `metadata_v2` in packages/homelab/src/cdk8s/src/resources/argo-applications/dagger.ts:290"}, "properties": {"repobilityId": "26ef4895c0e186fe", "scanner": "scanner-primary", "fingerprint": "888823d9efbb6e7e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bcd9b078c57e493e", "level": "none", "message": {"text": "Commented-code block (14 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/dagger.ts:288"}, "properties": {"repobilityId": "388487e759d86956", "scanner": "scanner-primary", "fingerprint": "bcd9b078c57e493e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7eaff2a4cd97173d", "level": "none", "message": {"text": "Commented-code block (17 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/cert-manager.ts:38"}, "properties": {"repobilityId": "5b7eb7d8d41dac3c", "scanner": "scanner-primary", "fingerprint": "7eaff2a4cd97173d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f8160c8306454671", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/minecraft-sjerred.ts:30"}, "properties": {"repobilityId": "756343190467a5e6", "scanner": "scanner-primary", "fingerprint": "f8160c8306454671", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-02b1957e9891b3f7", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/argocd.ts:16"}, "properties": {"repobilityId": "4e7e92c001cd0de7", "scanner": "scanner-primary", "fingerprint": "02b1957e9891b3f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-da7f715ce3e8aac2", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/kyverno.ts:27"}, "properties": {"repobilityId": "9d063ce49a418e06", "scanner": "scanner-primary", "fingerprint": "da7f715ce3e8aac2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0cb29c30997655f4", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/pyroscope.ts:37"}, "properties": {"repobilityId": "95ed13e996f484d8", "scanner": "scanner-primary", "fingerprint": "0cb29c30997655f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2f715ec5d545b57", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/resources/argo-applications/minecraft-tsmc.ts:30"}, "properties": {"repobilityId": "2def02fce8969e53", "scanner": "scanner-primary", "fingerprint": "e2f715ec5d545b57", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-32b4e7ce486638d5", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/homelab/src/cdk8s/src/resources/temporal/worker.ts:312"}, "properties": {"repobilityId": "e19482e29e62acdf", "scanner": "scanner-primary", "fingerprint": "32b4e7ce486638d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-12804581a6549de8", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/resources/birmel/index.ts:151"}, "properties": {"repobilityId": "7275e254d9b72c11", "scanner": "scanner-primary", "fingerprint": "12804581a6549de8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ce0e7a14d37b0d7", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/homelab/src/cdk8s/src/resources/mcp-gateway/index.ts:28"}, "properties": {"repobilityId": "9d0850280b4df56f", "scanner": "scanner-primary", "fingerprint": "9ce0e7a14d37b0d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6108ea420df032ce", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/cdk8s-charts/scout.ts:26"}, "properties": {"repobilityId": "4da74cf425f8f2ec", "scanner": "scanner-primary", "fingerprint": "6108ea420df032ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c8521fea9a3f86d6", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/cdk8s-charts/apps.ts:131"}, "properties": {"repobilityId": "026f1db947cf7190", "scanner": "scanner-primary", "fingerprint": "c8521fea9a3f86d6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19009361d4c1d327", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/cdk8s-charts/home.ts:120"}, "properties": {"repobilityId": "111620afc780940f", "scanner": "scanner-primary", "fingerprint": "19009361d4c1d327", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40739e2910fa592e", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/homelab/src/cdk8s/src/cdk8s-charts/temporal.ts:34"}, "properties": {"repobilityId": "a05c7716ff3661f1", "scanner": "scanner-primary", "fingerprint": "40739e2910fa592e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62e02b54e5dd99c0", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/misc/s3-static-site.ts:264"}, "properties": {"repobilityId": "b9ce44c721728363", "scanner": "scanner-primary", "fingerprint": "62e02b54e5dd99c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c728d49ba846444d", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/misc/blackbox-modules.ts:13"}, "properties": {"repobilityId": "478b66bb70f73565", "scanner": "scanner-primary", "fingerprint": "c728d49ba846444d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f77907013b2e036f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/cdk8s/src/misc/common.ts:13"}, "properties": {"repobilityId": "3497516897764686", "scanner": "scanner-primary", "fingerprint": "f77907013b2e036f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e5bee2fd415c49a0", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/homelab/src/cdk8s/src/cdk8s-types/cfargotunnel.ts:5"}, "properties": {"repobilityId": "f796e16cb4f40077", "scanner": "scanner-primary", "fingerprint": "e5bee2fd415c49a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-af02d1bcf03ca0f8", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/helm-types/src/yaml-preprocessing.test.ts:277"}, "properties": {"repobilityId": "c675d3342005eae8", "scanner": "scanner-primary", "fingerprint": "af02d1bcf03ca0f8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cb4503a7524ecda4", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/homelab/src/helm-types/src/type-converter.ts:475"}, "properties": {"repobilityId": "2853f65662c42e73", "scanner": "scanner-primary", "fingerprint": "cb4503a7524ecda4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a1dff8f04d81689", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/homelab/src/helm-types/src/cli.test.ts:185"}, "properties": {"repobilityId": "fbcba662af54890f", "scanner": "scanner-primary", "fingerprint": "1a1dff8f04d81689", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-517208bd7070fb0b", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/homelab/src/talos/update-image-id.ts:11"}, "properties": {"repobilityId": "39ea9b8a555f48ca", "scanner": "scanner-primary", "fingerprint": "517208bd7070fb0b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-79cccbb3caf58a3c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/homelab/src/talos/update-image-id.ts:47"}, "properties": {"repobilityId": "cff28be3e1d7501b", "scanner": "scanner-primary", "fingerprint": "79cccbb3caf58a3c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8612c977e8aa2859", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/birmel/tests/utils/logger.test.ts:12"}, "properties": {"repobilityId": "769754d9b76d6966", "scanner": "scanner-primary", "fingerprint": "8612c977e8aa2859", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-517ee52d8a11cd23", "level": "note", "message": {"text": "Legacy-named symbol `rs_legacy` in packages/birmel/tests/voltagent/memory/sanitize.test.ts:109"}, "properties": {"repobilityId": "d471ecd0c5d84a00", "scanner": "scanner-primary", "fingerprint": "517ee52d8a11cd23", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-727bcc3c92188339", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/automation/pinchtab-browser.ts:29"}, "properties": {"repobilityId": "d763ab4e3a54f8f1", "scanner": "scanner-primary", "fingerprint": "727bcc3c92188339", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-aec5f5d8ebd2305e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/external/web-actions.ts:36"}, "properties": {"repobilityId": "d45552c58d1c2393", "scanner": "scanner-primary", "fingerprint": "aec5f5d8ebd2305e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-96127f6211ddb19a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/external/web.ts:24"}, "properties": {"repobilityId": "bfb3f7ea76e88ba6", "scanner": "scanner-primary", "fingerprint": "96127f6211ddb19a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8fe0b0dbf4a761d5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/external/research.ts:51"}, "properties": {"repobilityId": "fae57636cbb507d3", "scanner": "scanner-primary", "fingerprint": "8fe0b0dbf4a761d5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2351b10b3ea2f4c7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/members.ts:86"}, "properties": {"repobilityId": "e24cb00d2f6a3436", "scanner": "scanner-primary", "fingerprint": "2351b10b3ea2f4c7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-815982710b3b7e65", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/webhook-actions.ts:23"}, "properties": {"repobilityId": "4cd24ace67fc1282", "scanner": "scanner-primary", "fingerprint": "815982710b3b7e65", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1feaf4e992d4868f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/messages.ts:76"}, "properties": {"repobilityId": "6608fd3cd4cfd975", "scanner": "scanner-primary", "fingerprint": "1feaf4e992d4868f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6aaa94fdd5a79a79", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/channel-resolver.ts:97"}, "properties": {"repobilityId": "9474e181f33f2691", "scanner": "scanner-primary", "fingerprint": "6aaa94fdd5a79a79", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7a3e42936e88dbb5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/role-actions.ts:65"}, "properties": {"repobilityId": "a2e3b641899206ef", "scanner": "scanner-primary", "fingerprint": "7a3e42936e88dbb5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ceb37e2dd08c23b8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/automod-actions.ts:24"}, "properties": {"repobilityId": "1aec5e348491a0e3", "scanner": "scanner-primary", "fingerprint": "ceb37e2dd08c23b8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3e6bbe43efbb8933", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/invites.ts:27"}, "properties": {"repobilityId": "dbf0e83f20be234e", "scanner": "scanner-primary", "fingerprint": "3e6bbe43efbb8933", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-47f54f1343bd5da0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/guild.ts:82"}, "properties": {"repobilityId": "0b7f2881547968a1", "scanner": "scanner-primary", "fingerprint": "47f54f1343bd5da0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8f9bf5a785e5f031", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/message-actions.ts:118"}, "properties": {"repobilityId": "f51ca29a96026203", "scanner": "scanner-primary", "fingerprint": "8f9bf5a785e5f031", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4387544b42081b04", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/poll-actions.ts:121"}, "properties": {"repobilityId": "b463bfae3ce3e90f", "scanner": "scanner-primary", "fingerprint": "4387544b42081b04", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-451c6d43578d0b62", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/event-actions.ts:25"}, "properties": {"repobilityId": "1737537ebbc842c8", "scanner": "scanner-primary", "fingerprint": "451c6d43578d0b62", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ce2ad6e62bb029b6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/moderation.ts:26"}, "properties": {"repobilityId": "47d0c492d111e2c5", "scanner": "scanner-primary", "fingerprint": "ce2ad6e62bb029b6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a32c9bd7b622c20b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/polls.ts:103"}, "properties": {"repobilityId": "f60aae4ef9c92526", "scanner": "scanner-primary", "fingerprint": "a32c9bd7b622c20b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-652a5e0ba30b8d64", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/emojis.ts:66"}, "properties": {"repobilityId": "db0c934712e608a8", "scanner": "scanner-primary", "fingerprint": "652a5e0ba30b8d64", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-978057cbde3c72ee", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/thread-actions.ts:64"}, "properties": {"repobilityId": "d8e7b234cc50ffe7", "scanner": "scanner-primary", "fingerprint": "978057cbde3c72ee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-882aab80525b6f4e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/events.ts:146"}, "properties": {"repobilityId": "ef20584e92480004", "scanner": "scanner-primary", "fingerprint": "882aab80525b6f4e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f7a1a9b2e5bc4e5c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/roles.ts:118"}, "properties": {"repobilityId": "e1004892f4de1ec8", "scanner": "scanner-primary", "fingerprint": "f7a1a9b2e5bc4e5c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3d3bf1945c6c12ee", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/channel-actions.ts:34"}, "properties": {"repobilityId": "1539c50f0cbf9d24", "scanner": "scanner-primary", "fingerprint": "3d3bf1945c6c12ee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e8de269bfbdfa5d7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/automod.ts:194"}, "properties": {"repobilityId": "7fd10c0dd56814d4", "scanner": "scanner-primary", "fingerprint": "e8de269bfbdfa5d7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c453bcd46e6da5da", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/discord/member-actions.ts:48"}, "properties": {"repobilityId": "725e2b9582cc4001", "scanner": "scanner-primary", "fingerprint": "c453bcd46e6da5da", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-df72d9664b616478", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/birmel/src/agent-tools/tools/memory/index.ts:19"}, "properties": {"repobilityId": "e2fb3e0c32778c2e", "scanner": "scanner-primary", "fingerprint": "df72d9664b616478", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-71a24e69dda1a74d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/editor/edit-repo.ts:178"}, "properties": {"repobilityId": "843194b757cd4ad0", "scanner": "scanner-primary", "fingerprint": "71a24e69dda1a74d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a8b6b45141af98d6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/editor/connect-github.ts:95"}, "properties": {"repobilityId": "2e94a7fdd0dab456", "scanner": "scanner-primary", "fingerprint": "a8b6b45141af98d6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-51fc00fcfcbca848", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/agent-tools/tools/music/playback-actions.ts:113"}, "properties": {"repobilityId": "59fed09527482845", "scanner": "scanner-primary", "fingerprint": "51fc00fcfcbca848", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-38664282b02f2a06", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/birmel/src/utils/logger.ts:102"}, "properties": {"repobilityId": "fc98892e873e71f6", "scanner": "scanner-primary", "fingerprint": "38664282b02f2a06", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-53856b537279225f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/birmel/src/observability/logs.integration.test.ts:1"}, "properties": {"repobilityId": "c6f02ddae0808d44", "scanner": "scanner-primary", "fingerprint": "53856b537279225f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eb3f924e0bf1343f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/observability/logs.integration.test.ts:41"}, "properties": {"repobilityId": "323df2e1a6fafe37", "scanner": "scanner-primary", "fingerprint": "eb3f924e0bf1343f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1989f3de0cd70b11", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/birmel/src/observability/sentry.ts:1"}, "properties": {"repobilityId": "47851622b7a042c6", "scanner": "scanner-primary", "fingerprint": "1989f3de0cd70b11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8831c10605133f1e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/birmel/src/observability/tracing.integration.test.ts:12"}, "properties": {"repobilityId": "f59695c03bca9ec8", "scanner": "scanner-primary", "fingerprint": "8831c10605133f1e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-135e24d0595063c0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/observability/tracing.integration.test.ts:50"}, "properties": {"repobilityId": "2d50c02a6a1393a6", "scanner": "scanner-primary", "fingerprint": "135e24d0595063c0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4b7cadb3e4ddf821", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/birmel/src/observability/tracing.ts:36"}, "properties": {"repobilityId": "fa514ad612f54218", "scanner": "scanner-primary", "fingerprint": "4b7cadb3e4ddf821", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-537f3e417ebdacb5", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/birmel/src/voltagent/message-handler.ts:34"}, "properties": {"repobilityId": "4716308583118252", "scanner": "scanner-primary", "fingerprint": "537f3e417ebdacb5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-483744653fd40ae2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/discord/polls/helpers.ts:178"}, "properties": {"repobilityId": "986186cdbceeda10", "scanner": "scanner-primary", "fingerprint": "483744653fd40ae2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-be52f2f522aac7fc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/editor/github-oauth.ts:52"}, "properties": {"repobilityId": "cd3ee37c9de16836", "scanner": "scanner-primary", "fingerprint": "be52f2f522aac7fc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-22a501f78e829a95", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/scheduler/jobs/birthday-checker.ts:89"}, "properties": {"repobilityId": "7ba63838a214da97", "scanner": "scanner-primary", "fingerprint": "22a501f78e829a95", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5472d9c35b5eda03", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/scheduler/jobs/elections.ts:145"}, "properties": {"repobilityId": "5be11b515599e12b", "scanner": "scanner-primary", "fingerprint": "5472d9c35b5eda03", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4d96a466bb63f7f4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/src/scheduler/jobs/activity-aggregator.ts:122"}, "properties": {"repobilityId": "cea72fbcabf8d227", "scanner": "scanner-primary", "fingerprint": "4d96a466bb63f7f4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-23bc691f24837530", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/e2e/openclaw-capabilities-container.ts:41"}, "properties": {"repobilityId": "080a158810fe9d7f", "scanner": "scanner-primary", "fingerprint": "23bc691f24837530", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9e51c071b13d25e0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/birmel/e2e/music-playback.ts:92"}, "properties": {"repobilityId": "d6dc4d7f519ddc20", "scanner": "scanner-primary", "fingerprint": "9e51c071b13d25e0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-07170e15b820a47a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/scripts/generate-species-data.ts:15"}, "properties": {"repobilityId": "ca099af9bf61e7f0", "scanner": "scanner-primary", "fingerprint": "07170e15b820a47a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-660fb5477f93fe7e", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/discord-plays-pokemon/scripts/fetch-wasm.ts:7"}, "properties": {"repobilityId": "4b21e794584cb1b6", "scanner": "scanner-primary", "fingerprint": "660fb5477f93fe7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e55cc9a04aaec7e1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/scripts/fetch-wasm.ts:43"}, "properties": {"repobilityId": "195e7440e27fb12c", "scanner": "scanner-primary", "fingerprint": "e55cc9a04aaec7e1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cffd996cc76d189b", "level": "none", "message": {"text": "Commented-code block (10 lines) in packages/discord-plays-pokemon/packages/frontend/src/stories/loading-spinner.tsx:7"}, "properties": {"repobilityId": "2f410efc90d1a65f", "scanner": "scanner-primary", "fingerprint": "cffd996cc76d189b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b866e3de1a4aefdf", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/packages/backend/scripts/probe-memory.ts:83"}, "properties": {"repobilityId": "a244d1d8eea90c8d", "scanner": "scanner-primary", "fingerprint": "b866e3de1a4aefdf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-99b88cb90386eeab", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/scripts/audio-e2e.ts:1"}, "properties": {"repobilityId": "59047086f247c245", "scanner": "scanner-primary", "fingerprint": "99b88cb90386eeab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-61548d5a64e5a215", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/index.ts:8"}, "properties": {"repobilityId": "b99117c83a891d03", "scanner": "scanner-primary", "fingerprint": "61548d5a64e5a215", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb337190ee513b47", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/packages/backend/src/index.ts:111"}, "properties": {"repobilityId": "d6da6fb505bad1dc", "scanner": "scanner-primary", "fingerprint": "bb337190ee513b47", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-82f227db788deb59", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/logger.ts:3"}, "properties": {"repobilityId": "7b5c92758d7a04dc", "scanner": "scanner-primary", "fingerprint": "82f227db788deb59", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9899a7ed7d2ad7da", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/observability/tracing.ts:92"}, "properties": {"repobilityId": "c81d28872e35775c", "scanner": "scanner-primary", "fingerprint": "9899a7ed7d2ad7da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0f245f90f23a0744", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/src/stream/game-streamer.ts:52"}, "properties": {"repobilityId": "d61ab48ff450fc51", "scanner": "scanner-primary", "fingerprint": "0f245f90f23a0744", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa16c6f6fca258bd", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/stream/audio-transport.test.ts:15"}, "properties": {"repobilityId": "6e3210c5db0c21f2", "scanner": "scanner-primary", "fingerprint": "fa16c6f6fca258bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d77bb4c21dec4fe", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/discord-plays-pokemon/packages/backend/src/stream/audio-transport.ts:5"}, "properties": {"repobilityId": "798bee98bfeedd0a", "scanner": "scanner-primary", "fingerprint": "2d77bb4c21dec4fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2bef5f52eb984051", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/packages/backend/src/discord/channel-handler.ts:51"}, "properties": {"repobilityId": "51a74523f06d5ecc", "scanner": "scanner-primary", "fingerprint": "2bef5f52eb984051", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4c5f47750a0e7e50", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/discord/slashCommands/commands/goal.ts:43"}, "properties": {"repobilityId": "466f6071c8d7901a", "scanner": "scanner-primary", "fingerprint": "4c5f47750a0e7e50", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a2c9b51b09bb4b8", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/goal-runtime-env.ts:1"}, "properties": {"repobilityId": "f7d8db42838dd2d6", "scanner": "scanner-primary", "fingerprint": "2a2c9b51b09bb4b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-18a52192d3523544", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/codex-command.ts:32"}, "properties": {"repobilityId": "3123449426d63381", "scanner": "scanner-primary", "fingerprint": "18a52192d3523544", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-563559f35f0dae43", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/discord-message.ts:25"}, "properties": {"repobilityId": "6944808d76143588", "scanner": "scanner-primary", "fingerprint": "563559f35f0dae43", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-730ec6c1b9b49a91", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-plays-pokemon/packages/backend/src/goal/pokemonctl.ts:53"}, "properties": {"repobilityId": "afa00601921fd552", "scanner": "scanner-primary", "fingerprint": "730ec6c1b9b49a91", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-334ebe9fe3ec932d", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/codex-jsonl.ts:1"}, "properties": {"repobilityId": "6b21ae0963364e81", "scanner": "scanner-primary", "fingerprint": "334ebe9fe3ec932d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75026973c5a1b667", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/goal-manager.ts:117"}, "properties": {"repobilityId": "e0867225d4e3f107", "scanner": "scanner-primary", "fingerprint": "75026973c5a1b667", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b4d0a39c683e6409", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/e2e-goal.integration.test.ts:1"}, "properties": {"repobilityId": "99f9c9f18df69bc7", "scanner": "scanner-primary", "fingerprint": "b4d0a39c683e6409", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40cf7bb679562143", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/goal/codex-trace.ts:1"}, "properties": {"repobilityId": "30081f393b9c05e6", "scanner": "scanner-primary", "fingerprint": "40cf7bb679562143", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c3968431b90ee78", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/game/events/saves.test.ts:12"}, "properties": {"repobilityId": "a0beace583f0da2b", "scanner": "scanner-primary", "fingerprint": "1c3968431b90ee78", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4f54978c5f7c9ba", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/discord-plays-pokemon/packages/backend/src/game/events/pokemon-struct.ts:3"}, "properties": {"repobilityId": "26dae3f605005866", "scanner": "scanner-primary", "fingerprint": "c4f54978c5f7c9ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-770c4f4d78cf9750", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/discord-plays-pokemon/packages/backend/src/emulator/audio/analysis.ts:1"}, "properties": {"repobilityId": "4470c184567d1f8e", "scanner": "scanner-primary", "fingerprint": "770c4f4d78cf9750", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56b5579857c7ea11", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/emulator/audio/m4a-driver.ts:3"}, "properties": {"repobilityId": "87c003b3b13c3536", "scanner": "scanner-primary", "fingerprint": "56b5579857c7ea11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a09c1d7bf0782db7", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/emulator/audio/wav.ts:1"}, "properties": {"repobilityId": "e0c5930b86011cbb", "scanner": "scanner-primary", "fingerprint": "a09c1d7bf0782db7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3574ca80cd12874d", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-plays-pokemon/packages/backend/src/emulator/audio/audio-fingerprint.test.ts:3"}, "properties": {"repobilityId": "f0cfe55d65ba4126", "scanner": "scanner-primary", "fingerprint": "3574ca80cd12874d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8f475d813572c7d9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/discord-video-stream/src/client/Streamer.ts:171"}, "properties": {"repobilityId": "5405283de86b98ab", "scanner": "scanner-primary", "fingerprint": "8f475d813572c7d9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-11778342ce69cf0d", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/discord-video-stream/src/client/voice/BaseMediaConnection.ts:552"}, "properties": {"repobilityId": "180ea1a14ce34b30", "scanner": "scanner-primary", "fingerprint": "11778342ce69cf0d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e5ebcbce5a0df37a", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-video-stream/src/media/newApi.ts:495"}, "properties": {"repobilityId": "535cce717e8f4825", "scanner": "scanner-primary", "fingerprint": "e5ebcbce5a0df37a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ccb287b9f1a8ddd", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/discord-video-stream/src/media/LibavDemuxer.ts:268"}, "properties": {"repobilityId": "54b6f2c96c907f80", "scanner": "scanner-primary", "fingerprint": "0ccb287b9f1a8ddd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d77d09a41ee7c1b2", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/discord-video-stream/src/media/encoders/vaapi.ts:11"}, "properties": {"repobilityId": "5d07b56e7aaaa905", "scanner": "scanner-primary", "fingerprint": "d77d09a41ee7c1b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-164970051cea84e1", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/dotfiles/dot_agents/skills/apple-hig-helper/process-to-markdown.py:2"}, "properties": {"repobilityId": "8a02f468b4d33213", "scanner": "scanner-primary", "fingerprint": "164970051cea84e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-624113ebfe3b7057", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 packages/fonts/patch-berkeley-mono.py:45"}, "properties": {"repobilityId": "870054d5d54d3122", "scanner": "scanner-primary", "fingerprint": "624113ebfe3b7057", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6f64e228d83b4c26", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/home-assistant/src/ws/client.ts:319"}, "properties": {"repobilityId": "8e8bfaacf47ae48e", "scanner": "scanner-primary", "fingerprint": "6f64e228d83b4c26", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5f089a9ae7971a8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/home-assistant/src/rest/client.ts:191"}, "properties": {"repobilityId": "69d85b2d1c2d2c97", "scanner": "scanner-primary", "fingerprint": "c5f089a9ae7971a8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-205ff385a10e4c3d", "level": "none", "message": {"text": "Commented-code block (8 lines) in sandbox/archive/bun-decompile/src/lib/parser.ts:105"}, "properties": {"repobilityId": "451688ac2c670e3f", "scanner": "scanner-primary", "fingerprint": "205ff385a10e4c3d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0fc4b5b2a78e599a", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 sandbox/archive/west-elm-shipment-notifier/src/notifier.py:61"}, "properties": {"repobilityId": "3b4e6fe2aff9be21", "scanner": "scanner-primary", "fingerprint": "0fc4b5b2a78e599a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ff71954e8927e609", "level": "none", "message": {"text": "Commented-code block (7 lines) in sandbox/archive/herd/api/src/club/controller.js:25"}, "properties": {"repobilityId": "fa9614f8a9a51409", "scanner": "scanner-primary", "fingerprint": "ff71954e8927e609", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-090997593bf6caa3", "level": "none", "message": {"text": "Commented-code block (8 lines) in sandbox/archive/herd/api/src/user/authorization/middleware.js:6"}, "properties": {"repobilityId": "eec7e2c9d1bf6f35", "scanner": "scanner-primary", "fingerprint": "090997593bf6caa3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d751c9d740369db3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/herd/web/src/registerServiceWorker.js:86"}, "properties": {"repobilityId": "401fc8cb2539ab06", "scanner": "scanner-primary", "fingerprint": "d751c9d740369db3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-86a0d3194a4ccc14", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 sandbox/archive/frankie-and-jos-flavor-scraper/src/main.py:24"}, "properties": {"repobilityId": "112ec6ea0cfc516b", "scanner": "scanner-primary", "fingerprint": "86a0d3194a4ccc14", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b3a0fe1d842f1e0e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-server/src/index.ts:15"}, "properties": {"repobilityId": "c9b1f0d4c29b2608", "scanner": "scanner-primary", "fingerprint": "b3a0fe1d842f1e0e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-55b8bd51a036b07f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-web/src/render/renderer.ts:264"}, "properties": {"repobilityId": "46e4fb8d1feb2bbb", "scanner": "scanner-primary", "fingerprint": "55b8bd51a036b07f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f2d74075dea849d3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/castle-casters-web-rewrite/packages/castle-casters-web/src/render/tiled.ts:37"}, "properties": {"repobilityId": "db840fc933f2dc4d", "scanner": "scanner-primary", "fingerprint": "f2d74075dea849d3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6972b5fa56f4cc42", "level": "none", "message": {"text": "Commented-code block (5 lines) in sandbox/archive/easely/web/config/index.js:36"}, "properties": {"repobilityId": "2075a2f636e62482", "scanner": "scanner-primary", "fingerprint": "6972b5fa56f4cc42", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3b09ac7656cd3ada", "level": "none", "message": {"text": "Commented-code block (5 lines) in sandbox/archive/usher/src/serviceWorker.js:4"}, "properties": {"repobilityId": "9d1f0a3d1904f6b0", "scanner": "scanner-primary", "fingerprint": "3b09ac7656cd3ada", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a327f10add06163", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/usher/src/serviceWorker.js:103"}, "properties": {"repobilityId": "d1b0482b76920780", "scanner": "scanner-primary", "fingerprint": "6a327f10add06163", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-37511d1a0a516255", "level": "none", "message": {"text": "Commented-code block (13 lines) in sandbox/archive/clauderon/mobile/react-native.config.js:10"}, "properties": {"repobilityId": "f9c4413f42e70888", "scanner": "scanner-primary", "fingerprint": "37511d1a0a516255", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-48ef434855411e34", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/clauderon/mobile/src/api/ClauderonClient.ts:262"}, "properties": {"repobilityId": "19ab93c94f995c4e", "scanner": "scanner-primary", "fingerprint": "48ef434855411e34", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-75ca6ef892cff5f8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/clauderon/web/client/src/clauderon-client.ts:378"}, "properties": {"repobilityId": "fd62b578e7c7693a", "scanner": "scanner-primary", "fingerprint": "75ca6ef892cff5f8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dea114876924b3e3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/hu-easel/web/src/api/index.js:51"}, "properties": {"repobilityId": "a55701007b402fb2", "scanner": "scanner-primary", "fingerprint": "dea114876924b3e3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1ed5f40c9a53a114", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/hu-easel/web/src/api/authentication.js:5"}, "properties": {"repobilityId": "e773f9aca3ce7b78", "scanner": "scanner-primary", "fingerprint": "1ed5f40c9a53a114", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-55b711b142d0312f", "level": "none", "message": {"text": "Commented-code block (5 lines) in sandbox/archive/ts-mc/infrastructure/lib/forum/stack.ts:59"}, "properties": {"repobilityId": "9a4c695412be9ffa", "scanner": "scanner-primary", "fingerprint": "55b711b142d0312f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ea72a35f4c99318", "level": "none", "message": {"text": "Commented-code block (6 lines) in sandbox/archive/ts-mc/infrastructure/lib/forum/records.ts:15"}, "properties": {"repobilityId": "9a802bc1cf768c04", "scanner": "scanner-primary", "fingerprint": "8ea72a35f4c99318", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-407b2f068471ef7f", "level": "none", "message": {"text": "Commented-code block (8 lines) in sandbox/archive/ts-mc/infrastructure/lib/forum/auto-scaling-group.ts:37"}, "properties": {"repobilityId": "2a468952c65c7511", "scanner": "scanner-primary", "fingerprint": "407b2f068471ef7f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ede5a91c68309a4", "level": "none", "message": {"text": "Commented-code block (6 lines) in sandbox/archive/ts-mc/infrastructure/lib/forum/database.ts:64"}, "properties": {"repobilityId": "189260500e5ad196", "scanner": "scanner-primary", "fingerprint": "4ede5a91c68309a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2026fffe30f46bb", "level": "none", "message": {"text": "Commented-code block (7 lines) in sandbox/archive/ts-mc/infrastructure/lib/minecraft-server/instance.ts:35"}, "properties": {"repobilityId": "ed8a17b9fa234782", "scanner": "scanner-primary", "fingerprint": "e2026fffe30f46bb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-26f478a8271301d1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/frontend/src/components/Leaderboard.tsx:200"}, "properties": {"repobilityId": "e4e1b5d6c432b506", "scanner": "scanner-primary", "fingerprint": "26f478a8271301d1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4bbcbb067c8698b9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/league/tasks/leaderboard/discord.ts:36"}, "properties": {"repobilityId": "729afd6c3c406bfa", "scanner": "scanner-primary", "fingerprint": "4bbcbb067c8698b9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4bc3b5fb7f61a0ee", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/league/discord/channel.ts:8"}, "properties": {"repobilityId": "1e72cc8c329ffbb8", "scanner": "scanner-primary", "fingerprint": "4bc3b5fb7f61a0ee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bf076a679045a44d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/league/dataDragon/summoner.ts:48"}, "properties": {"repobilityId": "4f600fd5f41c1d2b", "scanner": "scanner-primary", "fingerprint": "bf076a679045a44d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5b9b2e0642d6beb3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/league/dataDragon/version.ts:9"}, "properties": {"repobilityId": "60682300b02550bc", "scanner": "scanner-primary", "fingerprint": "5b9b2e0642d6beb3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-85870ba140203ed3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/karma/commands.ts:189"}, "properties": {"repobilityId": "fa86f92be6929ebc", "scanner": "scanner-primary", "fingerprint": "85870ba140203ed3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ea21793185a46cd5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/discord/packages/backend/src/music/commands.ts:331"}, "properties": {"repobilityId": "68e8690dce24ecca", "scanner": "scanner-primary", "fingerprint": "ea21793185a46cd5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0a57a232dea0116e", "level": "none", "message": {"text": "Commented-code block (5 lines) in sandbox/archive/the-button/web/config/index.js:42"}, "properties": {"repobilityId": "f740787be74025b3", "scanner": "scanner-primary", "fingerprint": "0a57a232dea0116e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21d7ffa88291f44f", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 sandbox/archive/gpt-2/download_model.py:19"}, "properties": {"repobilityId": "695c25f660fcec12", "scanner": "scanner-primary", "fingerprint": "21d7ffa88291f44f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-25fb1b4760c4cb0b", "level": "note", "message": {"text": "Legacy-named symbol `ops_to_copy` in sandbox/archive/gpt-2/src/memory_saving_gradients.py:198"}, "properties": {"repobilityId": "3675e0a6e0190d6f", "scanner": "scanner-primary", "fingerprint": "25fb1b4760c4cb0b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dd8ed32be35d7786", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/skill-capped-discord-bot/lib/bot/notification/discord/discordNotifier.ts:26"}, "properties": {"repobilityId": "b2ce587d2afb34fb", "scanner": "scanner-primary", "fingerprint": "dd8ed32be35d7786", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-85665056abbb7ff1", "level": "note", "message": {"text": "Legacy-named symbol `courses_v2` in sandbox/archive/skill-capped-discord-bot/lib/bot/manifest/liveManifestFetcher.test.ts:10"}, "properties": {"repobilityId": "d7171081a90d8f66", "scanner": "scanner-primary", "fingerprint": "85665056abbb7ff1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6270ff1432afb3f0", "level": "none", "message": {"text": "Commented-code block (5 lines) in sandbox/archive/siphon/config/index.js:31"}, "properties": {"repobilityId": "6fb9ae74e2126c48", "scanner": "scanner-primary", "fingerprint": "6270ff1432afb3f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2504e79c1025bf60", "level": "none", "message": {"text": "Commented-code block (5 lines) in sandbox/archive/type-challenges/00008-medium-readonly-2.ts:32"}, "properties": {"repobilityId": "c583903b944d77d1", "scanner": "scanner-primary", "fingerprint": "2504e79c1025bf60", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c5cf35460dc6d26", "level": "none", "message": {"text": "Commented-code block (5 lines) in sandbox/archive/type-challenges/00898-easy-includes.ts:40"}, "properties": {"repobilityId": "29521d354bc46ba9", "scanner": "scanner-primary", "fingerprint": "6c5cf35460dc6d26", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a76f7f96ec1d75ac", "level": "none", "message": {"text": "Commented-code block (10 lines) in sandbox/archive/type-challenges/00119-medium-replaceall.ts:18"}, "properties": {"repobilityId": "e67d4f94be7b09b0", "scanner": "scanner-primary", "fingerprint": "a76f7f96ec1d75ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb1ba958ed579d92", "level": "none", "message": {"text": "Commented-code block (5 lines) in sandbox/archive/funsheet/src/main/resources/funsheet-vue/config/index.js:36"}, "properties": {"repobilityId": "031b82eade9a0cbe", "scanner": "scanner-primary", "fingerprint": "bb1ba958ed579d92", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-60e3dbe8281deca9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/hn-enhancer/src/lib/hn-api.ts:31"}, "properties": {"repobilityId": "ef0e4c8e026086f1", "scanner": "scanner-primary", "fingerprint": "60e3dbe8281deca9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f7f5822955a7118d", "level": "none", "message": {"text": "Commented-code block (5 lines) in sandbox/archive/trip-sim/web/src/serviceWorker.ts:4"}, "properties": {"repobilityId": "2df0fedf8510116d", "scanner": "scanner-primary", "fingerprint": "f7f5822955a7118d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3112bcd8afe16b0a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/archive/trip-sim/web/src/serviceWorker.ts:108"}, "properties": {"repobilityId": "ec0358d52e890330", "scanner": "scanner-primary", "fingerprint": "3112bcd8afe16b0a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c5a92b08651d1628", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 sandbox/archive/lambda-sagemaker-endpoint/src/telegram/handler.py:45"}, "properties": {"repobilityId": "b7b5a8ab84565aaf", "scanner": "scanner-primary", "fingerprint": "c5a92b08651d1628", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3af5b5934ce9d211", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/poc/sentinel/scripts/verify-e2e.ts:198"}, "properties": {"repobilityId": "09084bfe4ba615ab", "scanner": "scanner-primary", "fingerprint": "3af5b5934ce9d211", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-300e4b9cb2642902", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/poc/sentinel/src/discord/approvals.ts:50"}, "properties": {"repobilityId": "5ce9e36b34bcb62d", "scanner": "scanner-primary", "fingerprint": "300e4b9cb2642902", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c3891354099c89d0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/poc/sentinel/src/discord/notifications.ts:32"}, "properties": {"repobilityId": "04eaa981331baa79", "scanner": "scanner-primary", "fingerprint": "c3891354099c89d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d8deb2d8752a20e4", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 sandbox/practice/fastbook/utils.py:35"}, "properties": {"repobilityId": "01a124f94d2be493", "scanner": "scanner-primary", "fingerprint": "d8deb2d8752a20e4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ac1d8ba5c2550acf", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:101"}, "properties": {"repobilityId": "ccff6f68af47b004", "scanner": "scanner-primary", "fingerprint": "ac1d8ba5c2550acf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f0521b182da85d7e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/practice/claude-web/src/auth/github.ts:35"}, "properties": {"repobilityId": "d0e0645cda68168d", "scanner": "scanner-primary", "fingerprint": "f0521b182da85d7e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5733484f6a7d677e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/practice/claude-web/src/server/index.ts:60"}, "properties": {"repobilityId": "bf273d487b4a2e65", "scanner": "scanner-primary", "fingerprint": "5733484f6a7d677e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bc9487896490da79", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sandbox/practice/claude-web/src/server/routes/sessions.ts:340"}, "properties": {"repobilityId": "3e6fbe837ea950ab", "scanner": "scanner-primary", "fingerprint": "bc9487896490da79", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2492b27ac2376663", "level": "none", "message": {"text": "Commented-code block (7 lines) in sandbox/practice/ostep-homework/threads-locks/x86.py:405"}, "properties": {"repobilityId": "dc46f72e83cdf9f5", "scanner": "scanner-primary", "fingerprint": "2492b27ac2376663", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c42e83b05eae7aa", "level": "none", "message": {"text": "Commented-code block (12 lines) in sandbox/practice/ostep-homework/dist-afs/afs.py:174"}, "properties": {"repobilityId": "338c0fe39cc39ce8", "scanner": "scanner-primary", "fingerprint": "4c42e83b05eae7aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-607bf98e27298e77", "level": "note", "message": {"text": "Stub function `dprint` (body is just `pass`/`return`) \u2014 sandbox/practice/ostep-homework/dist-afs/afs.py:19"}, "properties": {"repobilityId": "edb9a534221f0317", "scanner": "scanner-primary", "fingerprint": "607bf98e27298e77", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-28fba2c35585e3b4", "level": "note", "message": {"text": "Stub function `DrawWindow` (body is just `pass`/`return`) \u2014 sandbox/practice/ostep-homework/file-raid/raid-graphics.py:565"}, "properties": {"repobilityId": "1088b2bac45e3016", "scanner": "scanner-primary", "fingerprint": "28fba2c35585e3b4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-b57967206a0f9da7", "level": "none", "message": {"text": "Commented-code block (7 lines) in sandbox/practice/ostep-homework/threads-intro/x86.py:363"}, "properties": {"repobilityId": "e299a7fd722ac01b", "scanner": "scanner-primary", "fingerprint": "b57967206a0f9da7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9662f1a1199a1354", "level": "none", "message": {"text": "Commented-code block (7 lines) in sandbox/practice/ostep-homework/cpu-api/fork.py:3"}, "properties": {"repobilityId": "6fdad4a09c04e7a1", "scanner": "scanner-primary", "fingerprint": "9662f1a1199a1354", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3de07f0a9bb2cee8", "level": "note", "message": {"text": "Stub function `check_for_switch` (body is just `pass`/`return`) \u2014 sandbox/practice/ostep-homework/file-devices/process-run.py:191"}, "properties": {"repobilityId": "3cc5d148a89ba30f", "scanner": "scanner-primary", "fingerprint": "3de07f0a9bb2cee8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-85d785d15bd6d781", "level": "note", "message": {"text": "Stub function `check_for_switch` (body is just `pass`/`return`) \u2014 sandbox/practice/ostep-homework/cpu-intro/process-run.py:171"}, "properties": {"repobilityId": "5dcbe88191053f39", "scanner": "scanner-primary", "fingerprint": "85d785d15bd6d781", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-00f9cc5a96d13d46", "level": "none", "message": {"text": "Commented-code block (9 lines) in sandbox/practice/ostep-homework/vm-smalltables/paging-multilevel-translate.py:209"}, "properties": {"repobilityId": "015fe3344577db7e", "scanner": "scanner-primary", "fingerprint": "00f9cc5a96d13d46", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-076870f4f9a3804d", "level": "none", "message": {"text": "Commented-code block (14 lines) in sandbox/practice/ostep-homework/file-disks/disk.py:31"}, "properties": {"repobilityId": "8b1aa49b191f0ffd", "scanner": "scanner-primary", "fingerprint": "076870f4f9a3804d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a882b5357d0203e", "level": "none", "message": {"text": "Commented-code block (14 lines) in sandbox/practice/ostep-homework/file-disks/disk-precise.py:33"}, "properties": {"repobilityId": "a5b2ada7adf1df09", "scanner": "scanner-primary", "fingerprint": "7a882b5357d0203e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a323a95cd2fc65f", "level": "none", "message": {"text": "Commented-code block (8 lines) in sandbox/practice/ostep-homework/cpu-sched-multi/multi.py:3"}, "properties": {"repobilityId": "229b984e61791ebc", "scanner": "scanner-primary", "fingerprint": "9a323a95cd2fc65f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39f8ebfe57a6f60f", "level": "note", "message": {"text": "35 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "d6a41686c51dc14b", "scanner": "scanner-primary", "fingerprint": "39f8ebfe57a6f60f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "2fc96109f26be143", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "950450a29bb04657", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "a74628e51998515e", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "5857cd1200bac701", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "314d784bbe11f32e", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "926e8c056db06ad1", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "fdab40e47d43a7c1", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "0c12cb4268f997cb", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "7139da8c961b459c", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "5764da1521f92af2", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "b3fa3383d174dbb4", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "ba617835bf53fcfd", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "d09797a27c55d3b0", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "c35259487bb505f2", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-0d32ef4b8a679ae8", "level": "note", "message": {"text": "Near-duplicate function bodies in 24 places"}, "properties": {"repobilityId": "ce8e139d9902d173", "scanner": "scanner-primary", "fingerprint": "0d32ef4b8a679ae8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "ce27fd34990e8a6d", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "a1c6da637e6877b8", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-33a6b62e30ce7ab4", "level": "note", "message": {"text": "Near-duplicate function bodies in 6 places"}, "properties": {"repobilityId": "3a25d7a9ca3112a6", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "37bd613c6307abb0", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "b726c2436430ae09", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-017db8a22876f7e8", "level": "warning", "message": {"text": "Frontend route `/user/:id/details` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/router/RootRouter.js"}, "properties": {"repobilityId": "d011fdd8ff0d291f", "scanner": "scanner-primary", "fingerprint": "017db8a22876f7e8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-e8d1443fc2b1e40d", "level": "warning", "message": {"text": "Frontend route `/club` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/router/RootRouter.js"}, "properties": {"repobilityId": "a8e5b2ec2b293701", "scanner": "scanner-primary", "fingerprint": "e8d1443fc2b1e40d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-cb12c0d627022615", "level": "warning", "message": {"text": "Frontend route `/club/:id/details` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/club/ClubRouter.js"}, "properties": {"repobilityId": "621618790d301318", "scanner": "scanner-primary", "fingerprint": "cb12c0d627022615", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-3775db1c7c16abc3", "level": "warning", "message": {"text": "Frontend route `/club/:id/delete` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/club/ClubRouter.js"}, "properties": {"repobilityId": "5db687c49557c9e2", "scanner": "scanner-primary", "fingerprint": "3775db1c7c16abc3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-f91429eb31f5e585", "level": "warning", "message": {"text": "Frontend route `/club/:id/edit` has no Link/navigate to it \u2014 sandbox/archive/herd/web/src/components/club/ClubRouter.js"}, "properties": {"repobilityId": "685002442cd0bc77", "scanner": "scanner-primary", "fingerprint": "f91429eb31f5e585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-d741755e6b73d052", "level": "warning", "message": {"text": "Frontend route `/getSeats` has no Link/navigate to it \u2014 sandbox/archive/usher/src/components/util/Router.js"}, "properties": {"repobilityId": "0a425c766dcc0a56", "scanner": "scanner-primary", "fingerprint": "d741755e6b73d052", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-3b68a04e9327b355", "level": "warning", "message": {"text": "Frontend route `/g/:guildId` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "properties": {"repobilityId": "de959c92d1d045c0", "scanner": "scanner-primary", "fingerprint": "3b68a04e9327b355", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-36125f840b6862cd", "level": "warning", "message": {"text": "Frontend route `players/:alias` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "properties": {"repobilityId": "cc87f1fabf4d96df", "scanner": "scanner-primary", "fingerprint": "36125f840b6862cd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-1cbd7a76918c4159", "level": "warning", "message": {"text": "Frontend route `competitions/new` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "properties": {"repobilityId": "1d20453f0990888d", "scanner": "scanner-primary", "fingerprint": "1cbd7a76918c4159", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-d07bad0fc78db84e", "level": "warning", "message": {"text": "Frontend route `competitions/:competitionId` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "properties": {"repobilityId": "00c3f065b3ca3ab5", "scanner": "scanner-primary", "fingerprint": "d07bad0fc78db84e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-d9ff4aeb3f916a5d", "level": "warning", "message": {"text": "Frontend route `competitions/:competitionId/edit` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "properties": {"repobilityId": "056a37269cb77e0a", "scanner": "scanner-primary", "fingerprint": "d9ff4aeb3f916a5d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-6de95c025f8b05bc", "level": "warning", "message": {"text": "Frontend route `reports/new` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "properties": {"repobilityId": "e8304e5ae436cf50", "scanner": "scanner-primary", "fingerprint": "6de95c025f8b05bc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-344b9854c1caae5a", "level": "warning", "message": {"text": "Frontend route `reports/:reportId` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "properties": {"repobilityId": "b494c0b1d840ba3d", "scanner": "scanner-primary", "fingerprint": "344b9854c1caae5a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-7f7c020e458ea8dd", "level": "warning", "message": {"text": "Frontend route `reports/:reportId/edit` has no Link/navigate to it \u2014 packages/scout-for-lol/packages/app/src/app.tsx"}, "properties": {"repobilityId": "d51329b13dcbfbfc", "scanner": "scanner-primary", "fingerprint": "7f7c020e458ea8dd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-58a8a0e9d976dc0c", "level": "error", "message": {"text": "Flask mutation route `invocations` without `@login_required` \u2014 sandbox/archive/gpt-2-simple-sagemaker-container/src/serve.py:18"}, "properties": {"repobilityId": "de4b5148bb9639a4", "scanner": "scanner-primary", "fingerprint": "58a8a0e9d976dc0c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sandbox/archive/gpt-2-simple-sagemaker-container/src/serve.py"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-184ccfb112190037", "level": "error", "message": {"text": "Dangling fetch: GET /api/dataset (packages/monarch/scripts/accuracy/label-server.ts:284)"}, "properties": {"repobilityId": "56c58dac41043cb4", "scanner": "scanner-primary", "fingerprint": "184ccfb112190037", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1fc63e0efd7cd28e", "level": "error", "message": {"text": "Dangling fetch: POST /api/label (packages/monarch/scripts/accuracy/label-server.ts:500)"}, "properties": {"repobilityId": "019253e8fc5adae2", "scanner": "scanner-primary", "fingerprint": "1fc63e0efd7cd28e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ed77a6af8152191c", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/logout (packages/scout-for-lol/packages/app/src/routes/require-session.tsx:73)"}, "properties": {"repobilityId": "c66b18cd2ce6336d", "scanner": "scanner-primary", "fingerprint": "ed77a6af8152191c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ab82c1600050eb15", "level": "error", "message": {"text": "Dangling fetch: GET /a (packages/eslint-config/src/rules/prefer-async-await.test.ts:28)"}, "properties": {"repobilityId": "589d1eaa250d1550", "scanner": "scanner-primary", "fingerprint": "ab82c1600050eb15", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8187480b4b32defd", "level": "error", "message": {"text": "Dangling fetch: GET /b (packages/eslint-config/src/rules/prefer-async-await.test.ts:28)"}, "properties": {"repobilityId": "9fbd7a7f7feaaaa9", "scanner": "scanner-primary", "fingerprint": "8187480b4b32defd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-650c797e4cd177d8", "level": "error", "message": {"text": "Dangling fetch: GET /a (packages/eslint-config/src/rules/prefer-async-await.test.ts:31)"}, "properties": {"repobilityId": "6161c3913d2d5a98", "scanner": "scanner-primary", "fingerprint": "650c797e4cd177d8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-601788060b2e3945", "level": "error", "message": {"text": "Dangling fetch: GET /b (packages/eslint-config/src/rules/prefer-async-await.test.ts:31)"}, "properties": {"repobilityId": "81f0fdb7fbe52c10", "scanner": "scanner-primary", "fingerprint": "601788060b2e3945", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9bfdb0852e4b4c30", "level": "error", "message": {"text": "Dangling fetch: GET /data/manifest.json (packages/better-skill-capped/src/manifest-loader.ts:10)"}, "properties": {"repobilityId": "fc74fbc8e617ce40", "scanner": "scanner-primary", "fingerprint": "9bfdb0852e4b4c30", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "axios"]}}, {"ruleId": "scanner-755be8a9a69f3a6c", "level": "error", "message": {"text": "Dangling fetch: GET http://daemon${path} (packages/toolkit/src/lib/discord/client.ts:29)"}, "properties": {"repobilityId": "b5909fa6a17e5a32", "scanner": "scanner-primary", "fingerprint": "755be8a9a69f3a6c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-19d15d55680d0201", "level": "error", "message": {"text": "Dangling fetch: POST https://leetcode.com/graphql/ (packages/leetcode/src/lib/leetcode-graphql.ts:65)"}, "properties": {"repobilityId": "fd5d7936b4248713", "scanner": "scanner-primary", "fingerprint": "19d15d55680d0201", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-115f26013c165591", "level": "error", "message": {"text": "Dangling fetch: HEAD https://${registry}/v2/${input.repository}/manifests/${input.reference} (packages/temporal/src/activities/pr-review/deterministic-signals.ts:217)"}, "properties": {"repobilityId": "9df4b7b027483a6e", "scanner": "scanner-primary", "fingerprint": "115f26013c165591", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-191dc9f2fdafbbfc", "level": "error", "message": {"text": "Dangling fetch: POST https://factory.talos.dev/schematics (packages/homelab/src/talos/update-image-id.ts:47)"}, "properties": {"repobilityId": "238c3d22f2738256", "scanner": "scanner-primary", "fingerprint": "191dc9f2fdafbbfc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c6346fc470187db5", "level": "error", "message": {"text": "Dangling fetch: GET https://prod.bucket.discord.com/previous.json (sandbox/archive/discord/packages/frontend/src/components/Leaderboard.tsx:206)"}, "properties": {"repobilityId": "39d6cd05172dab04", "scanner": "scanner-primary", "fingerprint": "c6346fc470187db5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1e0e2137c684c631", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${configuration.port}/ping (sandbox/archive/discord/packages/backend/src/health.ts:6)"}, "properties": {"repobilityId": "8c148934c7b88435", "scanner": "scanner-primary", "fingerprint": "1e0e2137c684c631", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7f941b59efb343ff", "level": "error", "message": {"text": "Dangling fetch: GET https://ddragon.leagueoflegends.com/api/versions.json (sandbox/archive/discord/packages/backend/src/league/dataDragon/version.ts:9)"}, "properties": {"repobilityId": "56ec432ff8b34cd0", "scanner": "scanner-primary", "fingerprint": "7f941b59efb343ff", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7e0e53854a30d8d2", "level": "error", "message": {"text": "Dangling fetch: GET https://www.skill-capped.com/${endpoint}/browse (sandbox/archive/skill-capped-discord-bot/lib/bot/manifest/liveManifestFetcher.ts:9)"}, "properties": {"repobilityId": "9fa74e1f6c84bd82", "scanner": "scanner-primary", "fingerprint": "7e0e53854a30d8d2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "axios"]}}, {"ruleId": "scanner-578d37bde96fa08a", "level": "error", "message": {"text": "Dangling fetch: POST /webhook/bugsink/wrong-token (sandbox/poc/sentinel/test/webhook.test.ts:132)"}, "properties": {"repobilityId": "92be45db81127a62", "scanner": "scanner-primary", "fingerprint": "578d37bde96fa08a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7b4014f9970ff4a9", "level": "error", "message": {"text": "Dangling fetch: POST /webhook/bugsink/test-bugsink-secret (sandbox/poc/sentinel/test/webhook.test.ts:146)"}, "properties": {"repobilityId": "f720d68d6a4dcbae", "scanner": "scanner-primary", "fingerprint": "7b4014f9970ff4a9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-41dc8f029be5815c", "level": "error", "message": {"text": "Dangling fetch: POST /webhook/bugsink (sandbox/poc/sentinel/test/webhook.test.ts:163)"}, "properties": {"repobilityId": "e655aeb024bbd6dc", "scanner": "scanner-primary", "fingerprint": "41dc8f029be5815c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b7d0e5a9e5c6f032", "level": "error", "message": {"text": "Dangling fetch: POST /webhook/bugsink/test-bugsink-secret (sandbox/poc/sentinel/test/webhook-to-queue-integration.test.ts:149)"}, "properties": {"repobilityId": "962809829d00e580", "scanner": "scanner-primary", "fingerprint": "b7d0e5a9e5c6f032", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-456b368cf992ec78", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${String(port)} (sandbox/poc/interview-practice/src/lib/excalidraw/launcher.ts:68)"}, "properties": {"repobilityId": "8d7c70c8ad9612aa", "scanner": "scanner-primary", "fingerprint": "456b368cf992ec78", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0d348716c575e283", "level": "error", "message": {"text": "Dangling fetch: GET /api/sessions (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:20)"}, "properties": {"repobilityId": "a91a614d84e56788", "scanner": "scanner-primary", "fingerprint": "0d348716c575e283", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ff053b96c22712fa", "level": "error", "message": {"text": "Dangling fetch: POST /api/sessions (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:50)"}, "properties": {"repobilityId": "8481e6401d8860fd", "scanner": "scanner-primary", "fingerprint": "ff053b96c22712fa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6db7af5503736094", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/sessions/${sessionId} (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:77)"}, "properties": {"repobilityId": "fa6579668fb62954", "scanner": "scanner-primary", "fingerprint": "6db7af5503736094", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b3814a1b31edfff9", "level": "error", "message": {"text": "Dangling fetch: POST /api/sessions/${sessionId}/commit (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:101)"}, "properties": {"repobilityId": "a35e17a076967a57", "scanner": "scanner-primary", "fingerprint": "b3814a1b31edfff9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dc745870bb48511d", "level": "error", "message": {"text": "Dangling fetch: POST /api/sessions/${sessionId}/push (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:119)"}, "properties": {"repobilityId": "fb7aeb915684348b", "scanner": "scanner-primary", "fingerprint": "dc745870bb48511d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b630dbfa5444f2d7", "level": "error", "message": {"text": "Dangling fetch: POST /api/sessions/${sessionId}/pr (sandbox/practice/claude-web/frontend/src/hooks/useSessions.ts:134)"}, "properties": {"repobilityId": "71a766ae8361cca5", "scanner": "scanner-primary", "fingerprint": "b630dbfa5444f2d7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3ec173d573e9890c", "level": "error", "message": {"text": "Dangling fetch: GET /auth/me (sandbox/practice/claude-web/frontend/src/hooks/useAuth.ts:19)"}, "properties": {"repobilityId": "19be1abf3261ee0a", "scanner": "scanner-primary", "fingerprint": "3ec173d573e9890c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0e6e76a35f3c433b", "level": "error", "message": {"text": "Dangling fetch: POST /auth/logout (sandbox/practice/claude-web/frontend/src/hooks/useAuth.ts:50)"}, "properties": {"repobilityId": "493ca162fae9726a", "scanner": "scanner-primary", "fingerprint": "0e6e76a35f3c433b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ef8589717d108812", "level": "error", "message": {"text": "Dangling fetch: POST https://api.github.com/repos/${owner}/${repoName}/pulls (sandbox/practice/claude-web/src/server/routes/sessions.ts:340)"}, "properties": {"repobilityId": "3a519e5404ed66d1", "scanner": "scanner-primary", "fingerprint": "ef8589717d108812", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7beedb6e5c191b56", "level": "note", "message": {"text": "Unused endpoint: ANY /invocations"}, "properties": {"repobilityId": "3ef7cd51596a7e45", "scanner": "scanner-primary", "fingerprint": "7beedb6e5c191b56", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4ff40cb10f7c8519", "level": "note", "message": {"text": "Unused endpoint: USE /api/users"}, "properties": {"repobilityId": "b460105b048cd770", "scanner": "scanner-primary", "fingerprint": "4ff40cb10f7c8519", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e48cfbc31746e539", "level": "note", "message": {"text": "Unused endpoint: USE /api/clubs"}, "properties": {"repobilityId": "a58bf99750f6f314", "scanner": "scanner-primary", "fingerprint": "e48cfbc31746e539", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-36e7790048016147", "level": "note", "message": {"text": "Unused endpoint: USE /api/meetings"}, "properties": {"repobilityId": "e7dbba127f424059", "scanner": "scanner-primary", "fingerprint": "36e7790048016147", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7a009b1a56794f45", "level": "note", "message": {"text": "Unused endpoint: POST /"}, "properties": {"repobilityId": "747cfdcdf1f6a736", "scanner": "scanner-primary", "fingerprint": "7a009b1a56794f45", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5baa8971ebe192a1", "level": "note", "message": {"text": "Unused endpoint: GET /"}, "properties": {"repobilityId": "7eaeb025e135d0c6", "scanner": "scanner-primary", "fingerprint": "5baa8971ebe192a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-042c84e15c8d34de", "level": "note", "message": {"text": "Unused endpoint: GET /:clubId"}, "properties": {"repobilityId": "820976bd37ad09d0", "scanner": "scanner-primary", "fingerprint": "042c84e15c8d34de", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6a5204b005ff54ca", "level": "note", "message": {"text": "Unused endpoint: PATCH /:clubId"}, "properties": {"repobilityId": "aa52b9a1764be515", "scanner": "scanner-primary", "fingerprint": "6a5204b005ff54ca", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bd9dd272be41133e", "level": "note", "message": {"text": "Unused endpoint: DELETE /:clubId"}, "properties": {"repobilityId": "b5790b8fb0122112", "scanner": "scanner-primary", "fingerprint": "bd9dd272be41133e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-29ac1221958ed367", "level": "note", "message": {"text": "Unused endpoint: GET /:meetingId"}, "properties": {"repobilityId": "d92c29b5688a2d0d", "scanner": "scanner-primary", "fingerprint": "29ac1221958ed367", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9400f981a4b08030", "level": "note", "message": {"text": "Unused endpoint: PATCH /:meetingId"}, "properties": {"repobilityId": "afd400330865d7a2", "scanner": "scanner-primary", "fingerprint": "9400f981a4b08030", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-80de6f6d187ba1ac", "level": "note", "message": {"text": "Unused endpoint: DELETE /:meetingId"}, "properties": {"repobilityId": "1f6ff8a70bab070d", "scanner": "scanner-primary", "fingerprint": "80de6f6d187ba1ac", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cdc02fa67a51d03b", "level": "note", "message": {"text": "Unused endpoint: GET /club/:clubId"}, "properties": {"repobilityId": "72e536b8e5511886", "scanner": "scanner-primary", "fingerprint": "cdc02fa67a51d03b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7d1b86f02585b613", "level": "note", "message": {"text": "Unused endpoint: GET /club/:clubId/latest"}, "properties": {"repobilityId": "088cd08604a58744", "scanner": "scanner-primary", "fingerprint": "7d1b86f02585b613", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fb902fa8f06593cb", "level": "note", "message": {"text": "Unused endpoint: GET /:userId"}, "properties": {"repobilityId": "46fa332a36b6f247", "scanner": "scanner-primary", "fingerprint": "fb902fa8f06593cb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-594b787aa98e81b1", "level": "note", "message": {"text": "Unused endpoint: PATCH /:userId"}, "properties": {"repobilityId": "1f1bc5e960349f2b", "scanner": "scanner-primary", "fingerprint": "594b787aa98e81b1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-135860cc0267c772", "level": "note", "message": {"text": "Unused endpoint: DELETE /:userId"}, "properties": {"repobilityId": "5bf5ef2834a9343a", "scanner": "scanner-primary", "fingerprint": "135860cc0267c772", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7cc3014f9fc32f54", "level": "note", "message": {"text": "Unused endpoint: POST /:userId/roles/add/:roleId"}, "properties": {"repobilityId": "a415649c327eebd1", "scanner": "scanner-primary", "fingerprint": "7cc3014f9fc32f54", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fee82a6ab5901ba8", "level": "note", "message": {"text": "Unused endpoint: GET /:userId/roles/"}, "properties": {"repobilityId": "a0a2e7ae3c2f34c8", "scanner": "scanner-primary", "fingerprint": "fee82a6ab5901ba8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1e209217eafd1b99", "level": "note", "message": {"text": "Unused endpoint: USE /authentication"}, "properties": {"repobilityId": "96e5c907afa6e07e", "scanner": "scanner-primary", "fingerprint": "1e209217eafd1b99", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8c59890bd7d685bc", "level": "note", "message": {"text": "Unused endpoint: USE /authorization"}, "properties": {"repobilityId": "fd97a4199179709f", "scanner": "scanner-primary", "fingerprint": "8c59890bd7d685bc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-618721b912bad1c2", "level": "note", "message": {"text": "Unused endpoint: POST /login"}, "properties": {"repobilityId": "c8a2f087beeee947", "scanner": "scanner-primary", "fingerprint": "618721b912bad1c2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1a6b345304eb9c60", "level": "note", "message": {"text": "Unused endpoint: USE /policies"}, "properties": {"repobilityId": "d33413761a112b39", "scanner": "scanner-primary", "fingerprint": "1a6b345304eb9c60", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-47c248f064ed4618", "level": "note", "message": {"text": "Unused endpoint: USE /roles"}, "properties": {"repobilityId": "74d31aa8be41a27b", "scanner": "scanner-primary", "fingerprint": "47c248f064ed4618", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ffa75e53cc59528f", "level": "note", "message": {"text": "Unused endpoint: USE /statements"}, "properties": {"repobilityId": "cab3adb518c89c60", "scanner": "scanner-primary", "fingerprint": "ffa75e53cc59528f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-476f346fcdc05b00", "level": "note", "message": {"text": "Unused endpoint: GET /:statementId"}, "properties": {"repobilityId": "64351bce7febe9af", "scanner": "scanner-primary", "fingerprint": "476f346fcdc05b00", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dc3c0b496f180d1c", "level": "note", "message": {"text": "Unused endpoint: PATCH /:statementId"}, "properties": {"repobilityId": "2471b0adb934b35e", "scanner": "scanner-primary", "fingerprint": "dc3c0b496f180d1c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-11687bbe671ce772", "level": "note", "message": {"text": "Unused endpoint: DELETE /:statementId"}, "properties": {"repobilityId": "cb73bed82d9945f5", "scanner": "scanner-primary", "fingerprint": "11687bbe671ce772", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a5a3d06b1a37629d", "level": "note", "message": {"text": "Unused endpoint: GET /:policyId"}, "properties": {"repobilityId": "a4158c3c202e6069", "scanner": "scanner-primary", "fingerprint": "a5a3d06b1a37629d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1c63dd039ac4720d", "level": "note", "message": {"text": "Unused endpoint: PATCH /:policyId"}, "properties": {"repobilityId": "ac527827d2a1ad38", "scanner": "scanner-primary", "fingerprint": "1c63dd039ac4720d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c9bf5abba70b681b", "level": "note", "message": {"text": "Unused endpoint: DELETE /:policyId"}, "properties": {"repobilityId": "aabd883a2a3c3a4b", "scanner": "scanner-primary", "fingerprint": "c9bf5abba70b681b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4bc4678f1e5b2c37", "level": "note", "message": {"text": "Unused endpoint: GET /:roleId"}, "properties": {"repobilityId": "56804dfea5e6a8ca", "scanner": "scanner-primary", "fingerprint": "4bc4678f1e5b2c37", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-60d387b4421ce658", "level": "note", "message": {"text": "Unused endpoint: PATCH /:roleId"}, "properties": {"repobilityId": "2183696746b9d893", "scanner": "scanner-primary", "fingerprint": "60d387b4421ce658", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c414ccfe004f0b08", "level": "note", "message": {"text": "Unused endpoint: DELETE /:roleId"}, "properties": {"repobilityId": "dd5891891746f496", "scanner": "scanner-primary", "fingerprint": "c414ccfe004f0b08", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0ae38010c60493f1", "level": "note", "message": {"text": "Unused endpoint: POST /webhook"}, "properties": {"repobilityId": "223160fb05b6d395", "scanner": "scanner-primary", "fingerprint": "0ae38010c60493f1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5817878a884611eb", "level": "note", "message": {"text": "Unused endpoint: POST /agent-tasks"}, "properties": {"repobilityId": "26897e3c78ebe8b0", "scanner": "scanner-primary", "fingerprint": "5817878a884611eb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-684b1b66ffd7626c", "level": "note", "message": {"text": "Unused endpoint: PATCH /users/@me"}, "properties": {"repobilityId": "b8e1d8fb6dbbd481", "scanner": "scanner-primary", "fingerprint": "684b1b66ffd7626c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-71b7669817721470", "level": "note", "message": {"text": "Unused endpoint: GET /github"}, "properties": {"repobilityId": "51f5512ad7a19da5", "scanner": "scanner-primary", "fingerprint": "71b7669817721470", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-575393330d444728", "level": "note", "message": {"text": "Unused endpoint: GET /github/callback"}, "properties": {"repobilityId": "1c078e6330de2aef", "scanner": "scanner-primary", "fingerprint": "575393330d444728", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c6e6c7c2852f873f", "level": "note", "message": {"text": "Unused endpoint: GET /github/status"}, "properties": {"repobilityId": "180947062ffda0c3", "scanner": "scanner-primary", "fingerprint": "c6e6c7c2852f873f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4756b4c4da7d2088", "level": "note", "message": {"text": "Unused endpoint: GET /api/health"}, "properties": {"repobilityId": "30d53f79d3d77e9d", "scanner": "scanner-primary", "fingerprint": "4756b4c4da7d2088", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cf16ae0930dc161a", "level": "note", "message": {"text": "Unused endpoint: GET /api/tasks"}, "properties": {"repobilityId": "c9d030fafc30a4cf", "scanner": "scanner-primary", "fingerprint": "cf16ae0930dc161a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f7339a517f95bf31", "level": "note", "message": {"text": "Unused endpoint: GET /api/filter-options"}, "properties": {"repobilityId": "143a0e9d811185fa", "scanner": "scanner-primary", "fingerprint": "f7339a517f95bf31", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3b37265900e79a8a", "level": "note", "message": {"text": "Unused endpoint: GET /api/stats"}, "properties": {"repobilityId": "142ef98072f39116", "scanner": "scanner-primary", "fingerprint": "3b37265900e79a8a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3db152548ad0d728", "level": "note", "message": {"text": "Unused endpoint: POST /api/tasks/query"}, "properties": {"repobilityId": "e26d83bf81cbfd00", "scanner": "scanner-primary", "fingerprint": "3db152548ad0d728", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b52d0b343a528754", "level": "note", "message": {"text": "Unused endpoint: GET /api/tasks/:id"}, "properties": {"repobilityId": "fc87b96334bde0fb", "scanner": "scanner-primary", "fingerprint": "b52d0b343a528754", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dd377e6beb63fde7", "level": "note", "message": {"text": "Unused endpoint: POST /api/tasks"}, "properties": {"repobilityId": "f3d3b3d0bf14f109", "scanner": "scanner-primary", "fingerprint": "dd377e6beb63fde7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-621c7750dd8b3ac6", "level": "note", "message": {"text": "Unused endpoint: PUT /api/tasks/:id"}, "properties": {"repobilityId": "632f410c0cc42439", "scanner": "scanner-primary", "fingerprint": "621c7750dd8b3ac6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2778f2fa3c962f17", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/tasks/:id"}, "properties": {"repobilityId": "34c17ef11c4601d2", "scanner": "scanner-primary", "fingerprint": "2778f2fa3c962f17", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9a527cb48ac537e5", "level": "note", "message": {"text": "Unused endpoint: POST /api/tasks/:id/toggle-status"}, "properties": {"repobilityId": "90c83bb64c40f506", "scanner": "scanner-primary", "fingerprint": "9a527cb48ac537e5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}