{"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-82dd603d59a4d36e", "name": "Possibly dead Python function: draw_text_centered", "shortDescription": {"text": "Possibly dead Python function: draw_text_centered"}, "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-804a526bde595387", "name": "Stray `console.log` in TS/JS \u2014 teniscash-backend/teniscash/src/seed.js:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 teniscash-backend/teniscash/src/seed.js:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e41bba5359894c4", "name": "Stray `console.log` in TS/JS \u2014 teniscash-backend/teniscash/src/index.js:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 teniscash-backend/teniscash/src/index.js: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-d092a115d44f26f6", "name": "Stray `console.log` in TS/JS \u2014 scripts/ns_locations_create.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ns_locations_create.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-5e83c8d090f30afe", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-auto-images-all-suppliers.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-auto-images-all-suppliers.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-140944562ea7b34c", "name": "Stray `console.log` in TS/JS \u2014 scripts/seed-memory.js:95", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-memory.js: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-0065ab9f9c0f5681", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrate-ns-categories.js:81", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-ns-categories.js: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-a5b361a2602ec1d4", "name": "Stray `console.log` in TS/JS \u2014 scripts/fetch-all-images.js:94", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch-all-images.js: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-db9f2d829c447515", "name": "Stray `console.log` in TS/JS \u2014 scripts/import-nfe-loja02.js:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-nfe-loja02.js: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-34a221337990e2af", "name": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-test-nfce.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-test-nfce.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-635fef6dc7bb6a75", "name": "Stray `console.log` in TS/JS \u2014 scripts/seed-barber-logins.js:72", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-barber-logins.js:72"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5a555e395f3485c1", "name": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-backup-config.js:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-backup-config.js:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-599e16e28bfbbce8", "name": "Stray `console.log` in TS/JS \u2014 scripts/ns_cleanup.js:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ns_cleanup.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-6551682f6a29a8be", "name": "Stray `console.log` in TS/JS \u2014 scripts/import-supplier.js:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-supplier.js: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-c37b86bf7c6f406a", "name": "Stray `console.log` in TS/JS \u2014 scripts/render-slate.js:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/render-slate.js:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac2a66d75a2c08e5", "name": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-test-emit.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-test-emit.js: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-073f9183743304db", "name": "Stray `console.log` in TS/JS \u2014 scripts/classify-ncm-products.js:118", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/classify-ncm-products.js:118"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-13f125de701119ee", "name": "Stray `console.log` in TS/JS \u2014 scripts/apply-markup-to-products.js:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-markup-to-products.js: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-6b1176976c0bc1a3", "name": "Stray `console.log` in TS/JS \u2014 scripts/filter-aggressive-matches.js:93", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/filter-aggressive-matches.js:93"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a15bc46a6276902f", "name": "Stray `console.log` in TS/JS \u2014 scripts/rebuild-hoka.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/rebuild-hoka.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-d97c6ac8f4d36781", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-seller-stock-logic.js:230", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-seller-stock-logic.js: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-f715719e597ca323", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-products-from-nfe.js:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-products-from-nfe.js:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-98bf5ef19df8923f", "name": "Stray `console.log` in TS/JS \u2014 scripts/classify-rules-apply.js:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/classify-rules-apply.js:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ddc67896eca9a18", "name": "Stray `console.log` in TS/JS \u2014 scripts/process-whatsapp-stock.js:237", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/process-whatsapp-stock.js:237"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-05e24098ea984c8e", "name": "Stray `console.log` in TS/JS \u2014 scripts/marketing-machine.js:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/marketing-machine.js: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-189ca5b59f5dbd18", "name": "Stray `console.log` in TS/JS \u2014 scripts/import-descriptions-from-json.js:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-descriptions-from-json.js: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-23ae9ee5491ff9f7", "name": "Stray `console.log` in TS/JS \u2014 scripts/import-all-remaining-suppliers.js:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-all-remaining-suppliers.js:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-257c6cc88e170a98", "name": "Stray `console.log` in TS/JS \u2014 scripts/match-bipes-com-xml.js:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/match-bipes-com-xml.js: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-15f3128daf8787e5", "name": "Stray `console.log` in TS/JS \u2014 scripts/list-whatsapp-groups.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list-whatsapp-groups.js:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7e251b1acecf5d01", "name": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-add-issuer.js:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-add-issuer.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-69c239f3f21f2628", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill-supplier-ref.js:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-supplier-ref.js: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-8c789ed1ffe184bb", "name": "Stray `console.log` in TS/JS \u2014 scripts/import-nfe-zip-2025.js:99", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-nfe-zip-2025.js: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-615ff67b89eb2cd3", "name": "Stray `console.log` in TS/JS \u2014 scripts/sweep-adidas-unlink-sizes.js:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sweep-adidas-unlink-sizes.js:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-efdf35d9535f8d45", "name": "Stray `console.log` in TS/JS \u2014 scripts/unify-by-reference.js:171", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/unify-by-reference.js: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-648239890b4b6a68", "name": "Stray `console.log` in TS/JS \u2014 scripts/identify-store-products.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/identify-store-products.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-68bf34045a208d6c", "name": "Stray `console.log` in TS/JS \u2014 scripts/retry-whatsapp-not-found.js:266", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/retry-whatsapp-not-found.js:266"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-55ba45891e0c82ae", "name": "Stray `console.log` in TS/JS \u2014 scripts/import-xmls-novos.js:88", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-xmls-novos.js: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-bd12dd866243bd3b", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-curation-all.js:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-curation-all.js: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-d62cea7dbbdfe0ce", "name": "Stray `console.log` in TS/JS \u2014 scripts/auto-classify-products.js:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/auto-classify-products.js: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-b53a5452c1ef851b", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-atendente-card-link.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-atendente-card-link.js: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-548508f071a8c8ff", "name": "Stray `console.log` in TS/JS \u2014 scripts/unify-hoka.js:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/unify-hoka.js: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-d25c33eeb43e4351", "name": "Stray `console.log` in TS/JS \u2014 scripts/recover-leading-zero-bipes.js:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/recover-leading-zero-bipes.js: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-db1dc05b5736d8f3", "name": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-meta-esportes-duplicates.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-meta-esportes-duplicates.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-69fa1ae6be763053", "name": "Stray `console.log` in TS/JS \u2014 scripts/patch-sped-pdf.js:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/patch-sped-pdf.js: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-d2c73626ce51e893", "name": "Stray `console.log` in TS/JS \u2014 scripts/apply-bipes-stock.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-bipes-stock.js: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-4282a294740ee4dd", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-prices-to-nuvemshop.js:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-prices-to-nuvemshop.js: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-3ad0047c7f7b8a4c", "name": "Stray `console.log` in TS/JS \u2014 scripts/ns_locations_inspect.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ns_locations_inspect.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-0aad3f4033e351d2", "name": "Stray `console.log` in TS/JS \u2014 scripts/unify-by-supplier-ref.js:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/unify-by-supplier-ref.js: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-88d0c4f730c65718", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-hoka-nfe.js:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-hoka-nfe.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-e4b533c20c7acba8", "name": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-register-store.js:97", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-register-store.js: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-ef358a9c637d11ba", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-memory.js:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-memory.js:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-81deadd07b03d007", "name": "Stray `console.log` in TS/JS \u2014 scripts/unify-products-batch.js:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/unify-products-batch.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-87e1368295edfed7", "name": "Stray `console.log` in TS/JS \u2014 scripts/export-products-for-research.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/export-products-for-research.js: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-3ddf9a4c2460c227", "name": "Stray `console.log` in TS/JS \u2014 scripts/deactivate-meta-all.js:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deactivate-meta-all.js: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-a5fb0ee649220f1b", "name": "Stray `console.log` in TS/JS \u2014 scripts/ns_push_eligible.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ns_push_eligible.js: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-2ffbbb08a5866492", "name": "Stray `console.log` in TS/JS \u2014 scripts/pagbank-register-store.js:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/pagbank-register-store.js: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-6350e828756453c2", "name": "Stray `console.log` in TS/JS \u2014 scripts/smoke-memory-http.js:59", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/smoke-memory-http.js: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-5902ebfd51b1dbec", "name": "Stray `console.log` in TS/JS \u2014 scripts/_slate_peek.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/_slate_peek.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-7c8907cf2cbeda97", "name": "Stray `console.log` in TS/JS \u2014 scripts/unpublish-all-nuvemshop.js:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/unpublish-all-nuvemshop.js:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-db48ecbaf76b3e3f", "name": "Stray `console.log` in TS/JS \u2014 scripts/unify-nfe-duplicates.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/unify-nfe-duplicates.js:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-27af4884ac54f35d", "name": "Stray `console.log` in TS/JS \u2014 scripts/create-missing-nfe-sizes.js:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-missing-nfe-sizes.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-ae68100acc2a5b1e", "name": "Stray `console.log` in TS/JS \u2014 scripts/import-nfes-batch.js:65", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-nfes-batch.js: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-d1eebc1fc4c50a14", "name": "Stray `console.log` in TS/JS \u2014 scripts/parse-chianca-params.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/parse-chianca-params.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-a5b60365a9b77151", "name": "Stray `console.log` in TS/JS \u2014 scripts/clear-product-classifications.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/clear-product-classifications.js:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-05a66e46b7343fe4", "name": "Stray `console.log` in TS/JS \u2014 scripts/deactivate-meta-esportes-duplicates.js:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deactivate-meta-esportes-duplicates.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-e0e878adb44b4f52", "name": "Stray `console.log` in TS/JS \u2014 scripts/create-products-from-nfe-pending.js:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-products-from-nfe-pending.js: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-9933a860a02bff51", "name": "Stray `console.log` in TS/JS \u2014 scripts/_run_slate.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/_run_slate.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-259c29611144a6e1", "name": "Stray `console.log` in TS/JS \u2014 scripts/recount-nfe-vs-db.js:91", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/recount-nfe-vs-db.js: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-9b75f0104df3c5db", "name": "Stray `console.log` in TS/JS \u2014 scripts/register-shipping-carrier.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/register-shipping-carrier.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-acb31020ce5c87fc", "name": "Stray `console.log` in TS/JS \u2014 scripts/normalize-classification.js:105", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/normalize-classification.js: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-b05b048bb44b376d", "name": "Stray `console.log` in TS/JS \u2014 scripts/ns_count.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ns_count.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-be62cb903ef270bf", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-fantasma-ia.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-fantasma-ia.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-5a29ff875396e4b1", "name": "Stray `console.log` in TS/JS \u2014 scripts/evaluate-daily-agents.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/evaluate-daily-agents.js: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-a65348e4c90802c6", "name": "Stray `console.log` in TS/JS \u2014 scripts/baratao-connect.js:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/baratao-connect.js: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-b78a3548a226a577", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-brasil-intel.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-brasil-intel.js: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-add922e32b9ab72f", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-command-center.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-command-center.js: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-cc0803832e2e8887", "name": "Stray `console.log` in TS/JS \u2014 scripts/apply-found-bipes.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-found-bipes.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fc09103ff875acaf", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-json-parser.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-json-parser.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-154691799cce1acf", "name": "Stray `console.log` in TS/JS \u2014 scripts/classify-products.js:96", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/classify-products.js:96"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c398170f56c9ca98", "name": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-promos.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-promos.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-5a1880c4e2246329", "name": "Stray `console.log` in TS/JS \u2014 scripts/extract-brand-and-cleanup.js:117", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/extract-brand-and-cleanup.js:117"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d3059ce1e280b8d", "name": "Stray `console.log` in TS/JS \u2014 scripts/delete-meta-from-nuvemshop.js:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete-meta-from-nuvemshop.js: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-0df9486f65ec7c0e", "name": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-add-issuers-batch.js:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-add-issuers-batch.js:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d168f141e4f1e2a", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-brands-batch.js:81", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-brands-batch.js: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-324deab115567f86", "name": "Stray `console.log` in TS/JS \u2014 scripts/consolidate-products-by-model.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/consolidate-products-by-model.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-fca75f64502dad69", "name": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-set-csc.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-set-csc.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-d44e975e1ccfea2f", "name": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-setup-meta-esportes.js:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-setup-meta-esportes.js: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-fd59fac19906d677", "name": "Stray `console.log` in TS/JS \u2014 scripts/apply-from-progress.js:67", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-from-progress.js: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-7809bb880920ad6d", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-daily-agents.js:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-daily-agents.js: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-5d0f07c2802864f8", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-reebok-nfe.js:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-reebok-nfe.js:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-120adcf2694e7247", "name": "Stray `console.log` in TS/JS \u2014 scripts/seed-category-tree.js:82", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-category-tree.js: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-c6841206d21bf2bf", "name": "Stray `console.log` in TS/JS \u2014 scripts/save-competitor-watch.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/save-competitor-watch.js: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-8da6fc3af94615d6", "name": "Stray `console.log` in TS/JS \u2014 scripts/image-quality-triage.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/image-quality-triage.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0c2c5ad4620ffa98", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill-cost-from-nfe.js:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-cost-from-nfe.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-56a44ac521f24b82", "name": "Stray `console.log` in TS/JS \u2014 scripts/smoke-command-center-http.js:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/smoke-command-center-http.js:68"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-55dc4aab7f8aa09f", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-brands-to-nuvemshop.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-brands-to-nuvemshop.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-cecdb8dc0384db80", "name": "Stray `console.log` in TS/JS \u2014 scripts/export-whatsapp-not-found.js:67", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/export-whatsapp-not-found.js: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-e7dae6ea97c2be65", "name": "Stray `console.log` in TS/JS \u2014 scripts/export-meta-catalog.js:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/export-meta-catalog.js: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-1d5f01c28fa1172f", "name": "Stray `console.log` in TS/JS \u2014 scripts/push-all-to-nuvemshop.js:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/push-all-to-nuvemshop.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-26ccd94a7e333c5a", "name": "Stray `console.log` in TS/JS \u2014 scripts/_render_one.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/_render_one.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5df8eda1d3209c4c", "name": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-status.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-status.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e18a5b73067c100b", "name": "Stray `console.log` in TS/JS \u2014 scripts/imagens-site-run.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/imagens-site-run.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-dbab7122c0935ff1", "name": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-remap-stores.js:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-remap-stores.js:46"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bfd8f28ab6f215fd", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-equipe-report.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-equipe-report.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-c8913e4fbe566348", "name": "Stray `console.log` in TS/JS \u2014 scripts/parse-whatsapp-stock.js:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/parse-whatsapp-stock.js: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-2b9395a8419be782", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-requires.js:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-requires.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-cc2c13745cc9ebc7", "name": "Stray `console.log` in TS/JS \u2014 scripts/classify-local-rules.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/classify-local-rules.js: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-8080677d62871a64", "name": "Stray `console.log` in TS/JS \u2014 scripts/ops/check-backups.js:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ops/check-backups.js:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dea22b3b8e04ccd2", "name": "Stray `console.log` in TS/JS \u2014 prisma/seed-stores.js:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/seed-stores.js: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-e334211aafa1f47e", "name": "Icon-only button without accessible name \u2014 public/_product-card.js:703", "shortDescription": {"text": "Icon-only button without accessible name \u2014 public/_product-card.js:703"}, "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-cee2df1aa2072cf2", "name": "Stray `console.log` in TS/JS \u2014 src/seed.js:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/seed.js:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-777c1090bc4565b3", "name": "Stray `console.log` in TS/JS \u2014 src/index.js:321", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/index.js:321"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ee43b8e2d5885ef", "name": "Stray `console.log` in TS/JS \u2014 src/routes/partners.js:768", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/partners.js:768"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a0b3c68f6f38160b", "name": "Stray `console.log` in TS/JS \u2014 src/routes/seller.js:574", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/seller.js:574"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a77c3c343ee33d9d", "name": "Stray `console.log` in TS/JS \u2014 src/routes/marketing.js:158", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/marketing.js: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-190046d20795d54d", "name": "Stray `console.log` in TS/JS \u2014 src/routes/ai.js:218", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/ai.js:218"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6ed6dfe7cdf1cc38", "name": "TODO/FIXME marker in shipping code \u2014 src/routes/services-club.js:177", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/routes/services-club.js:177"}, "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-86004c104a4ba40d", "name": "Stray `console.log` in TS/JS \u2014 src/routes/pagbank.js:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/pagbank.js: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-feecf3340f37cbfa", "name": "TODO/FIXME marker in shipping code \u2014 src/routes/services.js:957", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/routes/services.js:957"}, "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-ced1eb1d2b7d7e2b", "name": "Stray `console.log` in TS/JS \u2014 src/routes/auth.js:375", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/auth.js:375"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ecaa3d4ad079ca84", "name": "Stray `console.log` in TS/JS \u2014 src/routes/adminCatalog.js:1419", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/adminCatalog.js:1419"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77c9a8f3cc65ed2e", "name": "Stray `console.log` in TS/JS \u2014 src/routes/categories.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/categories.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ccb354cdfacc7396", "name": "TODO/FIXME marker in shipping code \u2014 src/routes/services-marketing.js:231", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/routes/services-marketing.js:231"}, "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-6264008aa5bfdaa1", "name": "Stray `console.log` in TS/JS \u2014 src/routes/brandProfiles.js:96", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/brandProfiles.js:96"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4aa9f900cba4647b", "name": "Stray `console.log` in TS/JS \u2014 src/routes/stocktake.js:238", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/stocktake.js:238"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b6fba9c750c1ab35", "name": "Stray `console.log` in TS/JS \u2014 src/routes/whatsapp.js:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/whatsapp.js: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-481ffb8c7d853bac", "name": "Stray `console.log` in TS/JS \u2014 src/services/catalogSearch.js:94", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/catalogSearch.js: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-df394647087b812c", "name": "Stray `console.log` in TS/JS \u2014 src/services/barataoAttendant.js:67", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/barataoAttendant.js: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-22d2d9966e86b551", "name": "Stray `console.log` in TS/JS \u2014 src/services/catalogEngineCron.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/catalogEngineCron.js: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-91a1434f827b9520", "name": "Stray `console.log` in TS/JS \u2014 src/services/metaFardamentosAttendant.js:242", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/metaFardamentosAttendant.js: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-37db980e139e4688", "name": "Stray `console.log` in TS/JS \u2014 src/services/pushNotifications.js:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/pushNotifications.js: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-cc760253983ac68f", "name": "Stray `console.log` in TS/JS \u2014 src/services/openaiImage.js:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/openaiImage.js: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-c1fcd0f959bace29", "name": "Stray `console.log` in TS/JS \u2014 src/services/fiscalAgentClient.js:148", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/fiscalAgentClient.js: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-7b1216e741bd5180", "name": "Stray `console.log` in TS/JS \u2014 src/services/metaApsAttendant.js:251", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/metaApsAttendant.js:251"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d8a7df855bd4ccbc", "name": "TODO/FIXME marker in shipping code \u2014 src/services/tiktokShopHandlers.js:278", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/services/tiktokShopHandlers.js:278"}, "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-93cdcb81f14affa1", "name": "Stray `console.log` in TS/JS \u2014 src/services/fiscalDraftJob.js:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/fiscalDraftJob.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-bf0009d0b63fa04e", "name": "Stray `console.log` in TS/JS \u2014 src/services/nuvemshopStockCron.js:108", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/nuvemshopStockCron.js:108"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a77aef39f71f488", "name": "Stray `console.log` in TS/JS \u2014 src/services/curationAgent.js:95", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/curationAgent.js: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-bc4bedec7152a518", "name": "Stray `console.log` in TS/JS \u2014 src/services/falAi.js:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/falAi.js: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-f5ce923c6566f271", "name": "Stray `console.log` in TS/JS \u2014 src/services/messagesCron.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/messagesCron.js: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-19521d0e1810323e", "name": "Stray `console.log` in TS/JS \u2014 src/services/emailer.js:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/emailer.js: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-66fb4b8252e2ffc0", "name": "Stray `console.log` in TS/JS \u2014 src/services/compositeImage.js:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/compositeImage.js: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-36081d96189c444c", "name": "TODO/FIXME marker in shipping code \u2014 src/services/activityIngest.js:96", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/services/activityIngest.js:96"}, "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-4ff59ae25d175653", "name": "Stray `console.log` in TS/JS \u2014 src/services/metaCatalogCron.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/metaCatalogCron.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b08f82c4d1c30fac", "name": "Stray `console.log` in TS/JS \u2014 src/services/equipeReports.js:259", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/equipeReports.js:259"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49f28f7dcda2e313", "name": "Stray `console.log` in TS/JS \u2014 src/services/nuvemshopHandlers.js:1403", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/nuvemshopHandlers.js:1403"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c85f782ee7b8307f", "name": "Stray `console.log` in TS/JS \u2014 src/services/dailyAgentsCron.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/dailyAgentsCron.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-bd5ab47c9c4dd1ef", "name": "TODO/FIXME marker in shipping code \u2014 src/services/payments.js:111", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/services/payments.js:111"}, "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-44c4cf97178243a4", "name": "Stray `console.log` in TS/JS \u2014 src/services/brandProfiles.js:111", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/brandProfiles.js:111"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d736e82baa56731", "name": "TODO/FIXME marker in shipping code \u2014 src/services/marketingCron.js:44", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/services/marketingCron.js:44"}, "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-92b35fbc21b15848", "name": "Stray `console.log` in TS/JS \u2014 src/services/marketingCron.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/marketingCron.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-44364eeed5f0dd20", "name": "TODO/FIXME marker in shipping code \u2014 src/services/servicesCron.js:33", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/services/servicesCron.js:33"}, "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-3e5575d08172c007", "name": "Stray `console.log` in TS/JS \u2014 src/services/servicesCron.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/servicesCron.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-a462907dcd0de639", "name": "Insecure pattern 'node_child_process' in scripts/render-slate.js:12", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/render-slate.js:12"}, "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-be81477e3100fd54", "name": "Insecure pattern 'node_child_process' in scripts/test-seller-stock-logic.js:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/test-seller-stock-logic.js:3"}, "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-8fec6ca06920ee93", "name": "Insecure pattern 'node_child_process' in scripts/import-all-remaining-suppliers.js:8", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/import-all-remaining-suppliers.js: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-aa1fa6a88af39f04", "name": "Insecure pattern 'node_child_process' in scripts/_render_one.js:10", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/_render_one.js: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-9fcb028d0f339cf5", "name": "Insecure pattern 'node_child_process' in scripts/check-requires.js:7", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/check-requires.js: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-af1517048c544da4", "name": "Insecure pattern 'node_child_process' in agents/fiscal-agent/fiscalSefazDirect.mjs:17", "shortDescription": {"text": "Insecure pattern 'node_child_process' in agents/fiscal-agent/fiscalSefazDirect.mjs:17"}, "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-861a779035445ed5", "name": "Insecure pattern 'node_child_process' in agents/fiscal-agent/index.js:230", "shortDescription": {"text": "Insecure pattern 'node_child_process' in agents/fiscal-agent/index.js:230"}, "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-e6cf0826ce41403f", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/afiliado.html:75", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/afiliado.html:75"}, "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-49d58c5c7b69d17a", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/catalog-classify.html:94", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/catalog-classify.html:94"}, "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-977b28a0383b8022", "name": "Insecure pattern 'local_storage_auth_token' in public/catalog-classify.html:85", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in public/catalog-classify.html:85"}, "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-a32ac59ff6a7a001", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/conferencia.html:85", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/conferencia.html:85"}, "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-29fc093acb10840e", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/identificar.html:170", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/identificar.html:170"}, "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-beb4f294b928cec2", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/desapega-admin.html:132", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/desapega-admin.html:132"}, "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-db57e6c01ef3814e", "name": "Insecure pattern 'local_storage_auth_token' in public/desapega-admin.html:116", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in public/desapega-admin.html:116"}, "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-77d303275bad0359", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/painel.html:133", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/painel.html:133"}, "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-ac7f30a25e5876ad", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/provar.html:104", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/provar.html:104"}, "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-0eafcc19337d9daf", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/curso.html:60", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/curso.html:60"}, "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-5d6f0d0f316dc1b0", "name": "Insecure pattern 'insert_adjacent_html' in public/curso.html:146", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in public/curso.html:146"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-857b27a4798a5172", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/_product-card.js:117", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/_product-card.js:117"}, "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-80346621af3e2248", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/cobranca.html:95", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/cobranca.html:95"}, "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-686103c67e884a2c", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/mensagens.html:946", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/mensagens.html:946"}, "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-50151806707a3b87", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/index.html:1566", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/index.html:1566"}, "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-880dae22866274df", "name": "Insecure pattern 'local_storage_auth_token' in public/index.html:2453", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in public/index.html:2453"}, "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-3abdd9f4d480b3aa", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/_product-search-bar.js:98", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/_product-search-bar.js:98"}, "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-b9927238b5838829", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/index_fixed.html:845", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/index_fixed.html:845"}, "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-440c474ed8c1f9d7", "name": "Insecure pattern 'local_storage_auth_token' in public/index_fixed.html:680", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in public/index_fixed.html:680"}, "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-98dcf1246a2dcf6a", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/config-pagbank.html:71", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/config-pagbank.html:71"}, "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-e2d7ee6e784d1567", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/bipar.html:174", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/bipar.html:174"}, "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-61056671a8187de9", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/imagens-site.html:129", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/imagens-site.html:129"}, "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-e26b6b46ab88785c", "name": "Insecure pattern 'direct_outerhtml_assignment' in public/imagens-site.html:210", "shortDescription": {"text": "Insecure pattern 'direct_outerhtml_assignment' in public/imagens-site.html:210"}, "fullDescription": {"text": "Found a known-risky pattern (direct_outerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c8a7d3adbf2a1a06", "name": "Insecure pattern 'insert_adjacent_html' in public/imagens-site.html:240", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in public/imagens-site.html:240"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1c22c18e261b6944", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/loja.html:1074", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/loja.html:1074"}, "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-072e041f49c724a0", "name": "Insecure pattern 'direct_outerhtml_assignment' in public/loja.html:1364", "shortDescription": {"text": "Insecure pattern 'direct_outerhtml_assignment' in public/loja.html:1364"}, "fullDescription": {"text": "Found a known-risky pattern (direct_outerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-15d054f54b764121", "name": "Insecure pattern 'insert_adjacent_html' in public/loja.html:1421", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in public/loja.html:1421"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f9dd5504a624fe74", "name": "Insecure pattern 'local_storage_auth_token' in public/loja.html:976", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in public/loja.html:976"}, "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-b56430d62e257a29", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/app.html:946", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/app.html:946"}, "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-a2d11d6f3841ec75", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/metafardamentos.html:203", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/metafardamentos.html:203"}, "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-2b668d235ad36fa5", "name": "Insecure pattern 'local_storage_auth_token' in public/metafardamentos.html:186", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in public/metafardamentos.html:186"}, "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-bc47dea88ed2c522", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/catalog-engine.html:65", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/catalog-engine.html:65"}, "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-7ee7887efca4616a", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/assinatura-email.html:106", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/assinatura-email.html:106"}, "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-6fb075e79052b1b9", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/admin.html:2280", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/admin.html:2280"}, "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-0ec4c62ebeaeb843", "name": "Insecure pattern 'insert_adjacent_html' in public/admin.html:12765", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in public/admin.html:12765"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3ae3ac43fac91524", "name": "Insecure pattern 'local_storage_auth_token' in public/admin.html:3412", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in public/admin.html:3412"}, "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-f41aa2269c1c6cb1", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/copa.js:396", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/copa.js:396"}, "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-dba013c815032d9d", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/bipes.html:182", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/bipes.html:182"}, "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-163f72e8027c4c04", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/certificado.html:33", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/certificado.html:33"}, "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-5f8dc55926c97a5c", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/marketing.html:505", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/marketing.html:505"}, "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-1e1e37abb05769e3", "name": "Insecure pattern 'direct_outerhtml_assignment' in public/marketing.html:1823", "shortDescription": {"text": "Insecure pattern 'direct_outerhtml_assignment' in public/marketing.html:1823"}, "fullDescription": {"text": "Found a known-risky pattern (direct_outerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9673e72cb0392bb5", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/vitrine.html:135", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/vitrine.html:135"}, "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-30aa50c3694d57d6", "name": "Insecure pattern 'direct_outerhtml_assignment' in public/vitrine.html:117", "shortDescription": {"text": "Insecure pattern 'direct_outerhtml_assignment' in public/vitrine.html:117"}, "fullDescription": {"text": "Found a known-risky pattern (direct_outerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-93168edde03c9edf", "name": "Insecure pattern 'insert_adjacent_html' in public/vitrine.html:152", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in public/vitrine.html:152"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cb8dedea9fdeaec3", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/classificacao.html:59", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/classificacao.html:59"}, "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-f7308293fb2b5d3c", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/barber.html:351", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/barber.html:351"}, "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-7d2b5018e9701a32", "name": "Insecure pattern 'local_storage_auth_token' in public/barber.html:506", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in public/barber.html:506"}, "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-76ca3680442fe514", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/consulta-precos.html:85", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/consulta-precos.html:85"}, "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-4a365d1cbb72862c", "name": "Insecure pattern 'direct_outerhtml_assignment' in public/consulta-precos.html:123", "shortDescription": {"text": "Insecure pattern 'direct_outerhtml_assignment' in public/consulta-precos.html:123"}, "fullDescription": {"text": "Found a known-risky pattern (direct_outerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7b451f4d777bf544", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/provar-ar.html:236", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/provar-ar.html:236"}, "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-3b6fd9d771c2042b", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/reels.html:111", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/reels.html:111"}, "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-67bed11a035406ee", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/index_4.html:376", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/index_4.html:376"}, "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-224993804afde5c2", "name": "Insecure pattern 'local_storage_auth_token' in public/index_4.html:348", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in public/index_4.html:348"}, "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-47ca1f8b2979631f", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/desapega-vender.html:147", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/desapega-vender.html:147"}, "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-806463b12588d134", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/produto.html:81", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/produto.html:81"}, "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-b3b2a5083726dcd5", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/atendimento.html:352", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/atendimento.html:352"}, "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-362032742469ae53", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/pro.html:123", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/pro.html:123"}, "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-f134c9fc98576bb4", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/desapega.html:105", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/desapega.html:105"}, "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-cbd5b6b02288865c", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/membros.html:37", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/membros.html:37"}, "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-04aeed916e8d6ecf", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/torneios.html:147", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/torneios.html:147"}, "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-1b3f177d28372de0", "name": "Insecure pattern 'local_storage_auth_token' in public/torneios.html:205", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in public/torneios.html:205"}, "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-c9bee5949c26f46e", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/index.js:970", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/index.js:970"}, "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-27c1d0f35e1a84fb", "name": "Insecure pattern 'node_child_process' in src/routes/mf.js:508", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/routes/mf.js:508"}, "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-f272e72fe13343e8", "name": "Insecure pattern 'cors_wildcard' in src/routes/tryon.js:101", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in src/routes/tryon.js:101"}, "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-9bf5c01e6d081bd7", "name": "Insecure pattern 'node_child_process' in src/services/fiscalSefazDirect.mjs:16", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/services/fiscalSefazDirect.mjs: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-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-5de6a0b75f06f254", "name": "Very large file: public/copa.js (2473 lines)", "shortDescription": {"text": "Very large file: public/copa.js (2473 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-0f03ec84b4b8cd25", "name": "Very large file: src/index.js (1264 lines)", "shortDescription": {"text": "Very large file: src/index.js (1264 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-b4c75e1c94a970af", "name": "Very large file: src/routes/seller.js (1503 lines)", "shortDescription": {"text": "Very large file: src/routes/seller.js (1503 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-f63d7ddfc7bedff8", "name": "Very large file: src/routes/sellerAgent.js (2488 lines)", "shortDescription": {"text": "Very large file: src/routes/sellerAgent.js (2488 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-8765409cfc632196", "name": "Very large file: src/routes/adminCatalog.js (1845 lines)", "shortDescription": {"text": "Very large file: src/routes/adminCatalog.js (1845 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-15cbdb5601c9a334", "name": "Very large file: src/routes/fiscal.js (1380 lines)", "shortDescription": {"text": "Very large file: src/routes/fiscal.js (1380 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-91269776614a0576", "name": "Very large file: src/routes/stocktake.js (1280 lines)", "shortDescription": {"text": "Very large file: src/routes/stocktake.js (1280 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-3c56bd899b690a55", "name": "Very large file: src/services/nuvemshopHandlers.js (1708 lines)", "shortDescription": {"text": "Very large file: src/services/nuvemshopHandlers.js (1708 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-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "8 test file(s) for 318 source file(s) (ratio 0.03). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2fbe176a90ede8a4", "name": "33 TODO/FIXME markers", "shortDescription": {"text": "33 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-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eace69ae3cfeef46", "name": "Node manifest has dependencies but no lockfile: teniscash-backend/teniscash/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: teniscash-backend/teniscash/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-db74d35fb041d6d6", "name": "Node manifest has dependencies but no lockfile: agents/fiscal-agent/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: agents/fiscal-agent/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 1118 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 50 placeholder/mock markers across 17 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-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-11825279136b53a3", "name": "CI is configured but no tests are detected", "shortDescription": {"text": "CI is configured but no tests are detected"}, "fullDescription": {"text": "A CI pipeline exists, but the scan found no test files to gate. Opus labeled this generated-code pattern as config theater: release machinery exists, but it has little behavioral signal."}, "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: license, tests, 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": "medium", "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 license, tests, 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-331ad7e83b6fd0f7", "name": "Agent authority lacks a verifier contract: .claude/agents/a11y-audit-agent.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/a11y-audit-agent.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-8078bb1b4e6603cc", "name": "Agent authority lacks a verifier contract: .claude/agents/stock-agent.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/stock-agent.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-baa48d154059f4b6", "name": "Agent authority lacks a verifier contract: .claude/agents/benchmark-posthoc-agent.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/benchmark-posthoc-agent.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-68c51480f7404d1b", "name": "Agent authority lacks a verifier contract: .claude/agents/finance-agent.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/finance-agent.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-ab0cc6a5de290bc6", "name": "Agent authority lacks a verifier contract: .claude/agents/buying-supplier-agent.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/buying-supplier-agent.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-449174374e6e969e", "name": "Agent authority lacks a verifier contract: .claude/agents/pricing-margin-agent.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/pricing-margin-agent.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-36eb2e51d6ff8979", "name": "Agent authority lacks a verifier contract: .claude/agents/trend-watcher-agent.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/trend-watcher-agent.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-32e11c5040de5d73", "name": "Agent authority lacks a verifier contract: .claude/agents/ecommerce-agent.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/ecommerce-agent.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-dd08c7dd815be276", "name": "Agent authority lacks a verifier contract: .claude/agents/design-system-agent.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/design-system-agent.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-3081f6857f251471", "name": "Agent authority lacks a verifier contract: .claude/agents/brand-narrative-agent.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/brand-narrative-agent.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-75df6d56e8663ca6", "name": "Agent authority lacks a verifier contract: .claude/skills/daily-retail-command/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/daily-retail-command/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-65be330b195c689e", "name": "Agent authority lacks a verifier contract: .claude/skills/import-nfe-supplier/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/import-nfe-supplier/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-d9a02c86be87a451", "name": "Commented-code block (8 lines) in scripts/run-auto-images-all-suppliers.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/run-auto-images-all-suppliers.js: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-55f0531ce104a023", "name": "Commented-code block (7 lines) in scripts/migrate-ns-categories.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/migrate-ns-categories.js: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-ad4d1fd318693ee6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-ns-categories.js:45", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-ns-categories.js:45"}, "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-e34247aa86a338da", "name": "Commented-code block (10 lines) in scripts/fetch-all-images.js:1", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/fetch-all-images.js: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-e01097ee0460c12b", "name": "Commented-code block (5 lines) in scripts/import-nfe-loja02.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/import-nfe-loja02.js: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-b24bc096818ee4f7", "name": "Commented-code block (5 lines) in scripts/fiscal-backup-config.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/fiscal-backup-config.js: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-989870c209199015", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/ns_cleanup.js:25", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/ns_cleanup.js: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-e7af5359fea8631f", "name": "Commented-code block (6 lines) in scripts/import-supplier.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/import-supplier.js: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-5e819f165c5f7c9c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/render-slate.js:19", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/render-slate.js: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-411a034a15629bac", "name": "Commented-code block (5 lines) in scripts/classify-ncm-products.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/classify-ncm-products.js: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-52f69bdefca62e11", "name": "Commented-code block (7 lines) in scripts/apply-markup-to-products.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/apply-markup-to-products.js: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-852192a13916868b", "name": "Commented-code block (5 lines) in scripts/filter-aggressive-matches.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/filter-aggressive-matches.js: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-d3a5308079ae5131", "name": "Commented-code block (14 lines) in scripts/sync-products-from-nfe.js:1", "shortDescription": {"text": "Commented-code block (14 lines) in scripts/sync-products-from-nfe.js: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-a34894a06ab3bc37", "name": "Commented-code block (7 lines) in scripts/process-whatsapp-stock.js:6", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/process-whatsapp-stock.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-6cf24ca882a8abdc", "name": "Commented-code block (5 lines) in scripts/marketing-machine.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/marketing-machine.js: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-dc6d1399f8114f7e", "name": "Commented-code block (6 lines) in scripts/import-descriptions-from-json.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/import-descriptions-from-json.js: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-36584b311d29a5d4", "name": "Commented-code block (8 lines) in scripts/match-bipes-com-xml.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/match-bipes-com-xml.js: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-e3f1cb8feed7b838", "name": "Commented-code block (9 lines) in scripts/backfill-supplier-ref.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/backfill-supplier-ref.js: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-b747397b29a30179", "name": "Commented-code block (6 lines) in scripts/sweep-adidas-unlink-sizes.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/sweep-adidas-unlink-sizes.js: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-e2beb0a84d015071", "name": "Commented-code block (8 lines) in scripts/unify-by-reference.js:9", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/unify-by-reference.js:9"}, "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-a722a0e8c58d5ccc", "name": "Commented-code block (7 lines) in scripts/identify-store-products.js:5", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/identify-store-products.js: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-1c2c1cffbd5790ab", "name": "Commented-code block (5 lines) in scripts/retry-whatsapp-not-found.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/retry-whatsapp-not-found.js: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-26e74380e09f0f64", "name": "Commented-code block (7 lines) in scripts/run-curation-all.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/run-curation-all.js: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-5929f80ecc16b678", "name": "Commented-code block (7 lines) in scripts/auto-classify-products.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/auto-classify-products.js: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-59ea4f21989c1063", "name": "Commented-code block (6 lines) in scripts/cleanup-meta-esportes-duplicates.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/cleanup-meta-esportes-duplicates.js: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-ff18672124ce3214", "name": "Commented-code block (9 lines) in scripts/sync-prices-to-nuvemshop.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/sync-prices-to-nuvemshop.js: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-81f2eae793ce059f", "name": "Commented-code block (8 lines) in scripts/unify-by-supplier-ref.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/unify-by-supplier-ref.js: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-1f82f696d95e8486", "name": "Commented-code block (5 lines) in scripts/fiscal-register-store.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/fiscal-register-store.js: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-f3f69ecb29f26dae", "name": "Commented-code block (6 lines) in scripts/unify-products-batch.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/unify-products-batch.js: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-2ca2b3675c7609dc", "name": "Commented-code block (13 lines) in scripts/export-products-for-research.js:1", "shortDescription": {"text": "Commented-code block (13 lines) in scripts/export-products-for-research.js: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-144f65c28f2b6433", "name": "Commented-code block (5 lines) in scripts/deactivate-meta-all.js:9", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/deactivate-meta-all.js:9"}, "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-fc13d6432af04ef7", "name": "Commented-code block (6 lines) in scripts/pagbank-register-store.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/pagbank-register-store.js: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-3129d2bcaef50ec4", "name": "Commented-code block (5 lines) in scripts/smoke-memory-http.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/smoke-memory-http.js: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-ca80e40270eb3624", "name": "Commented-code block (6 lines) in scripts/unpublish-all-nuvemshop.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/unpublish-all-nuvemshop.js: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-8a0df124b01935f7", "name": "Commented-code block (8 lines) in scripts/unify-nfe-duplicates.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/unify-nfe-duplicates.js: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-0dae2d79021d12c4", "name": "Commented-code block (6 lines) in scripts/import-nfes-batch.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/import-nfes-batch.js: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-17987f45e8df2dae", "name": "Commented-code block (8 lines) in scripts/clear-product-classifications.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/clear-product-classifications.js: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-7b430b5ead6da132", "name": "Commented-code block (9 lines) in scripts/create-products-from-nfe-pending.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/create-products-from-nfe-pending.js: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-f553c1e06f63a27d", "name": "Commented-code block (6 lines) in scripts/recount-nfe-vs-db.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/recount-nfe-vs-db.js: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-2f604e7e01726e6f", "name": "Commented-code block (6 lines) in scripts/register-shipping-carrier.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/register-shipping-carrier.js: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-54f99034c93109de", "name": "Commented-code block (5 lines) in scripts/fiscal-direct-nfce.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/fiscal-direct-nfce.mjs: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-3c0a074167215af0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/ns_count.js:11", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/ns_count.js:11"}, "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-d6756bf62f5eaf9e", "name": "Commented-code block (6 lines) in scripts/classify-products.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/classify-products.js: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-3bcbb1b9e89a466d", "name": "Commented-code block (5 lines) in scripts/fix-brands-batch.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/fix-brands-batch.js: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-3cb5736fbed9b13c", "name": "Commented-code block (5 lines) in scripts/consolidate-products-by-model.js:5", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/consolidate-products-by-model.js: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-efa9fa6266db58cf", "name": "Commented-code block (5 lines) in scripts/fiscal-setup-meta-esportes.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/fiscal-setup-meta-esportes.js: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-c14e5e691c0d4df4", "name": "Commented-code block (5 lines) in scripts/apply-from-progress.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/apply-from-progress.js: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-6367d25fb3de415b", "name": "Commented-code block (6 lines) in scripts/run-daily-agents.js:3", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/run-daily-agents.js:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-de958f2cd4943aa9", "name": "Commented-code block (7 lines) in scripts/seed-category-tree.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/seed-category-tree.js: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-6b550341b3ba2ba8", "name": "Commented-code block (6 lines) in scripts/backfill-cost-from-nfe.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/backfill-cost-from-nfe.js: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-a50f29c0745ce010", "name": "Commented-code block (5 lines) in scripts/smoke-command-center-http.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/smoke-command-center-http.js: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-e6a52989ac3d2146", "name": "Commented-code block (6 lines) in scripts/sync-brands-to-nuvemshop.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/sync-brands-to-nuvemshop.js: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-81626f47ab543ff7", "name": "Commented-code block (5 lines) in scripts/export-whatsapp-not-found.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/export-whatsapp-not-found.js: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-29f7e0f76a37a4aa", "name": "Commented-code block (13 lines) in scripts/export-meta-catalog.js:1", "shortDescription": {"text": "Commented-code block (13 lines) in scripts/export-meta-catalog.js: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-d878ea5dac55ef93", "name": "Commented-code block (7 lines) in scripts/push-all-to-nuvemshop.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/push-all-to-nuvemshop.js: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-c5ae6e9a761a9190", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/_render_one.js:15", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/_render_one.js: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-635ae8b8852c43b7", "name": "Commented-code block (7 lines) in scripts/imagens-site-run.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/imagens-site-run.js: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-0d8952333a4f37f5", "name": "Commented-code block (7 lines) in scripts/fiscal-remap-stores.js:5", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/fiscal-remap-stores.js: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-851517189429687b", "name": "Commented-code block (5 lines) in scripts/test-equipe-report.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/test-equipe-report.js: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-1d23c5358258fac1", "name": "Commented-code block (5 lines) in scripts/parse-whatsapp-stock.js:35", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/parse-whatsapp-stock.js: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-dcb6d592561c9d6a", "name": "Commented-code block (6 lines) in scripts/classify-local-rules.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/classify-local-rules.js: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-68e676d33cc03081", "name": "Commented-code block (5 lines) in scripts/ops/check-backups.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/ops/check-backups.js: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-21ebb735fcdc422e", "name": "Commented-code block (10 lines) in prisma/seed-stores.js:1", "shortDescription": {"text": "Commented-code block (10 lines) in prisma/seed-stores.js: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-a059d744078a8fd9", "name": "Commented-code block (10 lines) in agents/fiscal-agent/fiscalSefazDirect.mjs:1", "shortDescription": {"text": "Commented-code block (10 lines) in agents/fiscal-agent/fiscalSefazDirect.mjs: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-f382e260c28c5437", "name": "Commented-code block (10 lines) in agents/fiscal-agent/fiscalAcquirers.js:1", "shortDescription": {"text": "Commented-code block (10 lines) in agents/fiscal-agent/fiscalAcquirers.js: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-72b9b31729cc2e57", "name": "Commented-code block (5 lines) in agents/fiscal-agent/index.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in agents/fiscal-agent/index.js: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-ab230ad4cd893e8a", "name": "Commented-code block (6 lines) in public/_design-system.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in public/_design-system.js: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-7ce3ef4d0d7d3493", "name": "Commented-code block (7 lines) in public/_product-card.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in public/_product-card.js: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-4826375f42a22dd5", "name": "Commented-code block (7 lines) in public/_product-search-bar.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in public/_product-search-bar.js: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-3ea7a6c0435697be", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public/_product-search-bar.js:43", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/_product-search-bar.js: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-2829d071fc2f8b9c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public/copa.js:275", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/copa.js:275"}, "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-60520b47622a0156", "name": "Commented-code block (6 lines) in src/middleware.js:38", "shortDescription": {"text": "Commented-code block (6 lines) in src/middleware.js: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-ccaaf82283f2b70b", "name": "Commented-code block (6 lines) in src/index.js:539", "shortDescription": {"text": "Commented-code block (6 lines) in src/index.js:539"}, "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-bf9c588e6dd72bb2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/index.js:972", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/index.js:972"}, "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-4474ced83712d9ce", "name": "Commented-code block (10 lines) in src/ai/ai-client.js:1", "shortDescription": {"text": "Commented-code block (10 lines) in src/ai/ai-client.js: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-fd4d2f85a028df6a", "name": "Commented-code block (6 lines) in src/ai/daily/daily-market-engine.service.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/ai/daily/daily-market-engine.service.js: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-1d2bc14a20187566", "name": "Commented-code block (11 lines) in src/ai/recommendations/possibility-engine.service.js:1", "shortDescription": {"text": "Commented-code block (11 lines) in src/ai/recommendations/possibility-engine.service.js: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-c4b1ab8c5585c5ac", "name": "Commented-code block (8 lines) in src/ai/learning/learning.service.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/ai/learning/learning.service.js: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-9a930ae73637138b", "name": "Commented-code block (7 lines) in src/ai/intel/brasilIntel.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/ai/intel/brasilIntel.js: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-5b048b8c41556234", "name": "Commented-code block (7 lines) in src/ai/intel/fronts.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/ai/intel/fronts.js: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-98c877b5adbd9c7e", "name": "Commented-code block (13 lines) in src/ai/orchestrator/orchestrator.service.js:1", "shortDescription": {"text": "Commented-code block (13 lines) in src/ai/orchestrator/orchestrator.service.js: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-ef02ab9297a38485", "name": "Commented-code block (5 lines) in src/ai/orchestrator/orchestrator.routes.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/ai/orchestrator/orchestrator.routes.js: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-db6a72a7ced9ec38", "name": "Commented-code block (9 lines) in src/ai/command-center/command-center.service.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/ai/command-center/command-center.service.js: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-e792dbd1eb9301e6", "name": "Commented-code block (9 lines) in src/ai/approvals/approval.executor.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/ai/approvals/approval.executor.js: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-8351f3d798a540f1", "name": "Commented-code block (6 lines) in src/ai/memory/memory.service.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/ai/memory/memory.service.js: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-1c54e46a473d6a54", "name": "Commented-code block (5 lines) in src/ai/context/business-context.service.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/ai/context/business-context.service.js: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-3c8f2a5552279450", "name": "Commented-code block (6 lines) in src/ai/context/market-snapshot.service.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/ai/context/market-snapshot.service.js: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-f2dfba1fdbb902d2", "name": "Commented-code block (6 lines) in src/routes/sellerPortfolio.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/routes/sellerPortfolio.js: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-28a2cfb9da3cdd3b", "name": "Commented-code block (5 lines) in src/routes/mf.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/routes/mf.js: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-35e4e442678aae70", "name": "Commented-code block (6 lines) in src/routes/tiktokShop.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/routes/tiktokShop.js: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-81a3e6decc8fb738", "name": "Commented-code block (11 lines) in src/routes/seller.js:1049", "shortDescription": {"text": "Commented-code block (11 lines) in src/routes/seller.js:1049"}, "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-71cfc2dcdb866546", "name": "Commented-code block (5 lines) in src/routes/life.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/routes/life.js: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-4180ec3cb85883e3", "name": "Commented-code block (5 lines) in src/routes/imagensSite.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/routes/imagensSite.js: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-1dfe8a0579902618", "name": "Commented-code block (13 lines) in src/routes/marketing.js:1", "shortDescription": {"text": "Commented-code block (13 lines) in src/routes/marketing.js: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-378973c02396a913", "name": "Commented-code block (5 lines) in src/routes/productImages.js:197", "shortDescription": {"text": "Commented-code block (5 lines) in src/routes/productImages.js:197"}, "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-d64e1d036236e067", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/routes/productImages.js:78", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/routes/productImages.js: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-bce54056d5a19343", "name": "Commented-code block (6 lines) in src/routes/sellerAgent.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/routes/sellerAgent.js: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-2a3516d1c6a1e7f5", "name": "Commented-code block (12 lines) in src/routes/services-club.js:1", "shortDescription": {"text": "Commented-code block (12 lines) in src/routes/services-club.js: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-1d5791ec761f7b5b", "name": "Commented-code block (7 lines) in src/routes/pagbank.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/routes/pagbank.js: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-535bec0d0d447c2a", "name": "Commented-code block (5 lines) in src/routes/reelsAgency.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/routes/reelsAgency.js: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-3edd4ff6d33d7ea6", "name": "Commented-code block (8 lines) in src/routes/shipping.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/routes/shipping.js: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-7eac3bbc37b6fa61", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/routes/shipping.js:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/routes/shipping.js:40"}, "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-03438781114c0b9d", "name": "Commented-code block (7 lines) in src/routes/services-stock.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/routes/services-stock.js: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-2b9429e5344e0f04", "name": "Commented-code block (9 lines) in src/routes/services.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/routes/services.js: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-294ba3620aaa2885", "name": "Commented-code block (8 lines) in src/routes/auth.js:643", "shortDescription": {"text": "Commented-code block (8 lines) in src/routes/auth.js:643"}, "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-265209e2fb8ecadd", "name": "Commented-code block (5 lines) in src/routes/activities.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/routes/activities.js: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-b994608242405412", "name": "Commented-code block (9 lines) in src/routes/desapega.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/routes/desapega.js: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-f6d33dbf2371091e", "name": "Commented-code block (6 lines) in src/routes/inventory.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/routes/inventory.js: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-e90b79f0b09eb9b0", "name": "Commented-code block (8 lines) in src/routes/adminCatalog.js:163", "shortDescription": {"text": "Commented-code block (8 lines) in src/routes/adminCatalog.js:163"}, "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-7daa595a69e8f5c4", "name": "Commented-code block (7 lines) in src/routes/aiCuration.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/routes/aiCuration.js: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-239213ab0ead8893", "name": "Commented-code block (8 lines) in src/routes/tournaments.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/routes/tournaments.js: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-de831b504d3bf110", "name": "Commented-code block (8 lines) in src/routes/professionals.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/routes/professionals.js: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-9898294ba94134f1", "name": "Legacy-named symbol `copa2026_bolao_state_v1` in src/routes/copa.js:8", "shortDescription": {"text": "Legacy-named symbol `copa2026_bolao_state_v1` in src/routes/copa.js:8"}, "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-9d24e35ff759b07b", "name": "Commented-code block (6 lines) in src/routes/adminClassification.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/routes/adminClassification.js: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-b3c5f5439e07b121", "name": "Commented-code block (6 lines) in src/routes/fiscal.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/routes/fiscal.js: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-493c7d7e4ed3e441", "name": "Legacy-named symbol `vitrine_selection_v1` in src/routes/adminVitrine.js:20", "shortDescription": {"text": "Legacy-named symbol `vitrine_selection_v1` in src/routes/adminVitrine.js:20"}, "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-cc8f0ff17750ec8b", "name": "Commented-code block (12 lines) in src/routes/adminVitrine.js:1", "shortDescription": {"text": "Commented-code block (12 lines) in src/routes/adminVitrine.js: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-e3a432e4b539850c", "name": "Commented-code block (8 lines) in src/routes/cashbackRedeem.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/routes/cashbackRedeem.js: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-0ff7ee22caed211d", "name": "Commented-code block (6 lines) in src/routes/categories.js:168", "shortDescription": {"text": "Commented-code block (6 lines) in src/routes/categories.js:168"}, "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-64d8b9e03613735c", "name": "Commented-code block (7 lines) in src/routes/liveCommerce.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/routes/liveCommerce.js: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-54c5373c7a34d2ca", "name": "Commented-code block (7 lines) in src/routes/services-marketing.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/routes/services-marketing.js: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-1b55db033362663d", "name": "Commented-code block (7 lines) in src/routes/markup.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/routes/markup.js: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-51d5fc85b6d37523", "name": "Commented-code block (9 lines) in src/routes/infoproducts.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/routes/infoproducts.js: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-b8b5d6b1e0bd380c", "name": "Commented-code block (5 lines) in src/routes/tryon.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/routes/tryon.js: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-7dcb3dcf612f8891", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/routes/tryon.js:96", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/routes/tryon.js:96"}, "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-3a907d79d8e631a8", "name": "Commented-code block (9 lines) in src/routes/messagesV2.js:6", "shortDescription": {"text": "Commented-code block (9 lines) in src/routes/messagesV2.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-92a170118d58ec2d", "name": "Commented-code block (5 lines) in src/routes/services-packages.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/routes/services-packages.js: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-36b9978ec29fd2a5", "name": "Commented-code block (8 lines) in src/routes/services-finance.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/routes/services-finance.js: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-866011d879743c7d", "name": "Commented-code block (7 lines) in src/routes/stocktake.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/routes/stocktake.js: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-12b35469c20371d8", "name": "Commented-code block (8 lines) in src/routes/priceCheck.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/routes/priceCheck.js: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-fd009fee10ccd904", "name": "Commented-code block (5 lines) in src/routes/whatsapp.js:76", "shortDescription": {"text": "Commented-code block (5 lines) in src/routes/whatsapp.js: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-8206a8bd5098508c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/routes/whatsapp.js:245", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/routes/whatsapp.js:245"}, "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-1ba55ae864615d10", "name": "Commented-code block (7 lines) in src/services/fiscalApi.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/services/fiscalApi.js: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-e1bea31f28a01b60", "name": "Commented-code block (7 lines) in src/services/pix.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/services/pix.js: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-969668494d7836da", "name": "Commented-code block (5 lines) in src/services/imageProbe.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/imageProbe.js: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-a35042745781d8a5", "name": "Commented-code block (7 lines) in src/services/xmlNfeParser.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/services/xmlNfeParser.js: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-6a2fc1cab668676c", "name": "Commented-code block (6 lines) in src/services/catalogSearch.js:3", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/catalogSearch.js:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e7a412167c95eeeb", "name": "Commented-code block (5 lines) in src/services/supplierOfficialSites.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/supplierOfficialSites.js: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-57aa4d4b48a1408b", "name": "Commented-code block (5 lines) in src/services/barataoAttendant.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/barataoAttendant.js: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-1b4f7e432b1d1009", "name": "Commented-code block (7 lines) in src/services/brandBrain.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/services/brandBrain.js: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-3266038eac19fee9", "name": "Commented-code block (9 lines) in src/services/systemMessenger.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/services/systemMessenger.js: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-a0e95aaa303726ba", "name": "Commented-code block (18 lines) in src/services/tiktokShop.js:1", "shortDescription": {"text": "Commented-code block (18 lines) in src/services/tiktokShop.js: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-b34c66314fc3a6bc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/tiktokShop.js:129", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/tiktokShop.js:129"}, "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-0f2b3f8072041a15", "name": "Commented-code block (6 lines) in src/services/metaFardamentosAttendant.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/metaFardamentosAttendant.js: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-0129355bf9ebebba", "name": "Commented-code block (7 lines) in src/services/liveBus.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/services/liveBus.js: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-6d0732eaefda3ace", "name": "Commented-code block (8 lines) in src/services/productPageScraper.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/services/productPageScraper.js: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-3fc5443c29073579", "name": "Commented-code block (6 lines) in src/services/dailySlate.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/dailySlate.js: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-876001bf56dd7a87", "name": "Commented-code block (7 lines) in src/services/pushNotifications.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/services/pushNotifications.js: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-175ebf377dc706f5", "name": "Commented-code block (7 lines) in src/services/retailOrchestrator.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/services/retailOrchestrator.js: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-67167d9b20c68324", "name": "Commented-code block (6 lines) in src/services/serperImageSearch.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/serperImageSearch.js: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-cf93634d0abd85b0", "name": "Commented-code block (10 lines) in src/services/aiCategoryMatcher.js:1", "shortDescription": {"text": "Commented-code block (10 lines) in src/services/aiCategoryMatcher.js: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-bc32d492de220445", "name": "Commented-code block (6 lines) in src/services/visionValidator.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/visionValidator.js: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-c80931838acf537f", "name": "Commented-code block (8 lines) in src/services/catalogEngine.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/services/catalogEngine.js: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-182764e288056b1a", "name": "Commented-code block (8 lines) in src/services/imageStandardizer.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/services/imageStandardizer.js: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-9901e9e20e20f78b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/imageStandardizer.js:39", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/imageStandardizer.js:39"}, "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-d7f2e2e208279fdd", "name": "Commented-code block (6 lines) in src/services/catalogRules.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/catalogRules.js: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-544a2db63bc13a78", "name": "Commented-code block (5 lines) in src/services/productEnrichmentAI.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/productEnrichmentAI.js: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-34a71c8d445517f4", "name": "Commented-code block (7 lines) in src/services/openaiImage.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/services/openaiImage.js: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-d77588fca6ad329d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/openaiImage.js:70", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/openaiImage.js:70"}, "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-465d10b618785eb1", "name": "Commented-code block (9 lines) in src/services/pagbank.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/services/pagbank.js: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-3465d7584815892a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/copaNewsClient.js:88", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/copaNewsClient.js:88"}, "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-a89d1387ba146c31", "name": "Commented-code block (9 lines) in src/services/waMediaReader.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/services/waMediaReader.js: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-bc18aef45334ac1f", "name": "Commented-code block (10 lines) in src/services/fiscalAgentClient.js:1", "shortDescription": {"text": "Commented-code block (10 lines) in src/services/fiscalAgentClient.js: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-43b00de7f0f1c40a", "name": "Commented-code block (6 lines) in src/services/metaApsAttendant.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/metaApsAttendant.js: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-b1ac97fd95971354", "name": "Commented-code block (5 lines) in src/services/metaCatalogSync.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/metaCatalogSync.js: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-f838b6fbfe1520ec", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/metaCatalogSync.js:202", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/metaCatalogSync.js:202"}, "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-343e011fbf18a8bc", "name": "Commented-code block (9 lines) in src/services/labelGenerator.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/services/labelGenerator.js: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-982d92ade4c03764", "name": "Commented-code block (5 lines) in src/services/tiktokShopHandlers.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/tiktokShopHandlers.js: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-34e864e5ff4506e4", "name": "Commented-code block (6 lines) in src/services/fiscalDraftJob.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/fiscalDraftJob.js: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-712bba29116c75f6", "name": "Commented-code block (12 lines) in src/services/nuvemshopStockCron.js:1", "shortDescription": {"text": "Commented-code block (12 lines) in src/services/nuvemshopStockCron.js: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-b08902b4cd7754c6", "name": "Commented-code block (10 lines) in src/services/fiscalSefazDirect.mjs:1", "shortDescription": {"text": "Commented-code block (10 lines) in src/services/fiscalSefazDirect.mjs: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-30fa9629c74c67cf", "name": "Commented-code block (9 lines) in src/services/curationAgent.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/services/curationAgent.js: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-61aed4c8959bb80b", "name": "Commented-code block (7 lines) in src/services/falAi.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/services/falAi.js: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-07749ea6fbc7981d", "name": "Commented-code block (5 lines) in src/services/messagesCron.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/messagesCron.js: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-fe5f42d69847358d", "name": "Commented-code block (6 lines) in src/services/aiAttendant.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/aiAttendant.js: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-727442ac63370b51", "name": "Commented-code block (6 lines) in src/services/instagram.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/instagram.js: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-9cfabf7e472fb576", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/instagram.js:30", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/instagram.js:30"}, "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-631b60119e16bb0e", "name": "Commented-code block (8 lines) in src/services/recommendationEngine.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/services/recommendationEngine.js: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-57457cd2423584f4", "name": "Commented-code block (5 lines) in src/services/metaFardamentosKB.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/metaFardamentosKB.js: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-48c4253162804c23", "name": "Commented-code block (8 lines) in src/services/classificationOrchestrator.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/services/classificationOrchestrator.js: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-b4c1f983c7774abc", "name": "Commented-code block (7 lines) in src/services/braveImageSearch.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/services/braveImageSearch.js: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-d2572f73c9303b69", "name": "Commented-code block (8 lines) in src/services/emailer.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/services/emailer.js: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-06272f38bce9a5e8", "name": "Commented-code block (10 lines) in src/services/nfeSizeParser.js:6", "shortDescription": {"text": "Commented-code block (10 lines) in src/services/nfeSizeParser.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-0b72cfd952665ba5", "name": "Commented-code block (5 lines) in src/services/metaApsKB.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/metaApsKB.js: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-426ffb1076dcadb9", "name": "Commented-code block (5 lines) in src/services/compositeImage.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/compositeImage.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-5c4944f3377e3e1e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/compositeImage.js:129", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/compositeImage.js:129"}, "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-52e0d322fcaeed0a", "name": "Commented-code block (5 lines) in src/services/activityIngest.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/activityIngest.js: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-be4bc82c73fc14cd", "name": "Commented-code block (10 lines) in src/services/fiscalAcquirers.js:1", "shortDescription": {"text": "Commented-code block (10 lines) in src/services/fiscalAcquirers.js: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-491f05250b726942", "name": "Commented-code block (6 lines) in src/services/googleImageSearch.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/googleImageSearch.js: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-e72714099ffca399", "name": "Commented-code block (8 lines) in src/services/metaCatalogCron.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/services/metaCatalogCron.js: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-f1a79dfeab0f00c5", "name": "Commented-code block (13 lines) in src/services/nuvemshop.js:1", "shortDescription": {"text": "Commented-code block (13 lines) in src/services/nuvemshop.js: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-b26ee71af74473f6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/nuvemshop.js:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/nuvemshop.js: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-513bd4a7ff06f758", "name": "Commented-code block (8 lines) in src/services/emailTemplates.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/services/emailTemplates.js: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-f76cc7e0b29d984e", "name": "Commented-code block (5 lines) in src/services/brandDiscovery.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/brandDiscovery.js: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-a04a538827f8ac10", "name": "Commented-code block (7 lines) in src/services/equipeReports.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/services/equipeReports.js: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-e50963be4d077598", "name": "Commented-code block (7 lines) in src/services/visionBatchValidator.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/services/visionBatchValidator.js: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-4f7bd996798a1a4a", "name": "Commented-code block (6 lines) in src/services/copyGenerator.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/copyGenerator.js: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-107a649bd6bc4aa8", "name": "Commented-code block (10 lines) in src/services/nuvemshopHandlers.js:1", "shortDescription": {"text": "Commented-code block (10 lines) in src/services/nuvemshopHandlers.js: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-b0bf4593b4eff914", "name": "Commented-code block (6 lines) in src/services/dailyAgentsCron.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/dailyAgentsCron.js: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-d96031f60d21be42", "name": "Commented-code block (11 lines) in src/services/meta.js:6", "shortDescription": {"text": "Commented-code block (11 lines) in src/services/meta.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-59aec89dd5a25def", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/meta.js:44", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/meta.js:44"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-37067d806d096637", "name": "Commented-code block (9 lines) in src/services/payments.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/services/payments.js: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-202149e9bcfe3540", "name": "Commented-code block (12 lines) in src/services/computerUse.js:1", "shortDescription": {"text": "Commented-code block (12 lines) in src/services/computerUse.js: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-67e1d09de9083332", "name": "Commented-code block (5 lines) in src/services/brandProfiles.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/brandProfiles.js: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-e65863134c9927e2", "name": "Commented-code block (6 lines) in src/services/tournamentEngine.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/tournamentEngine.js: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-896bafbc2b988880", "name": "Commented-code block (6 lines) in src/services/anthropicFiles.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/anthropicFiles.js: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-7f07f46ee0e1c570", "name": "Commented-code block (6 lines) in src/services/aiCoach.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/aiCoach.js: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-d5c4d5bde59b5861", "name": "Commented-code block (5 lines) in src/services/marketingCron.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/marketingCron.js: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-846cb79f8fb7db12", "name": "Commented-code block (5 lines) in src/services/collageImage.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/collageImage.js: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-97b347e85f5ff7c9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/collageImage.js:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/collageImage.js:20"}, "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-e25920b067a0b326", "name": "Commented-code block (5 lines) in src/services/marketingPrompts.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/marketingPrompts.js: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-116dc585448e4a87", "name": "Commented-code block (5 lines) in src/services/marketingConfig.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/marketingConfig.js: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-8684c63c1a624c83", "name": "Commented-code block (6 lines) in src/services/slackNotifier.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/slackNotifier.js: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-878818e278cc37e9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/slackNotifier.js:28", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/slackNotifier.js:28"}, "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-87ef81d9d0c146ef", "name": "Commented-code block (6 lines) in src/services/imagensSite/bus.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/imagensSite/bus.js: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-1742a181eb61ad0b", "name": "Commented-code block (5 lines) in src/services/imagensSite/slots.js:5", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/imagensSite/slots.js: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-9c6d8c7000a53b75", "name": "Legacy-named symbol `imagens_site_plan_v1` in src/services/imagensSite/orchestrator.js:13", "shortDescription": {"text": "Legacy-named symbol `imagens_site_plan_v1` in src/services/imagensSite/orchestrator.js:13"}, "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-7150554b46e9cf58", "name": "Commented-code block (9 lines) in src/services/imagensSite/orchestrator.js:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/services/imagensSite/orchestrator.js: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-60e57dbf731ece23", "name": "Commented-code block (6 lines) in src/services/imagensSite/agents/stock.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/imagensSite/agents/stock.js: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-08f8dde5cceb7efb", "name": "Legacy-named symbol `imagens_site_slots_v1` in src/services/imagensSite/agents/mapper.js:7", "shortDescription": {"text": "Legacy-named symbol `imagens_site_slots_v1` in src/services/imagensSite/agents/mapper.js:7"}, "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-12d56ce4abbe345d", "name": "Commented-code block (7 lines) in src/services/psp/asaas.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/services/psp/asaas.js: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-1909eaa06a7d3113", "name": "127 env vars used in code but missing from .env.example", "shortDescription": {"text": "127 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `AI_AGENT_SQUAD`, `AI_ATTENDANT_BARATAO_ENABLED`, `AI_ATTENDANT_ENABLED`, `AI_ATTENDANT_MODEL`, `AI_BRAND_DISCOVERY_MODEL`, `AI_CAP_DAILY_BRL`, `AI_CAP_MONTHLY_BRL`, `AI_COMPUTER_MODEL` + 119 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-1bc7d51289f9a76b", "name": "Dangling fetch: GET /api/stocktake/biped-product-ids (public/_product-card.js:150)", "shortDescription": {"text": "Dangling fetch: GET /api/stocktake/biped-product-ids (public/_product-card.js:150)"}, "fullDescription": {"text": "`public/_product-card.js:150` calls `GET /api/stocktake/biped-product-ids` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/stocktake/biped-product-ids`\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-4ce95593f79cc559", "name": "Dangling fetch: GET /api/webauthn/status (public/_webauthn.js:51)", "shortDescription": {"text": "Dangling fetch: GET /api/webauthn/status (public/_webauthn.js:51)"}, "fullDescription": {"text": "`public/_webauthn.js:51` calls `GET /api/webauthn/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/webauthn/status`\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-36202f884eeed337", "name": "Dangling fetch: GET /api/face/status (public/_webauthn.js:110)", "shortDescription": {"text": "Dangling fetch: GET /api/face/status (public/_webauthn.js:110)"}, "fullDescription": {"text": "`public/_webauthn.js:110` calls `GET /api/face/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/face/status`\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-6cd218dbe019ed31", "name": "Dangling fetch: POST https://api.openai.com/v1/responses (src/ai/ai-client.js:272)", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/ai/ai-client.js:272)"}, "fullDescription": {"text": "`src/ai/ai-client.js:272` calls `POST https://api.openai.com/v1/responses` 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.openai.com/v1/responses`\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-6f143266e293b71e", "name": "Dangling fetch: GET https://viacep.com.br/ws/${clean}/json/ (src/routes/shipping.js:32)", "shortDescription": {"text": "Dangling fetch: GET https://viacep.com.br/ws/${clean}/json/ (src/routes/shipping.js:32)"}, "fullDescription": {"text": "`src/routes/shipping.js:32` calls `GET https://viacep.com.br/ws/${clean}/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:/viacep.com.br/ws/<p>/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-84ecf2cf850ede7d", "name": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?q=${encodeURIComponent(query)}&format=json&limit=1 (src/r", "shortDescription": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?q=${encodeURIComponent(query)}&format=json&limit=1 (src/routes/shipping.js:40)"}, "fullDescription": {"text": "`src/routes/shipping.js:40` calls `GET https://nominatim.openstreetmap.org/search?q=${encodeURIComponent(query)}&format=json&limit=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/nominatim.openstreetmap.org/search`\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-afdbb2f479ec48dd", "name": "Dangling fetch: POST https://api.openai.com/v1/images/edits (src/services/openaiImage.js:171)", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/images/edits (src/services/openaiImage.js:171)"}, "fullDescription": {"text": "`src/services/openaiImage.js:171` calls `POST https://api.openai.com/v1/images/edits` 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.openai.com/v1/images/edits`\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-fae079e1c087874b", "name": "Dangling fetch: POST https://www.nuvemshop.com.br/apps/authorize/token (src/services/nuvemshop.js:32)", "shortDescription": {"text": "Dangling fetch: POST https://www.nuvemshop.com.br/apps/authorize/token (src/services/nuvemshop.js:32)"}, "fullDescription": {"text": "`src/services/nuvemshop.js:32` calls `POST https://www.nuvemshop.com.br/apps/authorize/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/www.nuvemshop.com.br/apps/authorize/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-76889df7c8e240c5", "name": "Unused endpoint: USE /api/", "shortDescription": {"text": "Unused endpoint: USE /api/"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/index.js` declares `USE /api/` 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-a91f57add99eaa28", "name": "Unused endpoint: USE /api/auth/", "shortDescription": {"text": "Unused endpoint: USE /api/auth/"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/index.js` declares `USE /api/auth/` 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-6eb452fbfb454d20", "name": "Unused endpoint: USE /api/auth", "shortDescription": {"text": "Unused endpoint: USE /api/auth"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/index.js` declares `USE /api/auth` 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-5d917f1d5d77d899", "name": "Unused endpoint: USE /api/wallet", "shortDescription": {"text": "Unused endpoint: USE /api/wallet"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/index.js` declares `USE /api/wallet` 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-b5a38856dc9a14dc", "name": "Unused endpoint: USE /api/transfer", "shortDescription": {"text": "Unused endpoint: USE /api/transfer"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/index.js` declares `USE /api/transfer` 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-c96e5524adf9cb6d", "name": "Unused endpoint: USE /api/promos", "shortDescription": {"text": "Unused endpoint: USE /api/promos"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/index.js` declares `USE /api/promos` 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-d93a530ce10d47d9", "name": "Unused endpoint: USE /api/admin", "shortDescription": {"text": "Unused endpoint: USE /api/admin"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/index.js` declares `USE /api/admin` 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-e1b7f3d2328822bb", "name": "Unused endpoint: USE /api/qr", "shortDescription": {"text": "Unused endpoint: USE /api/qr"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/index.js` declares `USE /api/qr` 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": "`teniscash-backend/teniscash/src/index.js` 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-d504b80adc9409ec", "name": "Unused endpoint: GET /dashboard", "shortDescription": {"text": "Unused endpoint: GET /dashboard"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/admin.js` declares `GET /dashboard` 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-a4d9b2c4006f325b", "name": "Unused endpoint: POST /credit", "shortDescription": {"text": "Unused endpoint: POST /credit"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/admin.js` declares `POST /credit` 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-ce02a65ce2ebdf43", "name": "Unused endpoint: POST /debit", "shortDescription": {"text": "Unused endpoint: POST /debit"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/admin.js` declares `POST /debit` 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-dd54862cb7f38690", "name": "Unused endpoint: POST /sale", "shortDescription": {"text": "Unused endpoint: POST /sale"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/admin.js` declares `POST /sale` 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-bd671520512410a1", "name": "Unused endpoint: POST /use", "shortDescription": {"text": "Unused endpoint: POST /use"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/admin.js` declares `POST /use` 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-e0d632e527545a06", "name": "Unused endpoint: POST /promos", "shortDescription": {"text": "Unused endpoint: POST /promos"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/admin.js` declares `POST /promos` 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-a43bd5bbf1c294a6", "name": "Unused endpoint: PUT /promos/:id", "shortDescription": {"text": "Unused endpoint: PUT /promos/:id"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/admin.js` declares `PUT /promos/: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-569dbff1cc352ba3", "name": "Unused endpoint: POST /brands", "shortDescription": {"text": "Unused endpoint: POST /brands"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/admin.js` declares `POST /brands` 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-01c0e6ca7f504cf5", "name": "Unused endpoint: GET /brands", "shortDescription": {"text": "Unused endpoint: GET /brands"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/admin.js` declares `GET /brands` 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-0666d1d987815276", "name": "Unused endpoint: POST /config", "shortDescription": {"text": "Unused endpoint: POST /config"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/admin.js` declares `POST /config` 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-841e50bf821e4158", "name": "Unused endpoint: GET /users", "shortDescription": {"text": "Unused endpoint: GET /users"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/admin.js` declares `GET /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-81327b7bef38b5d6", "name": "Unused endpoint: GET /log", "shortDescription": {"text": "Unused endpoint: GET /log"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/admin.js` declares `GET /log` 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-d7fa8929da9cbe3f", "name": "Unused endpoint: GET /balance", "shortDescription": {"text": "Unused endpoint: GET /balance"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/wallet.js` declares `GET /balance` 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-52f939032aab887f", "name": "Unused endpoint: GET /transactions", "shortDescription": {"text": "Unused endpoint: GET /transactions"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/wallet.js` declares `GET /transactions` 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": "`teniscash-backend/teniscash/src/routes/promo.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-304b6f2b403d93f7", "name": "Unused endpoint: POST /register", "shortDescription": {"text": "Unused endpoint: POST /register"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/auth.js` declares `POST /register` 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": "`teniscash-backend/teniscash/src/routes/auth.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-fd1dc91abf32142d", "name": "Unused endpoint: GET /me", "shortDescription": {"text": "Unused endpoint: GET /me"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/auth.js` declares `GET /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-2f222a275ed687b3", "name": "Unused endpoint: POST /send", "shortDescription": {"text": "Unused endpoint: POST /send"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/transfer.js` declares `POST /send` 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-21e08ef21eba7560", "name": "Unused endpoint: GET /lookup", "shortDescription": {"text": "Unused endpoint: GET /lookup"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/transfer.js` declares `GET /lookup` 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-e8614df2893d241a", "name": "Unused endpoint: GET /generate", "shortDescription": {"text": "Unused endpoint: GET /generate"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/qr.js` declares `GET /generate` 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-34c0472a1f1fafe5", "name": "Unused endpoint: POST /validate", "shortDescription": {"text": "Unused endpoint: POST /validate"}, "fullDescription": {"text": "`teniscash-backend/teniscash/src/routes/qr.js` declares `POST /validate` 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-ebe25d4c88f130a0", "name": "Unused endpoint: USE /api/admin/ai", "shortDescription": {"text": "Unused endpoint: USE /api/admin/ai"}, "fullDescription": {"text": "`scripts/smoke-memory-http.js` declares `USE /api/admin/ai` 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-927300d1ac808df5", "name": "Unused endpoint: POST /emit-nfce", "shortDescription": {"text": "Unused endpoint: POST /emit-nfce"}, "fullDescription": {"text": "`agents/fiscal-agent/index.js` declares `POST /emit-nfce` 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-6b39b0d6cba1f07e", "name": "Unused endpoint: POST /emit-nfe55", "shortDescription": {"text": "Unused endpoint: POST /emit-nfe55"}, "fullDescription": {"text": "`agents/fiscal-agent/index.js` declares `POST /emit-nfe55` 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-6b4d3a1c30158c0e", "name": "Unused endpoint: POST /cancel", "shortDescription": {"text": "Unused endpoint: POST /cancel"}, "fullDescription": {"text": "`agents/fiscal-agent/index.js` declares `POST /cancel` 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-44dc9eac529d8df2", "name": "Unused endpoint: POST /consulta", "shortDescription": {"text": "Unused endpoint: POST /consulta"}, "fullDescription": {"text": "`agents/fiscal-agent/index.js` declares `POST /consulta` 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-c55374a0c544b5d2", "name": "Unused endpoint: POST /correction", "shortDescription": {"text": "Unused endpoint: POST /correction"}, "fullDescription": {"text": "`agents/fiscal-agent/index.js` declares `POST /correction` 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-adfddd6a3bdecfe1", "name": "Unused endpoint: POST /selfupdate", "shortDescription": {"text": "Unused endpoint: POST /selfupdate"}, "fullDescription": {"text": "`agents/fiscal-agent/index.js` declares `POST /selfupdate` 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-e05dc5dee187dd9d", "name": "Unused endpoint: POST /api/_px2026col", "shortDescription": {"text": "Unused endpoint: POST /api/_px2026col"}, "fullDescription": {"text": "`src/index.js` declares `POST /api/_px2026col` 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-c4e85d9219aafe12", "name": "Unused endpoint: POST /api/_catengine", "shortDescription": {"text": "Unused endpoint: POST /api/_catengine"}, "fullDescription": {"text": "`src/index.js` declares `POST /api/_catengine` 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-18fcd3a39930d2a3", "name": "Unused endpoint: POST /api/_falgen", "shortDescription": {"text": "Unused endpoint: POST /api/_falgen"}, "fullDescription": {"text": "`src/index.js` declares `POST /api/_falgen` 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-3d695b3c80dc9fdf", "name": "Unused endpoint: USE /api/webauthn", "shortDescription": {"text": "Unused endpoint: USE /api/webauthn"}, "fullDescription": {"text": "`src/index.js` declares `USE /api/webauthn` 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-2a660c4b76a01235", "name": "Unused endpoint: USE /api/face", "shortDescription": {"text": "Unused endpoint: USE /api/face"}, "fullDescription": {"text": "`src/index.js` declares `USE /api/face` 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-4c3a9249d3f958b7", "name": "Unused endpoint: USE /api/seller", "shortDescription": {"text": "Unused endpoint: USE /api/seller"}, "fullDescription": {"text": "`src/index.js` declares `USE /api/seller` 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-c08702293d844bd1", "name": "Unused endpoint: USE /api/stores", "shortDescription": {"text": "Unused endpoint: USE /api/stores"}, "fullDescription": {"text": "`src/index.js` declares `USE /api/stores` 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-9a300508c4edb651", "name": "Unused endpoint: USE /api/messages", "shortDescription": {"text": "Unused endpoint: USE /api/messages"}, "fullDescription": {"text": "`src/index.js` declares `USE /api/messages` 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-122e03bb1f55e4ea", "name": "Unused endpoint: USE /api/sellers", "shortDescription": {"text": "Unused endpoint: USE /api/sellers"}, "fullDescription": {"text": "`src/index.js` declares `USE /api/sellers` 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-ed41dcda9412cd76", "name": "Unused endpoint: USE /api/catalog", "shortDescription": {"text": "Unused endpoint: USE /api/catalog"}, "fullDescription": {"text": "`src/index.js` declares `USE /api/catalog` 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-309b282658c2ae72", "name": "Unused endpoint: USE /api/tryon", "shortDescription": {"text": "Unused endpoint: USE /api/tryon"}, "fullDescription": {"text": "`src/index.js` declares `USE /api/tryon` 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-316c43db307befc3", "name": "Unused endpoint: USE /api/ai", "shortDescription": {"text": "Unused endpoint: USE /api/ai"}, "fullDescription": {"text": "`src/index.js` declares `USE /api/ai` 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/20136"}, "properties": {"repository": "sportsetennis-droid/TenisCash", "repoUrl": "https://github.com/sportsetennis-droid/TenisCash", "branch": "main"}, "results": [{"ruleId": "scanner-82dd603d59a4d36e", "level": "note", "message": {"text": "Possibly dead Python function: draw_text_centered"}, "properties": {"repobilityId": "318d9862d359f499", "scanner": "scanner-primary", "fingerprint": "82dd603d59a4d36e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "output/carrossel-mizuno/build.py:108"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-804a526bde595387", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 teniscash-backend/teniscash/src/seed.js:6"}, "properties": {"repobilityId": "c12585ac4761f18a", "scanner": "scanner-primary", "fingerprint": "804a526bde595387", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e41bba5359894c4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 teniscash-backend/teniscash/src/index.js:58"}, "properties": {"repobilityId": "9b5ae8eb5fa1c13a", "scanner": "scanner-primary", "fingerprint": "4e41bba5359894c4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d092a115d44f26f6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ns_locations_create.js:50"}, "properties": {"repobilityId": "3542c464c78d32b8", "scanner": "scanner-primary", "fingerprint": "d092a115d44f26f6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5e83c8d090f30afe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-auto-images-all-suppliers.js:50"}, "properties": {"repobilityId": "fb36ed6c404e6a1e", "scanner": "scanner-primary", "fingerprint": "5e83c8d090f30afe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-140944562ea7b34c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-memory.js:95"}, "properties": {"repobilityId": "171a770d189bdf75", "scanner": "scanner-primary", "fingerprint": "140944562ea7b34c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0065ab9f9c0f5681", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-ns-categories.js:81"}, "properties": {"repobilityId": "a73901c562cb5772", "scanner": "scanner-primary", "fingerprint": "0065ab9f9c0f5681", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a5b361a2602ec1d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch-all-images.js:94"}, "properties": {"repobilityId": "aaa302e91b351fdb", "scanner": "scanner-primary", "fingerprint": "a5b361a2602ec1d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-db9f2d829c447515", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-nfe-loja02.js:69"}, "properties": {"repobilityId": "2d20a53e4f40522a", "scanner": "scanner-primary", "fingerprint": "db9f2d829c447515", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-34a221337990e2af", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-test-nfce.js:26"}, "properties": {"repobilityId": "719f90e2b1b1bdc7", "scanner": "scanner-primary", "fingerprint": "34a221337990e2af", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-635fef6dc7bb6a75", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-barber-logins.js:72"}, "properties": {"repobilityId": "988cc2634e8239b6", "scanner": "scanner-primary", "fingerprint": "635fef6dc7bb6a75", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5a555e395f3485c1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-backup-config.js:27"}, "properties": {"repobilityId": "2eb0aa9e60246ea3", "scanner": "scanner-primary", "fingerprint": "5a555e395f3485c1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-599e16e28bfbbce8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ns_cleanup.js:37"}, "properties": {"repobilityId": "03715f4dfe020039", "scanner": "scanner-primary", "fingerprint": "599e16e28bfbbce8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6551682f6a29a8be", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-supplier.js:77"}, "properties": {"repobilityId": "06b7b1539aea00dd", "scanner": "scanner-primary", "fingerprint": "6551682f6a29a8be", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c37b86bf7c6f406a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/render-slate.js:35"}, "properties": {"repobilityId": "0ff5c909721055fb", "scanner": "scanner-primary", "fingerprint": "c37b86bf7c6f406a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ac2a66d75a2c08e5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-test-emit.js:15"}, "properties": {"repobilityId": "f7fddc536d82657f", "scanner": "scanner-primary", "fingerprint": "ac2a66d75a2c08e5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-073f9183743304db", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/classify-ncm-products.js:118"}, "properties": {"repobilityId": "e23e24d914c1e46b", "scanner": "scanner-primary", "fingerprint": "073f9183743304db", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-13f125de701119ee", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-markup-to-products.js:31"}, "properties": {"repobilityId": "0bdc20ef5343ca29", "scanner": "scanner-primary", "fingerprint": "13f125de701119ee", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6b1176976c0bc1a3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/filter-aggressive-matches.js:93"}, "properties": {"repobilityId": "832c887b291fae6d", "scanner": "scanner-primary", "fingerprint": "6b1176976c0bc1a3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a15bc46a6276902f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/rebuild-hoka.js:44"}, "properties": {"repobilityId": "fcfdc7e80ec93536", "scanner": "scanner-primary", "fingerprint": "a15bc46a6276902f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d97c6ac8f4d36781", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-seller-stock-logic.js:230"}, "properties": {"repobilityId": "0488e26ef44cdcf0", "scanner": "scanner-primary", "fingerprint": "d97c6ac8f4d36781", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f715719e597ca323", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-products-from-nfe.js:38"}, "properties": {"repobilityId": "ad0984969dde2808", "scanner": "scanner-primary", "fingerprint": "f715719e597ca323", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-98bf5ef19df8923f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/classify-rules-apply.js:11"}, "properties": {"repobilityId": "9da924d8298b5177", "scanner": "scanner-primary", "fingerprint": "98bf5ef19df8923f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0ddc67896eca9a18", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/process-whatsapp-stock.js:237"}, "properties": {"repobilityId": "4fa72aa7f40fea7b", "scanner": "scanner-primary", "fingerprint": "0ddc67896eca9a18", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-05e24098ea984c8e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/marketing-machine.js:63"}, "properties": {"repobilityId": "2bac02f091bc1a2b", "scanner": "scanner-primary", "fingerprint": "05e24098ea984c8e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-189ca5b59f5dbd18", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-descriptions-from-json.js:53"}, "properties": {"repobilityId": "fc962df2b3046fdc", "scanner": "scanner-primary", "fingerprint": "189ca5b59f5dbd18", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-23ae9ee5491ff9f7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-all-remaining-suppliers.js:38"}, "properties": {"repobilityId": "3169662d98cfb82c", "scanner": "scanner-primary", "fingerprint": "23ae9ee5491ff9f7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-257c6cc88e170a98", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/match-bipes-com-xml.js:64"}, "properties": {"repobilityId": "c869fb8dc7c4f67a", "scanner": "scanner-primary", "fingerprint": "257c6cc88e170a98", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-15f3128daf8787e5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list-whatsapp-groups.js:32"}, "properties": {"repobilityId": "b30dc1a05df9e079", "scanner": "scanner-primary", "fingerprint": "15f3128daf8787e5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7e251b1acecf5d01", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-add-issuer.js:36"}, "properties": {"repobilityId": "4fd8f011152875b2", "scanner": "scanner-primary", "fingerprint": "7e251b1acecf5d01", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-69c239f3f21f2628", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-supplier-ref.js:45"}, "properties": {"repobilityId": "4ce5f2dd15d7e873", "scanner": "scanner-primary", "fingerprint": "69c239f3f21f2628", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8c789ed1ffe184bb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-nfe-zip-2025.js:99"}, "properties": {"repobilityId": "ad0b9d77e8194e1c", "scanner": "scanner-primary", "fingerprint": "8c789ed1ffe184bb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-615ff67b89eb2cd3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sweep-adidas-unlink-sizes.js:38"}, "properties": {"repobilityId": "d0667e1032f6ccce", "scanner": "scanner-primary", "fingerprint": "615ff67b89eb2cd3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-efdf35d9535f8d45", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/unify-by-reference.js:171"}, "properties": {"repobilityId": "b5bdbb07f1533b47", "scanner": "scanner-primary", "fingerprint": "efdf35d9535f8d45", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-648239890b4b6a68", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/identify-store-products.js:50"}, "properties": {"repobilityId": "6ed30f508a02066e", "scanner": "scanner-primary", "fingerprint": "648239890b4b6a68", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-68bf34045a208d6c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/retry-whatsapp-not-found.js:266"}, "properties": {"repobilityId": "4b72943a900ac8d6", "scanner": "scanner-primary", "fingerprint": "68bf34045a208d6c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-55ba45891e0c82ae", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-xmls-novos.js:88"}, "properties": {"repobilityId": "1c16240b04bc5f39", "scanner": "scanner-primary", "fingerprint": "55ba45891e0c82ae", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bd12dd866243bd3b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-curation-all.js:31"}, "properties": {"repobilityId": "304c030a88535271", "scanner": "scanner-primary", "fingerprint": "bd12dd866243bd3b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d62cea7dbbdfe0ce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/auto-classify-products.js:79"}, "properties": {"repobilityId": "b5398d484a6c9e48", "scanner": "scanner-primary", "fingerprint": "d62cea7dbbdfe0ce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b53a5452c1ef851b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-atendente-card-link.js:22"}, "properties": {"repobilityId": "cc00fd7bd6ef87cf", "scanner": "scanner-primary", "fingerprint": "b53a5452c1ef851b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-548508f071a8c8ff", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/unify-hoka.js:70"}, "properties": {"repobilityId": "5bfb807e97bfe9a0", "scanner": "scanner-primary", "fingerprint": "548508f071a8c8ff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d25c33eeb43e4351", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/recover-leading-zero-bipes.js:51"}, "properties": {"repobilityId": "0dc57551ca1f72b8", "scanner": "scanner-primary", "fingerprint": "d25c33eeb43e4351", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-db1dc05b5736d8f3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-meta-esportes-duplicates.js:44"}, "properties": {"repobilityId": "ad2c4cd6e12572eb", "scanner": "scanner-primary", "fingerprint": "db1dc05b5736d8f3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-69fa1ae6be763053", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/patch-sped-pdf.js:55"}, "properties": {"repobilityId": "b505d6d8409d9136", "scanner": "scanner-primary", "fingerprint": "69fa1ae6be763053", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d2c73626ce51e893", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-bipes-stock.js:20"}, "properties": {"repobilityId": "7224f56f278878b4", "scanner": "scanner-primary", "fingerprint": "d2c73626ce51e893", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4282a294740ee4dd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-prices-to-nuvemshop.js:29"}, "properties": {"repobilityId": "eb111a88f661d876", "scanner": "scanner-primary", "fingerprint": "4282a294740ee4dd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3ad0047c7f7b8a4c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ns_locations_inspect.js:7"}, "properties": {"repobilityId": "8f151029c3a395be", "scanner": "scanner-primary", "fingerprint": "3ad0047c7f7b8a4c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0aad3f4033e351d2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/unify-by-supplier-ref.js:45"}, "properties": {"repobilityId": "0aa48e075e235b8f", "scanner": "scanner-primary", "fingerprint": "0aad3f4033e351d2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-88d0c4f730c65718", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-hoka-nfe.js:40"}, "properties": {"repobilityId": "3ba145ad130f32b9", "scanner": "scanner-primary", "fingerprint": "88d0c4f730c65718", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e4b533c20c7acba8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-register-store.js:97"}, "properties": {"repobilityId": "c1de18d31555f0e3", "scanner": "scanner-primary", "fingerprint": "e4b533c20c7acba8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ef358a9c637d11ba", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-memory.js:27"}, "properties": {"repobilityId": "662ff52ed5b05973", "scanner": "scanner-primary", "fingerprint": "ef358a9c637d11ba", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-81deadd07b03d007", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/unify-products-batch.js:42"}, "properties": {"repobilityId": "218189a6ad533a45", "scanner": "scanner-primary", "fingerprint": "81deadd07b03d007", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-87e1368295edfed7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/export-products-for-research.js:39"}, "properties": {"repobilityId": "4cdaec8392d7f155", "scanner": "scanner-primary", "fingerprint": "87e1368295edfed7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3ddf9a4c2460c227", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deactivate-meta-all.js:34"}, "properties": {"repobilityId": "ae66f6bcfb662058", "scanner": "scanner-primary", "fingerprint": "3ddf9a4c2460c227", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a5fb0ee649220f1b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ns_push_eligible.js:22"}, "properties": {"repobilityId": "725cd9bd27ecf8ca", "scanner": "scanner-primary", "fingerprint": "a5fb0ee649220f1b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2ffbbb08a5866492", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/pagbank-register-store.js:47"}, "properties": {"repobilityId": "918e599d6fb825a9", "scanner": "scanner-primary", "fingerprint": "2ffbbb08a5866492", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6350e828756453c2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/smoke-memory-http.js:59"}, "properties": {"repobilityId": "ec3b9cee06312a73", "scanner": "scanner-primary", "fingerprint": "6350e828756453c2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5902ebfd51b1dbec", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/_slate_peek.js:14"}, "properties": {"repobilityId": "4c88a4f1a28f3f90", "scanner": "scanner-primary", "fingerprint": "5902ebfd51b1dbec", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7c8907cf2cbeda97", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/unpublish-all-nuvemshop.js:35"}, "properties": {"repobilityId": "ac346afe87b0006b", "scanner": "scanner-primary", "fingerprint": "7c8907cf2cbeda97", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-db48ecbaf76b3e3f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/unify-nfe-duplicates.js:32"}, "properties": {"repobilityId": "d0f5b4a2451b5b45", "scanner": "scanner-primary", "fingerprint": "db48ecbaf76b3e3f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-27af4884ac54f35d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-missing-nfe-sizes.js:42"}, "properties": {"repobilityId": "fa00ee9954d1b048", "scanner": "scanner-primary", "fingerprint": "27af4884ac54f35d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ae68100acc2a5b1e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-nfes-batch.js:65"}, "properties": {"repobilityId": "d919212e81305e6e", "scanner": "scanner-primary", "fingerprint": "ae68100acc2a5b1e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d1eebc1fc4c50a14", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/parse-chianca-params.js:26"}, "properties": {"repobilityId": "bec66ab0345e0a01", "scanner": "scanner-primary", "fingerprint": "d1eebc1fc4c50a14", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a5b60365a9b77151", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/clear-product-classifications.js:32"}, "properties": {"repobilityId": "8160de52140bafec", "scanner": "scanner-primary", "fingerprint": "a5b60365a9b77151", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-05a66e46b7343fe4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deactivate-meta-esportes-duplicates.js:36"}, "properties": {"repobilityId": "defecd71daecbcc5", "scanner": "scanner-primary", "fingerprint": "05a66e46b7343fe4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e0e878adb44b4f52", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-products-from-nfe-pending.js:53"}, "properties": {"repobilityId": "7c73e8abb539a8b2", "scanner": "scanner-primary", "fingerprint": "e0e878adb44b4f52", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9933a860a02bff51", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/_run_slate.js:13"}, "properties": {"repobilityId": "df809330077243a7", "scanner": "scanner-primary", "fingerprint": "9933a860a02bff51", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-259c29611144a6e1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/recount-nfe-vs-db.js:91"}, "properties": {"repobilityId": "193c7ec2e4ce519b", "scanner": "scanner-primary", "fingerprint": "259c29611144a6e1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9b75f0104df3c5db", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/register-shipping-carrier.js:28"}, "properties": {"repobilityId": "e2b666eb971239f4", "scanner": "scanner-primary", "fingerprint": "9b75f0104df3c5db", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-acb31020ce5c87fc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/normalize-classification.js:105"}, "properties": {"repobilityId": "032cd56bf2ebb2c8", "scanner": "scanner-primary", "fingerprint": "acb31020ce5c87fc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b05b048bb44b376d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ns_count.js:26"}, "properties": {"repobilityId": "b4b71aabd4b33530", "scanner": "scanner-primary", "fingerprint": "b05b048bb44b376d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-be62cb903ef270bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-fantasma-ia.js:14"}, "properties": {"repobilityId": "6ecb06baad2d359b", "scanner": "scanner-primary", "fingerprint": "be62cb903ef270bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5a29ff875396e4b1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/evaluate-daily-agents.js:20"}, "properties": {"repobilityId": "da0d2106a5a10370", "scanner": "scanner-primary", "fingerprint": "5a29ff875396e4b1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a65348e4c90802c6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/baratao-connect.js:66"}, "properties": {"repobilityId": "e57900e7a78ed143", "scanner": "scanner-primary", "fingerprint": "a65348e4c90802c6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b78a3548a226a577", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-brasil-intel.js:20"}, "properties": {"repobilityId": "a041f92037940c04", "scanner": "scanner-primary", "fingerprint": "b78a3548a226a577", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-add922e32b9ab72f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-command-center.js:39"}, "properties": {"repobilityId": "50819b6937132494", "scanner": "scanner-primary", "fingerprint": "add922e32b9ab72f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cc0803832e2e8887", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-found-bipes.js:12"}, "properties": {"repobilityId": "8263122fc387b45e", "scanner": "scanner-primary", "fingerprint": "cc0803832e2e8887", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fc09103ff875acaf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-json-parser.js:7"}, "properties": {"repobilityId": "bc1029c29f8a8824", "scanner": "scanner-primary", "fingerprint": "fc09103ff875acaf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-154691799cce1acf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/classify-products.js:96"}, "properties": {"repobilityId": "d94c765194a014a5", "scanner": "scanner-primary", "fingerprint": "154691799cce1acf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c398170f56c9ca98", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-promos.js:14"}, "properties": {"repobilityId": "30deba3d882f4308", "scanner": "scanner-primary", "fingerprint": "c398170f56c9ca98", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5a1880c4e2246329", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/extract-brand-and-cleanup.js:117"}, "properties": {"repobilityId": "880652d2aef7cc1f", "scanner": "scanner-primary", "fingerprint": "5a1880c4e2246329", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6d3059ce1e280b8d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete-meta-from-nuvemshop.js:30"}, "properties": {"repobilityId": "b026e88da16fb0b2", "scanner": "scanner-primary", "fingerprint": "6d3059ce1e280b8d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0df9486f65ec7c0e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-add-issuers-batch.js:56"}, "properties": {"repobilityId": "521cdca79fa1859e", "scanner": "scanner-primary", "fingerprint": "0df9486f65ec7c0e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7d168f141e4f1e2a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-brands-batch.js:81"}, "properties": {"repobilityId": "ef30002f3b7d8606", "scanner": "scanner-primary", "fingerprint": "7d168f141e4f1e2a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-324deab115567f86", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/consolidate-products-by-model.js:50"}, "properties": {"repobilityId": "03c40d738756af1a", "scanner": "scanner-primary", "fingerprint": "324deab115567f86", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fca75f64502dad69", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-set-csc.js:26"}, "properties": {"repobilityId": "35f9d1f49795ec5e", "scanner": "scanner-primary", "fingerprint": "fca75f64502dad69", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d44e975e1ccfea2f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-setup-meta-esportes.js:41"}, "properties": {"repobilityId": "b1589f09ee18ed16", "scanner": "scanner-primary", "fingerprint": "d44e975e1ccfea2f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fd59fac19906d677", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-from-progress.js:67"}, "properties": {"repobilityId": "a4bd588fa27d75d3", "scanner": "scanner-primary", "fingerprint": "fd59fac19906d677", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7809bb880920ad6d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-daily-agents.js:43"}, "properties": {"repobilityId": "3507584747b28e96", "scanner": "scanner-primary", "fingerprint": "7809bb880920ad6d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5d0f07c2802864f8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-reebok-nfe.js:61"}, "properties": {"repobilityId": "12d0bd98cdb04d8f", "scanner": "scanner-primary", "fingerprint": "5d0f07c2802864f8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-120adcf2694e7247", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-category-tree.js:82"}, "properties": {"repobilityId": "dc547b430d3cd15a", "scanner": "scanner-primary", "fingerprint": "120adcf2694e7247", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c6841206d21bf2bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/save-competitor-watch.js:15"}, "properties": {"repobilityId": "2263f945a5c428ce", "scanner": "scanner-primary", "fingerprint": "c6841206d21bf2bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8da6fc3af94615d6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/image-quality-triage.js:23"}, "properties": {"repobilityId": "cea66bc999f4db5e", "scanner": "scanner-primary", "fingerprint": "8da6fc3af94615d6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0c2c5ad4620ffa98", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-cost-from-nfe.js:42"}, "properties": {"repobilityId": "861a143c926fbbb7", "scanner": "scanner-primary", "fingerprint": "0c2c5ad4620ffa98", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-56a44ac521f24b82", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/smoke-command-center-http.js:68"}, "properties": {"repobilityId": "473ca6c59bb380de", "scanner": "scanner-primary", "fingerprint": "56a44ac521f24b82", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-55dc4aab7f8aa09f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-brands-to-nuvemshop.js:26"}, "properties": {"repobilityId": "b7c79976f584d975", "scanner": "scanner-primary", "fingerprint": "55dc4aab7f8aa09f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cecdb8dc0384db80", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/export-whatsapp-not-found.js:67"}, "properties": {"repobilityId": "25d3fbfd27d62d9f", "scanner": "scanner-primary", "fingerprint": "cecdb8dc0384db80", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e7dae6ea97c2be65", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/export-meta-catalog.js:69"}, "properties": {"repobilityId": "6bce98883911dcd2", "scanner": "scanner-primary", "fingerprint": "e7dae6ea97c2be65", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1d5f01c28fa1172f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/push-all-to-nuvemshop.js:33"}, "properties": {"repobilityId": "6a0829cc6cfe063a", "scanner": "scanner-primary", "fingerprint": "1d5f01c28fa1172f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-26ccd94a7e333c5a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/_render_one.js:25"}, "properties": {"repobilityId": "44949e492c866e9a", "scanner": "scanner-primary", "fingerprint": "26ccd94a7e333c5a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5df8eda1d3209c4c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-status.js:12"}, "properties": {"repobilityId": "65388224acb4ee4e", "scanner": "scanner-primary", "fingerprint": "5df8eda1d3209c4c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e18a5b73067c100b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/imagens-site-run.js:24"}, "properties": {"repobilityId": "09540cc0c6ad6865", "scanner": "scanner-primary", "fingerprint": "e18a5b73067c100b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dbab7122c0935ff1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fiscal-remap-stores.js:46"}, "properties": {"repobilityId": "0405b197c7057980", "scanner": "scanner-primary", "fingerprint": "dbab7122c0935ff1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bfd8f28ab6f215fd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-equipe-report.js:24"}, "properties": {"repobilityId": "5a5ff9c6d929cb04", "scanner": "scanner-primary", "fingerprint": "bfd8f28ab6f215fd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c8913e4fbe566348", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/parse-whatsapp-stock.js:53"}, "properties": {"repobilityId": "99af1d6c39981119", "scanner": "scanner-primary", "fingerprint": "c8913e4fbe566348", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2b9395a8419be782", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-requires.js:42"}, "properties": {"repobilityId": "02d6a032af092083", "scanner": "scanner-primary", "fingerprint": "2b9395a8419be782", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cc2c13745cc9ebc7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/classify-local-rules.js:39"}, "properties": {"repobilityId": "e86063c1ea2ebf63", "scanner": "scanner-primary", "fingerprint": "cc2c13745cc9ebc7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8080677d62871a64", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ops/check-backups.js:56"}, "properties": {"repobilityId": "1a1ef974907d4bb2", "scanner": "scanner-primary", "fingerprint": "8080677d62871a64", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dea22b3b8e04ccd2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/seed-stores.js:79"}, "properties": {"repobilityId": "0e79df21e7fa7abe", "scanner": "scanner-primary", "fingerprint": "dea22b3b8e04ccd2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e334211aafa1f47e", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 public/_product-card.js:703"}, "properties": {"repobilityId": "7eb3bac3d7c3d770", "scanner": "scanner-primary", "fingerprint": "e334211aafa1f47e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-cee2df1aa2072cf2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/seed.js:6"}, "properties": {"repobilityId": "a1e39e3c63622fe1", "scanner": "scanner-primary", "fingerprint": "cee2df1aa2072cf2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-777c1090bc4565b3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/index.js:321"}, "properties": {"repobilityId": "efd45bf723225483", "scanner": "scanner-primary", "fingerprint": "777c1090bc4565b3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4ee43b8e2d5885ef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/partners.js:768"}, "properties": {"repobilityId": "6abdf3c2535e1750", "scanner": "scanner-primary", "fingerprint": "4ee43b8e2d5885ef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a0b3c68f6f38160b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/seller.js:574"}, "properties": {"repobilityId": "5a1081d2d542361a", "scanner": "scanner-primary", "fingerprint": "a0b3c68f6f38160b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a77c3c343ee33d9d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/marketing.js:158"}, "properties": {"repobilityId": "2f7601732c3895c1", "scanner": "scanner-primary", "fingerprint": "a77c3c343ee33d9d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-190046d20795d54d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/ai.js:218"}, "properties": {"repobilityId": "9e42cc776bc10840", "scanner": "scanner-primary", "fingerprint": "190046d20795d54d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6ed6dfe7cdf1cc38", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/routes/services-club.js:177"}, "properties": {"repobilityId": "8620341127fa2864", "scanner": "scanner-primary", "fingerprint": "6ed6dfe7cdf1cc38", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-86004c104a4ba40d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/pagbank.js:47"}, "properties": {"repobilityId": "39b6ae9e62713850", "scanner": "scanner-primary", "fingerprint": "86004c104a4ba40d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-feecf3340f37cbfa", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/routes/services.js:957"}, "properties": {"repobilityId": "21aa41e50905dd68", "scanner": "scanner-primary", "fingerprint": "feecf3340f37cbfa", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ced1eb1d2b7d7e2b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/auth.js:375"}, "properties": {"repobilityId": "7398ca32b2d3426f", "scanner": "scanner-primary", "fingerprint": "ced1eb1d2b7d7e2b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ecaa3d4ad079ca84", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/adminCatalog.js:1419"}, "properties": {"repobilityId": "43d2281a01452082", "scanner": "scanner-primary", "fingerprint": "ecaa3d4ad079ca84", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-77c9a8f3cc65ed2e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/categories.js:18"}, "properties": {"repobilityId": "6805f55c0389ac20", "scanner": "scanner-primary", "fingerprint": "77c9a8f3cc65ed2e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ccb354cdfacc7396", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/routes/services-marketing.js:231"}, "properties": {"repobilityId": "5178f01729ca1821", "scanner": "scanner-primary", "fingerprint": "ccb354cdfacc7396", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6264008aa5bfdaa1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/brandProfiles.js:96"}, "properties": {"repobilityId": "c85913f1418c3fdf", "scanner": "scanner-primary", "fingerprint": "6264008aa5bfdaa1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4aa9f900cba4647b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/stocktake.js:238"}, "properties": {"repobilityId": "3d738de3ad475503", "scanner": "scanner-primary", "fingerprint": "4aa9f900cba4647b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b6fba9c750c1ab35", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/routes/whatsapp.js:53"}, "properties": {"repobilityId": "621622cee566cde6", "scanner": "scanner-primary", "fingerprint": "b6fba9c750c1ab35", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-481ffb8c7d853bac", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/catalogSearch.js:94"}, "properties": {"repobilityId": "0686f98b31130f55", "scanner": "scanner-primary", "fingerprint": "481ffb8c7d853bac", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-df394647087b812c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/barataoAttendant.js:67"}, "properties": {"repobilityId": "df52d8a86aa2688b", "scanner": "scanner-primary", "fingerprint": "df394647087b812c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-22d2d9966e86b551", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/catalogEngineCron.js:19"}, "properties": {"repobilityId": "7eabcedfe0d16b00", "scanner": "scanner-primary", "fingerprint": "22d2d9966e86b551", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-91a1434f827b9520", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/metaFardamentosAttendant.js:242"}, "properties": {"repobilityId": "f43e59c518498d3a", "scanner": "scanner-primary", "fingerprint": "91a1434f827b9520", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-37db980e139e4688", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/pushNotifications.js:45"}, "properties": {"repobilityId": "a7751bac2a63d831", "scanner": "scanner-primary", "fingerprint": "37db980e139e4688", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cc760253983ac68f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/openaiImage.js:43"}, "properties": {"repobilityId": "7b86a0cda9893b81", "scanner": "scanner-primary", "fingerprint": "cc760253983ac68f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c1fcd0f959bace29", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/fiscalAgentClient.js:148"}, "properties": {"repobilityId": "186788b542d2b2db", "scanner": "scanner-primary", "fingerprint": "c1fcd0f959bace29", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7b1216e741bd5180", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/metaApsAttendant.js:251"}, "properties": {"repobilityId": "9d99bbb9f38d1b80", "scanner": "scanner-primary", "fingerprint": "7b1216e741bd5180", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d8a7df855bd4ccbc", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/services/tiktokShopHandlers.js:278"}, "properties": {"repobilityId": "478e8f5e4d8f3cfe", "scanner": "scanner-primary", "fingerprint": "d8a7df855bd4ccbc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-93cdcb81f14affa1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/fiscalDraftJob.js:40"}, "properties": {"repobilityId": "d0414e1df82488fb", "scanner": "scanner-primary", "fingerprint": "93cdcb81f14affa1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bf0009d0b63fa04e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/nuvemshopStockCron.js:108"}, "properties": {"repobilityId": "38741e95ca4f7946", "scanner": "scanner-primary", "fingerprint": "bf0009d0b63fa04e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8a77aef39f71f488", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/curationAgent.js:95"}, "properties": {"repobilityId": "24f95a2984edd77e", "scanner": "scanner-primary", "fingerprint": "8a77aef39f71f488", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bc4bedec7152a518", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/falAi.js:43"}, "properties": {"repobilityId": "f12314763ba08881", "scanner": "scanner-primary", "fingerprint": "bc4bedec7152a518", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f5ce923c6566f271", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/messagesCron.js:19"}, "properties": {"repobilityId": "88d8beadeeb68246", "scanner": "scanner-primary", "fingerprint": "f5ce923c6566f271", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-19521d0e1810323e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/emailer.js:47"}, "properties": {"repobilityId": "f18b9b0b814482a9", "scanner": "scanner-primary", "fingerprint": "19521d0e1810323e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-66fb4b8252e2ffc0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/compositeImage.js:58"}, "properties": {"repobilityId": "e4dc053200628de9", "scanner": "scanner-primary", "fingerprint": "66fb4b8252e2ffc0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-36081d96189c444c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/services/activityIngest.js:96"}, "properties": {"repobilityId": "8a0522cf91474ac1", "scanner": "scanner-primary", "fingerprint": "36081d96189c444c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4ff59ae25d175653", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/metaCatalogCron.js:25"}, "properties": {"repobilityId": "732c9f46aa22bb96", "scanner": "scanner-primary", "fingerprint": "4ff59ae25d175653", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b08f82c4d1c30fac", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/equipeReports.js:259"}, "properties": {"repobilityId": "3cc13d2e84f6b93e", "scanner": "scanner-primary", "fingerprint": "b08f82c4d1c30fac", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49f28f7dcda2e313", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/nuvemshopHandlers.js:1403"}, "properties": {"repobilityId": "aa7125c759b5403b", "scanner": "scanner-primary", "fingerprint": "49f28f7dcda2e313", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c85f782ee7b8307f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/dailyAgentsCron.js:17"}, "properties": {"repobilityId": "18b245f1e547cfbb", "scanner": "scanner-primary", "fingerprint": "c85f782ee7b8307f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bd5ab47c9c4dd1ef", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/services/payments.js:111"}, "properties": {"repobilityId": "f2d1d56b051cb3d6", "scanner": "scanner-primary", "fingerprint": "bd5ab47c9c4dd1ef", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-44c4cf97178243a4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/brandProfiles.js:111"}, "properties": {"repobilityId": "578b87d86a948532", "scanner": "scanner-primary", "fingerprint": "44c4cf97178243a4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6d736e82baa56731", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/services/marketingCron.js:44"}, "properties": {"repobilityId": "3aa305133ef0f524", "scanner": "scanner-primary", "fingerprint": "6d736e82baa56731", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-92b35fbc21b15848", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/marketingCron.js:28"}, "properties": {"repobilityId": "12c10db68c3922aa", "scanner": "scanner-primary", "fingerprint": "92b35fbc21b15848", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-44364eeed5f0dd20", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/services/servicesCron.js:33"}, "properties": {"repobilityId": "f1648f05025a870a", "scanner": "scanner-primary", "fingerprint": "44364eeed5f0dd20", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-3e5575d08172c007", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/servicesCron.js:28"}, "properties": {"repobilityId": "86536a75cff73ac1", "scanner": "scanner-primary", "fingerprint": "3e5575d08172c007", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a462907dcd0de639", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/render-slate.js:12"}, "properties": {"repobilityId": "3095d07f2727bf27", "scanner": "scanner-primary", "fingerprint": "a462907dcd0de639", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/render-slate.js"}, "region": {"startLine": 12}}}]}, {"ruleId": "scanner-be81477e3100fd54", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/test-seller-stock-logic.js:3"}, "properties": {"repobilityId": "0b57c70d4d612fcc", "scanner": "scanner-primary", "fingerprint": "be81477e3100fd54", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/test-seller-stock-logic.js"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-8fec6ca06920ee93", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/import-all-remaining-suppliers.js:8"}, "properties": {"repobilityId": "00a2452fb807dcf4", "scanner": "scanner-primary", "fingerprint": "8fec6ca06920ee93", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/import-all-remaining-suppliers.js"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-aa1fa6a88af39f04", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/_render_one.js:10"}, "properties": {"repobilityId": "5da9b5d0721d1037", "scanner": "scanner-primary", "fingerprint": "aa1fa6a88af39f04", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/_render_one.js"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-9fcb028d0f339cf5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/check-requires.js:7"}, "properties": {"repobilityId": "a99c9a8e2a7311c3", "scanner": "scanner-primary", "fingerprint": "9fcb028d0f339cf5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/check-requires.js"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-af1517048c544da4", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in agents/fiscal-agent/fiscalSefazDirect.mjs:17"}, "properties": {"repobilityId": "1c39d44aa450cbaa", "scanner": "scanner-primary", "fingerprint": "af1517048c544da4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/fiscal-agent/fiscalSefazDirect.mjs"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-861a779035445ed5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in agents/fiscal-agent/index.js:230"}, "properties": {"repobilityId": "01df355fadaabfa7", "scanner": "scanner-primary", "fingerprint": "861a779035445ed5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/fiscal-agent/index.js"}, "region": {"startLine": 230}}}]}, {"ruleId": "scanner-e6cf0826ce41403f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/afiliado.html:75"}, "properties": {"repobilityId": "514f3046aad0ae7a", "scanner": "scanner-primary", "fingerprint": "e6cf0826ce41403f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/afiliado.html"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-49d58c5c7b69d17a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/catalog-classify.html:94"}, "properties": {"repobilityId": "858402dba55a3308", "scanner": "scanner-primary", "fingerprint": "49d58c5c7b69d17a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/catalog-classify.html"}, "region": {"startLine": 94}}}]}, {"ruleId": "scanner-977b28a0383b8022", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in public/catalog-classify.html:85"}, "properties": {"repobilityId": "d97c9083b100fdfa", "scanner": "scanner-primary", "fingerprint": "977b28a0383b8022", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/catalog-classify.html"}, "region": {"startLine": 85}}}]}, {"ruleId": "scanner-a32ac59ff6a7a001", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/conferencia.html:85"}, "properties": {"repobilityId": "a62faff4c4553286", "scanner": "scanner-primary", "fingerprint": "a32ac59ff6a7a001", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/conferencia.html"}, "region": {"startLine": 85}}}]}, {"ruleId": "scanner-29fc093acb10840e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/identificar.html:170"}, "properties": {"repobilityId": "b3247efe4b8c6f8b", "scanner": "scanner-primary", "fingerprint": "29fc093acb10840e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/identificar.html"}, "region": {"startLine": 170}}}]}, {"ruleId": "scanner-beb4f294b928cec2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/desapega-admin.html:132"}, "properties": {"repobilityId": "e71bb5ea8801bdaf", "scanner": "scanner-primary", "fingerprint": "beb4f294b928cec2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/desapega-admin.html"}, "region": {"startLine": 132}}}]}, {"ruleId": "scanner-db57e6c01ef3814e", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in public/desapega-admin.html:116"}, "properties": {"repobilityId": "8ceb994d2f3db52b", "scanner": "scanner-primary", "fingerprint": "db57e6c01ef3814e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/desapega-admin.html"}, "region": {"startLine": 116}}}]}, {"ruleId": "scanner-77d303275bad0359", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/painel.html:133"}, "properties": {"repobilityId": "c11254c14c512900", "scanner": "scanner-primary", "fingerprint": "77d303275bad0359", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/painel.html"}, "region": {"startLine": 133}}}]}, {"ruleId": "scanner-ac7f30a25e5876ad", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/provar.html:104"}, "properties": {"repobilityId": "8f43a2e59f0a07bf", "scanner": "scanner-primary", "fingerprint": "ac7f30a25e5876ad", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/provar.html"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-0eafcc19337d9daf", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/curso.html:60"}, "properties": {"repobilityId": "bdb21e94d2efca7c", "scanner": "scanner-primary", "fingerprint": "0eafcc19337d9daf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/curso.html"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-5d6f0d0f316dc1b0", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in public/curso.html:146"}, "properties": {"repobilityId": "c6c04246dddb19d3", "scanner": "scanner-primary", "fingerprint": "5d6f0d0f316dc1b0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/curso.html"}, "region": {"startLine": 146}}}]}, {"ruleId": "scanner-857b27a4798a5172", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/_product-card.js:117"}, "properties": {"repobilityId": "f848e23c18717068", "scanner": "scanner-primary", "fingerprint": "857b27a4798a5172", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/_product-card.js"}, "region": {"startLine": 117}}}]}, {"ruleId": "scanner-80346621af3e2248", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/cobranca.html:95"}, "properties": {"repobilityId": "4a03eca2e72eb425", "scanner": "scanner-primary", "fingerprint": "80346621af3e2248", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/cobranca.html"}, "region": {"startLine": 95}}}]}, {"ruleId": "scanner-686103c67e884a2c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/mensagens.html:946"}, "properties": {"repobilityId": "b1bce15f2dbc6f5c", "scanner": "scanner-primary", "fingerprint": "686103c67e884a2c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/mensagens.html"}, "region": {"startLine": 946}}}]}, {"ruleId": "scanner-50151806707a3b87", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/index.html:1566"}, "properties": {"repobilityId": "fcd975cc51168fca", "scanner": "scanner-primary", "fingerprint": "50151806707a3b87", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/index.html"}, "region": {"startLine": 1566}}}]}, {"ruleId": "scanner-880dae22866274df", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in public/index.html:2453"}, "properties": {"repobilityId": "57f0ac51df265a35", "scanner": "scanner-primary", "fingerprint": "880dae22866274df", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/index.html"}, "region": {"startLine": 2453}}}]}, {"ruleId": "scanner-3abdd9f4d480b3aa", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/_product-search-bar.js:98"}, "properties": {"repobilityId": "b7557f5ad171eacb", "scanner": "scanner-primary", "fingerprint": "3abdd9f4d480b3aa", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/_product-search-bar.js"}, "region": {"startLine": 98}}}]}, {"ruleId": "scanner-b9927238b5838829", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/index_fixed.html:845"}, "properties": {"repobilityId": "97caeb0cd9a6cddb", "scanner": "scanner-primary", "fingerprint": "b9927238b5838829", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/index_fixed.html"}, "region": {"startLine": 845}}}]}, {"ruleId": "scanner-440c474ed8c1f9d7", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in public/index_fixed.html:680"}, "properties": {"repobilityId": "303137be5fb9697c", "scanner": "scanner-primary", "fingerprint": "440c474ed8c1f9d7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/index_fixed.html"}, "region": {"startLine": 680}}}]}, {"ruleId": "scanner-98dcf1246a2dcf6a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/config-pagbank.html:71"}, "properties": {"repobilityId": "c3652f6529e77e30", "scanner": "scanner-primary", "fingerprint": "98dcf1246a2dcf6a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/config-pagbank.html"}, "region": {"startLine": 71}}}]}, {"ruleId": "scanner-e2d7ee6e784d1567", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/bipar.html:174"}, "properties": {"repobilityId": "83d41aded6e54be1", "scanner": "scanner-primary", "fingerprint": "e2d7ee6e784d1567", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/bipar.html"}, "region": {"startLine": 174}}}]}, {"ruleId": "scanner-61056671a8187de9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/imagens-site.html:129"}, "properties": {"repobilityId": "5d0544dd887e03d0", "scanner": "scanner-primary", "fingerprint": "61056671a8187de9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/imagens-site.html"}, "region": {"startLine": 129}}}]}, {"ruleId": "scanner-e26b6b46ab88785c", "level": "warning", "message": {"text": "Insecure pattern 'direct_outerhtml_assignment' in public/imagens-site.html:210"}, "properties": {"repobilityId": "bef150f51de73b64", "scanner": "scanner-primary", "fingerprint": "e26b6b46ab88785c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_outerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/imagens-site.html"}, "region": {"startLine": 210}}}]}, {"ruleId": "scanner-c8a7d3adbf2a1a06", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in public/imagens-site.html:240"}, "properties": {"repobilityId": "9da341abf32e1209", "scanner": "scanner-primary", "fingerprint": "c8a7d3adbf2a1a06", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/imagens-site.html"}, "region": {"startLine": 240}}}]}, {"ruleId": "scanner-1c22c18e261b6944", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/loja.html:1074"}, "properties": {"repobilityId": "fb209d720155a39f", "scanner": "scanner-primary", "fingerprint": "1c22c18e261b6944", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/loja.html"}, "region": {"startLine": 1074}}}]}, {"ruleId": "scanner-072e041f49c724a0", "level": "warning", "message": {"text": "Insecure pattern 'direct_outerhtml_assignment' in public/loja.html:1364"}, "properties": {"repobilityId": "d10c5c902ab37837", "scanner": "scanner-primary", "fingerprint": "072e041f49c724a0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_outerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/loja.html"}, "region": {"startLine": 1364}}}]}, {"ruleId": "scanner-15d054f54b764121", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in public/loja.html:1421"}, "properties": {"repobilityId": "dafbd3f19354e342", "scanner": "scanner-primary", "fingerprint": "15d054f54b764121", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/loja.html"}, "region": {"startLine": 1421}}}]}, {"ruleId": "scanner-f9dd5504a624fe74", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in public/loja.html:976"}, "properties": {"repobilityId": "19dba784e1846ad4", "scanner": "scanner-primary", "fingerprint": "f9dd5504a624fe74", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/loja.html"}, "region": {"startLine": 976}}}]}, {"ruleId": "scanner-b56430d62e257a29", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/app.html:946"}, "properties": {"repobilityId": "3359738aa6f2a305", "scanner": "scanner-primary", "fingerprint": "b56430d62e257a29", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/app.html"}, "region": {"startLine": 946}}}]}, {"ruleId": "scanner-a2d11d6f3841ec75", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/metafardamentos.html:203"}, "properties": {"repobilityId": "ae1848243ad5549c", "scanner": "scanner-primary", "fingerprint": "a2d11d6f3841ec75", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/metafardamentos.html"}, "region": {"startLine": 203}}}]}, {"ruleId": "scanner-2b668d235ad36fa5", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in public/metafardamentos.html:186"}, "properties": {"repobilityId": "95d2e50467f76e75", "scanner": "scanner-primary", "fingerprint": "2b668d235ad36fa5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/metafardamentos.html"}, "region": {"startLine": 186}}}]}, {"ruleId": "scanner-bc47dea88ed2c522", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/catalog-engine.html:65"}, "properties": {"repobilityId": "ffe3aae58943e962", "scanner": "scanner-primary", "fingerprint": "bc47dea88ed2c522", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/catalog-engine.html"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-7ee7887efca4616a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/assinatura-email.html:106"}, "properties": {"repobilityId": "f5b3b52f3d9d7d14", "scanner": "scanner-primary", "fingerprint": "7ee7887efca4616a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/assinatura-email.html"}, "region": {"startLine": 106}}}]}, {"ruleId": "scanner-6fb075e79052b1b9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/admin.html:2280"}, "properties": {"repobilityId": "df5203f722eec321", "scanner": "scanner-primary", "fingerprint": "6fb075e79052b1b9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/admin.html"}, "region": {"startLine": 2280}}}]}, {"ruleId": "scanner-0ec4c62ebeaeb843", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in public/admin.html:12765"}, "properties": {"repobilityId": "13506f77a7411c07", "scanner": "scanner-primary", "fingerprint": "0ec4c62ebeaeb843", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/admin.html"}, "region": {"startLine": 12765}}}]}, {"ruleId": "scanner-3ae3ac43fac91524", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in public/admin.html:3412"}, "properties": {"repobilityId": "791d819ace9dee32", "scanner": "scanner-primary", "fingerprint": "3ae3ac43fac91524", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/admin.html"}, "region": {"startLine": 3412}}}]}, {"ruleId": "scanner-f41aa2269c1c6cb1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/copa.js:396"}, "properties": {"repobilityId": "e044d7ca5869abb9", "scanner": "scanner-primary", "fingerprint": "f41aa2269c1c6cb1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/copa.js"}, "region": {"startLine": 396}}}]}, {"ruleId": "scanner-dba013c815032d9d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/bipes.html:182"}, "properties": {"repobilityId": "f8384db453c1784a", "scanner": "scanner-primary", "fingerprint": "dba013c815032d9d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/bipes.html"}, "region": {"startLine": 182}}}]}, {"ruleId": "scanner-163f72e8027c4c04", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/certificado.html:33"}, "properties": {"repobilityId": "95d63c735c783090", "scanner": "scanner-primary", "fingerprint": "163f72e8027c4c04", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/certificado.html"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-5f8dc55926c97a5c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/marketing.html:505"}, "properties": {"repobilityId": "a94eb3256919c02a", "scanner": "scanner-primary", "fingerprint": "5f8dc55926c97a5c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/marketing.html"}, "region": {"startLine": 505}}}]}, {"ruleId": "scanner-1e1e37abb05769e3", "level": "warning", "message": {"text": "Insecure pattern 'direct_outerhtml_assignment' in public/marketing.html:1823"}, "properties": {"repobilityId": "1d39be19f7daaeb1", "scanner": "scanner-primary", "fingerprint": "1e1e37abb05769e3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_outerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/marketing.html"}, "region": {"startLine": 1823}}}]}, {"ruleId": "scanner-9673e72cb0392bb5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/vitrine.html:135"}, "properties": {"repobilityId": "1ceb8ae21a478a92", "scanner": "scanner-primary", "fingerprint": "9673e72cb0392bb5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/vitrine.html"}, "region": {"startLine": 135}}}]}, {"ruleId": "scanner-30aa50c3694d57d6", "level": "warning", "message": {"text": "Insecure pattern 'direct_outerhtml_assignment' in public/vitrine.html:117"}, "properties": {"repobilityId": "6fded3d161b11fb7", "scanner": "scanner-primary", "fingerprint": "30aa50c3694d57d6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_outerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/vitrine.html"}, "region": {"startLine": 117}}}]}, {"ruleId": "scanner-93168edde03c9edf", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in public/vitrine.html:152"}, "properties": {"repobilityId": "863f5275227a616e", "scanner": "scanner-primary", "fingerprint": "93168edde03c9edf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/vitrine.html"}, "region": {"startLine": 152}}}]}, {"ruleId": "scanner-cb8dedea9fdeaec3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/classificacao.html:59"}, "properties": {"repobilityId": "8544a20c229176c0", "scanner": "scanner-primary", "fingerprint": "cb8dedea9fdeaec3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/classificacao.html"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-f7308293fb2b5d3c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/barber.html:351"}, "properties": {"repobilityId": "d835b2d97ed8478e", "scanner": "scanner-primary", "fingerprint": "f7308293fb2b5d3c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/barber.html"}, "region": {"startLine": 351}}}]}, {"ruleId": "scanner-7d2b5018e9701a32", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in public/barber.html:506"}, "properties": {"repobilityId": "bb5675b888cb8b05", "scanner": "scanner-primary", "fingerprint": "7d2b5018e9701a32", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/barber.html"}, "region": {"startLine": 506}}}]}, {"ruleId": "scanner-76ca3680442fe514", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/consulta-precos.html:85"}, "properties": {"repobilityId": "e4f6e6b1fd7e02e6", "scanner": "scanner-primary", "fingerprint": "76ca3680442fe514", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/consulta-precos.html"}, "region": {"startLine": 85}}}]}, {"ruleId": "scanner-4a365d1cbb72862c", "level": "warning", "message": {"text": "Insecure pattern 'direct_outerhtml_assignment' in public/consulta-precos.html:123"}, "properties": {"repobilityId": "75ccd53f62f0b5dd", "scanner": "scanner-primary", "fingerprint": "4a365d1cbb72862c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_outerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/consulta-precos.html"}, "region": {"startLine": 123}}}]}, {"ruleId": "scanner-7b451f4d777bf544", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/provar-ar.html:236"}, "properties": {"repobilityId": "3dff9140ac74886e", "scanner": "scanner-primary", "fingerprint": "7b451f4d777bf544", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/provar-ar.html"}, "region": {"startLine": 236}}}]}, {"ruleId": "scanner-3b6fd9d771c2042b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/reels.html:111"}, "properties": {"repobilityId": "c40cfdbdd7309a4f", "scanner": "scanner-primary", "fingerprint": "3b6fd9d771c2042b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/reels.html"}, "region": {"startLine": 111}}}]}, {"ruleId": "scanner-67bed11a035406ee", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/index_4.html:376"}, "properties": {"repobilityId": "cc21ffbf6fd1690f", "scanner": "scanner-primary", "fingerprint": "67bed11a035406ee", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/index_4.html"}, "region": {"startLine": 376}}}]}, {"ruleId": "scanner-224993804afde5c2", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in public/index_4.html:348"}, "properties": {"repobilityId": "853a29b1484c01ec", "scanner": "scanner-primary", "fingerprint": "224993804afde5c2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/index_4.html"}, "region": {"startLine": 348}}}]}, {"ruleId": "scanner-47ca1f8b2979631f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/desapega-vender.html:147"}, "properties": {"repobilityId": "31ca3cb1df5e265a", "scanner": "scanner-primary", "fingerprint": "47ca1f8b2979631f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/desapega-vender.html"}, "region": {"startLine": 147}}}]}, {"ruleId": "scanner-806463b12588d134", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/produto.html:81"}, "properties": {"repobilityId": "60aae9d7e15b6290", "scanner": "scanner-primary", "fingerprint": "806463b12588d134", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/produto.html"}, "region": {"startLine": 81}}}]}, {"ruleId": "scanner-b3b2a5083726dcd5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/atendimento.html:352"}, "properties": {"repobilityId": "6b70b328e298c253", "scanner": "scanner-primary", "fingerprint": "b3b2a5083726dcd5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/atendimento.html"}, "region": {"startLine": 352}}}]}, {"ruleId": "scanner-362032742469ae53", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/pro.html:123"}, "properties": {"repobilityId": "9470023a8cd1a8de", "scanner": "scanner-primary", "fingerprint": "362032742469ae53", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/pro.html"}, "region": {"startLine": 123}}}]}, {"ruleId": "scanner-f134c9fc98576bb4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/desapega.html:105"}, "properties": {"repobilityId": "b9fd5b84bc5614d5", "scanner": "scanner-primary", "fingerprint": "f134c9fc98576bb4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/desapega.html"}, "region": {"startLine": 105}}}]}, {"ruleId": "scanner-cbd5b6b02288865c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/membros.html:37"}, "properties": {"repobilityId": "349f1d88ed824962", "scanner": "scanner-primary", "fingerprint": "cbd5b6b02288865c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/membros.html"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-04aeed916e8d6ecf", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/torneios.html:147"}, "properties": {"repobilityId": "2dd68d0bfc750d2e", "scanner": "scanner-primary", "fingerprint": "04aeed916e8d6ecf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/torneios.html"}, "region": {"startLine": 147}}}]}, {"ruleId": "scanner-1b3f177d28372de0", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in public/torneios.html:205"}, "properties": {"repobilityId": "7866f8dc9492b492", "scanner": "scanner-primary", "fingerprint": "1b3f177d28372de0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/torneios.html"}, "region": {"startLine": 205}}}]}, {"ruleId": "scanner-c9bee5949c26f46e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/index.js:970"}, "properties": {"repobilityId": "5d450464ae862848", "scanner": "scanner-primary", "fingerprint": "c9bee5949c26f46e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/index.js"}, "region": {"startLine": 970}}}]}, {"ruleId": "scanner-27c1d0f35e1a84fb", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/routes/mf.js:508"}, "properties": {"repobilityId": "5706dff980335cb2", "scanner": "scanner-primary", "fingerprint": "27c1d0f35e1a84fb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/routes/mf.js"}, "region": {"startLine": 508}}}]}, {"ruleId": "scanner-f272e72fe13343e8", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in src/routes/tryon.js:101"}, "properties": {"repobilityId": "7efe581a37ca614e", "scanner": "scanner-primary", "fingerprint": "f272e72fe13343e8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/routes/tryon.js"}, "region": {"startLine": 101}}}]}, {"ruleId": "scanner-9bf5c01e6d081bd7", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/services/fiscalSefazDirect.mjs:16"}, "properties": {"repobilityId": "af42ccabc75b098a", "scanner": "scanner-primary", "fingerprint": "9bf5c01e6d081bd7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/services/fiscalSefazDirect.mjs"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "edeab51902066991", "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-5de6a0b75f06f254", "level": "note", "message": {"text": "Very large file: public/copa.js (2473 lines)"}, "properties": {"repobilityId": "d9d2afcf3380e3f2", "scanner": "scanner-primary", "fingerprint": "5de6a0b75f06f254", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0f03ec84b4b8cd25", "level": "note", "message": {"text": "Very large file: src/index.js (1264 lines)"}, "properties": {"repobilityId": "e537a72f73f345ce", "scanner": "scanner-primary", "fingerprint": "0f03ec84b4b8cd25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b4c75e1c94a970af", "level": "note", "message": {"text": "Very large file: src/routes/seller.js (1503 lines)"}, "properties": {"repobilityId": "a1c1188556911057", "scanner": "scanner-primary", "fingerprint": "b4c75e1c94a970af", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f63d7ddfc7bedff8", "level": "note", "message": {"text": "Very large file: src/routes/sellerAgent.js (2488 lines)"}, "properties": {"repobilityId": "94fe6333c3cc3cf8", "scanner": "scanner-primary", "fingerprint": "f63d7ddfc7bedff8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8765409cfc632196", "level": "note", "message": {"text": "Very large file: src/routes/adminCatalog.js (1845 lines)"}, "properties": {"repobilityId": "9d3868ffbc9930ee", "scanner": "scanner-primary", "fingerprint": "8765409cfc632196", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-15cbdb5601c9a334", "level": "note", "message": {"text": "Very large file: src/routes/fiscal.js (1380 lines)"}, "properties": {"repobilityId": "233b847f2230d5bf", "scanner": "scanner-primary", "fingerprint": "15cbdb5601c9a334", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-91269776614a0576", "level": "note", "message": {"text": "Very large file: src/routes/stocktake.js (1280 lines)"}, "properties": {"repobilityId": "86445e496ffae264", "scanner": "scanner-primary", "fingerprint": "91269776614a0576", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3c56bd899b690a55", "level": "note", "message": {"text": "Very large file: src/services/nuvemshopHandlers.js (1708 lines)"}, "properties": {"repobilityId": "308dd0bc0abbbad3", "scanner": "scanner-primary", "fingerprint": "3c56bd899b690a55", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-2fbe176a90ede8a4", "level": "note", "message": {"text": "33 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "2fbe176a90ede8a4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "60731ee2a9af6304", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-eace69ae3cfeef46", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: teniscash-backend/teniscash/package.json"}, "properties": {"repobilityId": "a9b2a92c3655fbb6", "scanner": "scanner-primary", "fingerprint": "eace69ae3cfeef46", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "teniscash-backend/teniscash/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-db74d35fb041d6d6", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: agents/fiscal-agent/package.json"}, "properties": {"repobilityId": "0e7c496521f2fdd1", "scanner": "scanner-primary", "fingerprint": "db74d35fb041d6d6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/fiscal-agent/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "5be1f4d2296d9934", "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": "8b255e0b8bc44840", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "26e7cb8ba934bc12", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-11825279136b53a3", "level": "warning", "message": {"text": "CI is configured but no tests are detected"}, "properties": {"repobilityId": "486f772a0d1e85c7", "scanner": "scanner-primary", "fingerprint": "11825279136b53a3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "ci", "config-theater", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "1eb88ceafb8df78f", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "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": "fbe7e14d74e8822c", "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": "103a6f7d3e2d8b33", "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": "3e3df62e14379f3c", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-331ad7e83b6fd0f7", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/a11y-audit-agent.md"}, "properties": {"repobilityId": "9327a6ea597dd637", "scanner": "scanner-primary", "fingerprint": "331ad7e83b6fd0f7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/a11y-audit-agent.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8078bb1b4e6603cc", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/stock-agent.md"}, "properties": {"repobilityId": "0a15e2a3d653074d", "scanner": "scanner-primary", "fingerprint": "8078bb1b4e6603cc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/stock-agent.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-baa48d154059f4b6", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/benchmark-posthoc-agent.md"}, "properties": {"repobilityId": "9a2973f6b2188d57", "scanner": "scanner-primary", "fingerprint": "baa48d154059f4b6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/benchmark-posthoc-agent.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-68c51480f7404d1b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/finance-agent.md"}, "properties": {"repobilityId": "240f6c7981d02498", "scanner": "scanner-primary", "fingerprint": "68c51480f7404d1b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/finance-agent.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ab0cc6a5de290bc6", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/buying-supplier-agent.md"}, "properties": {"repobilityId": "598ebaf56af031a7", "scanner": "scanner-primary", "fingerprint": "ab0cc6a5de290bc6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/buying-supplier-agent.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-449174374e6e969e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/pricing-margin-agent.md"}, "properties": {"repobilityId": "c874a5a7f7454adc", "scanner": "scanner-primary", "fingerprint": "449174374e6e969e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/pricing-margin-agent.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-36eb2e51d6ff8979", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/trend-watcher-agent.md"}, "properties": {"repobilityId": "a494812dfac4f455", "scanner": "scanner-primary", "fingerprint": "36eb2e51d6ff8979", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/trend-watcher-agent.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-32e11c5040de5d73", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/ecommerce-agent.md"}, "properties": {"repobilityId": "395b369d124971d2", "scanner": "scanner-primary", "fingerprint": "32e11c5040de5d73", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/ecommerce-agent.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dd08c7dd815be276", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/design-system-agent.md"}, "properties": {"repobilityId": "6365abb8c316e069", "scanner": "scanner-primary", "fingerprint": "dd08c7dd815be276", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/design-system-agent.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3081f6857f251471", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/brand-narrative-agent.md"}, "properties": {"repobilityId": "689f1e968d8a769d", "scanner": "scanner-primary", "fingerprint": "3081f6857f251471", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/brand-narrative-agent.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-75df6d56e8663ca6", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/daily-retail-command/SKILL.md"}, "properties": {"repobilityId": "c745885ec4144d25", "scanner": "scanner-primary", "fingerprint": "75df6d56e8663ca6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/daily-retail-command/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-65be330b195c689e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/import-nfe-supplier/SKILL.md"}, "properties": {"repobilityId": "c1f4754974a3298b", "scanner": "scanner-primary", "fingerprint": "65be330b195c689e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/import-nfe-supplier/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d9a02c86be87a451", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/run-auto-images-all-suppliers.js:1"}, "properties": {"repobilityId": "c04b7ff650169e8b", "scanner": "scanner-primary", "fingerprint": "d9a02c86be87a451", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55f0531ce104a023", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/migrate-ns-categories.js:1"}, "properties": {"repobilityId": "f12536d12b2b7ac0", "scanner": "scanner-primary", "fingerprint": "55f0531ce104a023", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad4d1fd318693ee6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-ns-categories.js:45"}, "properties": {"repobilityId": "b861d7e678f3c4c1", "scanner": "scanner-primary", "fingerprint": "ad4d1fd318693ee6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e34247aa86a338da", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/fetch-all-images.js:1"}, "properties": {"repobilityId": "298d8d9821f79453", "scanner": "scanner-primary", "fingerprint": "e34247aa86a338da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e01097ee0460c12b", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/import-nfe-loja02.js:1"}, "properties": {"repobilityId": "ae72c66abf9e443c", "scanner": "scanner-primary", "fingerprint": "e01097ee0460c12b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b24bc096818ee4f7", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/fiscal-backup-config.js:1"}, "properties": {"repobilityId": "f03ced1511ef51da", "scanner": "scanner-primary", "fingerprint": "b24bc096818ee4f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-989870c209199015", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/ns_cleanup.js:25"}, "properties": {"repobilityId": "fb1ff4dfc61a1d1f", "scanner": "scanner-primary", "fingerprint": "989870c209199015", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e7af5359fea8631f", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/import-supplier.js:1"}, "properties": {"repobilityId": "8ebdf56d6860413d", "scanner": "scanner-primary", "fingerprint": "e7af5359fea8631f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e819f165c5f7c9c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/render-slate.js:19"}, "properties": {"repobilityId": "afe5c1204722f9c3", "scanner": "scanner-primary", "fingerprint": "5e819f165c5f7c9c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-411a034a15629bac", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/classify-ncm-products.js:1"}, "properties": {"repobilityId": "d1c212ead7738325", "scanner": "scanner-primary", "fingerprint": "411a034a15629bac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52f69bdefca62e11", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/apply-markup-to-products.js:1"}, "properties": {"repobilityId": "2820720e2d670b1c", "scanner": "scanner-primary", "fingerprint": "52f69bdefca62e11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-852192a13916868b", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/filter-aggressive-matches.js:1"}, "properties": {"repobilityId": "8b9c5a101b9e594a", "scanner": "scanner-primary", "fingerprint": "852192a13916868b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d3a5308079ae5131", "level": "none", "message": {"text": "Commented-code block (14 lines) in scripts/sync-products-from-nfe.js:1"}, "properties": {"repobilityId": "5416d4145262238c", "scanner": "scanner-primary", "fingerprint": "d3a5308079ae5131", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a34894a06ab3bc37", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/process-whatsapp-stock.js:6"}, "properties": {"repobilityId": "b81fa9f743c495a3", "scanner": "scanner-primary", "fingerprint": "a34894a06ab3bc37", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6cf24ca882a8abdc", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/marketing-machine.js:1"}, "properties": {"repobilityId": "ca3df4f9c104a45f", "scanner": "scanner-primary", "fingerprint": "6cf24ca882a8abdc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dc6d1399f8114f7e", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/import-descriptions-from-json.js:1"}, "properties": {"repobilityId": "69537cc6bfbc031e", "scanner": "scanner-primary", "fingerprint": "dc6d1399f8114f7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-36584b311d29a5d4", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/match-bipes-com-xml.js:1"}, "properties": {"repobilityId": "b6aed1c19a4bfe6c", "scanner": "scanner-primary", "fingerprint": "36584b311d29a5d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e3f1cb8feed7b838", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/backfill-supplier-ref.js:1"}, "properties": {"repobilityId": "6fff182d3f795e6e", "scanner": "scanner-primary", "fingerprint": "e3f1cb8feed7b838", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b747397b29a30179", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/sweep-adidas-unlink-sizes.js:1"}, "properties": {"repobilityId": "4e3bd7d9669dc110", "scanner": "scanner-primary", "fingerprint": "b747397b29a30179", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2beb0a84d015071", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/unify-by-reference.js:9"}, "properties": {"repobilityId": "0fe6bf102fa2a992", "scanner": "scanner-primary", "fingerprint": "e2beb0a84d015071", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a722a0e8c58d5ccc", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/identify-store-products.js:5"}, "properties": {"repobilityId": "6eed717a892795f5", "scanner": "scanner-primary", "fingerprint": "a722a0e8c58d5ccc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c2c1cffbd5790ab", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/retry-whatsapp-not-found.js:1"}, "properties": {"repobilityId": "88ea0653cb59cca5", "scanner": "scanner-primary", "fingerprint": "1c2c1cffbd5790ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-26e74380e09f0f64", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/run-curation-all.js:1"}, "properties": {"repobilityId": "72461414d2d4d59f", "scanner": "scanner-primary", "fingerprint": "26e74380e09f0f64", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5929f80ecc16b678", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/auto-classify-products.js:1"}, "properties": {"repobilityId": "d9360e56246b1c6e", "scanner": "scanner-primary", "fingerprint": "5929f80ecc16b678", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-59ea4f21989c1063", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/cleanup-meta-esportes-duplicates.js:1"}, "properties": {"repobilityId": "933b46f080d1c208", "scanner": "scanner-primary", "fingerprint": "59ea4f21989c1063", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff18672124ce3214", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/sync-prices-to-nuvemshop.js:1"}, "properties": {"repobilityId": "19822c9d3cd749b4", "scanner": "scanner-primary", "fingerprint": "ff18672124ce3214", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81f2eae793ce059f", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/unify-by-supplier-ref.js:1"}, "properties": {"repobilityId": "550477e69bb0c76c", "scanner": "scanner-primary", "fingerprint": "81f2eae793ce059f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1f82f696d95e8486", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/fiscal-register-store.js:1"}, "properties": {"repobilityId": "772113dae1a1b0e5", "scanner": "scanner-primary", "fingerprint": "1f82f696d95e8486", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f3f69ecb29f26dae", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/unify-products-batch.js:1"}, "properties": {"repobilityId": "d5d640242ca9f822", "scanner": "scanner-primary", "fingerprint": "f3f69ecb29f26dae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ca2b3675c7609dc", "level": "none", "message": {"text": "Commented-code block (13 lines) in scripts/export-products-for-research.js:1"}, "properties": {"repobilityId": "5c5dc4f3db893f34", "scanner": "scanner-primary", "fingerprint": "2ca2b3675c7609dc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-144f65c28f2b6433", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/deactivate-meta-all.js:9"}, "properties": {"repobilityId": "f8be1732041cafd3", "scanner": "scanner-primary", "fingerprint": "144f65c28f2b6433", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc13d6432af04ef7", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/pagbank-register-store.js:1"}, "properties": {"repobilityId": "b2195931cabeea9a", "scanner": "scanner-primary", "fingerprint": "fc13d6432af04ef7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3129d2bcaef50ec4", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/smoke-memory-http.js:1"}, "properties": {"repobilityId": "f2cc6501d4a9e8c7", "scanner": "scanner-primary", "fingerprint": "3129d2bcaef50ec4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca80e40270eb3624", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/unpublish-all-nuvemshop.js:1"}, "properties": {"repobilityId": "ec4c236c5dd9e56c", "scanner": "scanner-primary", "fingerprint": "ca80e40270eb3624", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a0df124b01935f7", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/unify-nfe-duplicates.js:1"}, "properties": {"repobilityId": "2741237215b86617", "scanner": "scanner-primary", "fingerprint": "8a0df124b01935f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0dae2d79021d12c4", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/import-nfes-batch.js:1"}, "properties": {"repobilityId": "9201f007b6e92e07", "scanner": "scanner-primary", "fingerprint": "0dae2d79021d12c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17987f45e8df2dae", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/clear-product-classifications.js:1"}, "properties": {"repobilityId": "95dcb375a0ed5e94", "scanner": "scanner-primary", "fingerprint": "17987f45e8df2dae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b430b5ead6da132", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/create-products-from-nfe-pending.js:1"}, "properties": {"repobilityId": "affe6ff60020412c", "scanner": "scanner-primary", "fingerprint": "7b430b5ead6da132", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f553c1e06f63a27d", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/recount-nfe-vs-db.js:1"}, "properties": {"repobilityId": "7580c144da74266a", "scanner": "scanner-primary", "fingerprint": "f553c1e06f63a27d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f604e7e01726e6f", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/register-shipping-carrier.js:1"}, "properties": {"repobilityId": "601e8a4ea100ab55", "scanner": "scanner-primary", "fingerprint": "2f604e7e01726e6f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54f99034c93109de", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/fiscal-direct-nfce.mjs:1"}, "properties": {"repobilityId": "0e27641909b75d66", "scanner": "scanner-primary", "fingerprint": "54f99034c93109de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c0a074167215af0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/ns_count.js:11"}, "properties": {"repobilityId": "b3b461a608697fb3", "scanner": "scanner-primary", "fingerprint": "3c0a074167215af0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d6756bf62f5eaf9e", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/classify-products.js:1"}, "properties": {"repobilityId": "8d1f300d92bfade6", "scanner": "scanner-primary", "fingerprint": "d6756bf62f5eaf9e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3bcbb1b9e89a466d", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/fix-brands-batch.js:1"}, "properties": {"repobilityId": "a1bd5afc93e3e036", "scanner": "scanner-primary", "fingerprint": "3bcbb1b9e89a466d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3cb5736fbed9b13c", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/consolidate-products-by-model.js:5"}, "properties": {"repobilityId": "34718b632dec3c54", "scanner": "scanner-primary", "fingerprint": "3cb5736fbed9b13c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-efa9fa6266db58cf", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/fiscal-setup-meta-esportes.js:1"}, "properties": {"repobilityId": "6f648851ad349569", "scanner": "scanner-primary", "fingerprint": "efa9fa6266db58cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c14e5e691c0d4df4", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/apply-from-progress.js:1"}, "properties": {"repobilityId": "e4a20790214cd101", "scanner": "scanner-primary", "fingerprint": "c14e5e691c0d4df4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6367d25fb3de415b", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/run-daily-agents.js:3"}, "properties": {"repobilityId": "8619ca4601bcc241", "scanner": "scanner-primary", "fingerprint": "6367d25fb3de415b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de958f2cd4943aa9", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/seed-category-tree.js:1"}, "properties": {"repobilityId": "c36e3612f71b97ac", "scanner": "scanner-primary", "fingerprint": "de958f2cd4943aa9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6b550341b3ba2ba8", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/backfill-cost-from-nfe.js:1"}, "properties": {"repobilityId": "e0c4c74fcc227c0c", "scanner": "scanner-primary", "fingerprint": "6b550341b3ba2ba8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a50f29c0745ce010", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/smoke-command-center-http.js:1"}, "properties": {"repobilityId": "8d0f60a7e87d43c9", "scanner": "scanner-primary", "fingerprint": "a50f29c0745ce010", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e6a52989ac3d2146", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/sync-brands-to-nuvemshop.js:1"}, "properties": {"repobilityId": "a743ce0fc942b5b0", "scanner": "scanner-primary", "fingerprint": "e6a52989ac3d2146", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81626f47ab543ff7", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/export-whatsapp-not-found.js:1"}, "properties": {"repobilityId": "57aa4fe332d4bfa4", "scanner": "scanner-primary", "fingerprint": "81626f47ab543ff7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29f7e0f76a37a4aa", "level": "none", "message": {"text": "Commented-code block (13 lines) in scripts/export-meta-catalog.js:1"}, "properties": {"repobilityId": "156b4eea72d6fbf7", "scanner": "scanner-primary", "fingerprint": "29f7e0f76a37a4aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d878ea5dac55ef93", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/push-all-to-nuvemshop.js:1"}, "properties": {"repobilityId": "34418f5ba794423f", "scanner": "scanner-primary", "fingerprint": "d878ea5dac55ef93", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5ae6e9a761a9190", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/_render_one.js:15"}, "properties": {"repobilityId": "45262eefdd07ac9f", "scanner": "scanner-primary", "fingerprint": "c5ae6e9a761a9190", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-635ae8b8852c43b7", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/imagens-site-run.js:1"}, "properties": {"repobilityId": "215220ca0a211836", "scanner": "scanner-primary", "fingerprint": "635ae8b8852c43b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d8952333a4f37f5", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/fiscal-remap-stores.js:5"}, "properties": {"repobilityId": "10a1eb62b664ebfc", "scanner": "scanner-primary", "fingerprint": "0d8952333a4f37f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-851517189429687b", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/test-equipe-report.js:1"}, "properties": {"repobilityId": "091378c1025456da", "scanner": "scanner-primary", "fingerprint": "851517189429687b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d23c5358258fac1", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/parse-whatsapp-stock.js:35"}, "properties": {"repobilityId": "ae900ab114aa80ae", "scanner": "scanner-primary", "fingerprint": "1d23c5358258fac1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dcb6d592561c9d6a", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/classify-local-rules.js:1"}, "properties": {"repobilityId": "9078761edbc9fad9", "scanner": "scanner-primary", "fingerprint": "dcb6d592561c9d6a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68e676d33cc03081", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/ops/check-backups.js:1"}, "properties": {"repobilityId": "0d6284cd61eea09b", "scanner": "scanner-primary", "fingerprint": "68e676d33cc03081", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21ebb735fcdc422e", "level": "none", "message": {"text": "Commented-code block (10 lines) in prisma/seed-stores.js:1"}, "properties": {"repobilityId": "301f12f3f95b7d39", "scanner": "scanner-primary", "fingerprint": "21ebb735fcdc422e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a059d744078a8fd9", "level": "none", "message": {"text": "Commented-code block (10 lines) in agents/fiscal-agent/fiscalSefazDirect.mjs:1"}, "properties": {"repobilityId": "54da503cfc0a0064", "scanner": "scanner-primary", "fingerprint": "a059d744078a8fd9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f382e260c28c5437", "level": "none", "message": {"text": "Commented-code block (10 lines) in agents/fiscal-agent/fiscalAcquirers.js:1"}, "properties": {"repobilityId": "653b77852daf0a24", "scanner": "scanner-primary", "fingerprint": "f382e260c28c5437", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72b9b31729cc2e57", "level": "none", "message": {"text": "Commented-code block (5 lines) in agents/fiscal-agent/index.js:1"}, "properties": {"repobilityId": "2bfa76f80674b428", "scanner": "scanner-primary", "fingerprint": "72b9b31729cc2e57", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab230ad4cd893e8a", "level": "none", "message": {"text": "Commented-code block (6 lines) in public/_design-system.js:1"}, "properties": {"repobilityId": "60561d9cd47183d2", "scanner": "scanner-primary", "fingerprint": "ab230ad4cd893e8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ce3ef4d0d7d3493", "level": "none", "message": {"text": "Commented-code block (7 lines) in public/_product-card.js:1"}, "properties": {"repobilityId": "dd72f0668f33ebe0", "scanner": "scanner-primary", "fingerprint": "7ce3ef4d0d7d3493", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4826375f42a22dd5", "level": "none", "message": {"text": "Commented-code block (7 lines) in public/_product-search-bar.js:1"}, "properties": {"repobilityId": "7703650c8121512a", "scanner": "scanner-primary", "fingerprint": "4826375f42a22dd5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ea7a6c0435697be", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/_product-search-bar.js:43"}, "properties": {"repobilityId": "b8eb02b249ed1eeb", "scanner": "scanner-primary", "fingerprint": "3ea7a6c0435697be", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2829d071fc2f8b9c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/copa.js:275"}, "properties": {"repobilityId": "e33f4cea1ce7250d", "scanner": "scanner-primary", "fingerprint": "2829d071fc2f8b9c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-60520b47622a0156", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/middleware.js:38"}, "properties": {"repobilityId": "1c69f2567061f9e4", "scanner": "scanner-primary", "fingerprint": "60520b47622a0156", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ccaaf82283f2b70b", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/index.js:539"}, "properties": {"repobilityId": "c5e54c7a6619ba69", "scanner": "scanner-primary", "fingerprint": "ccaaf82283f2b70b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf9c588e6dd72bb2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/index.js:972"}, "properties": {"repobilityId": "6966dfb04e93fdc6", "scanner": "scanner-primary", "fingerprint": "bf9c588e6dd72bb2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4474ced83712d9ce", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/ai/ai-client.js:1"}, "properties": {"repobilityId": "0fd1fcd529838784", "scanner": "scanner-primary", "fingerprint": "4474ced83712d9ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd4d2f85a028df6a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/ai/daily/daily-market-engine.service.js:1"}, "properties": {"repobilityId": "79195b6ecc8ea718", "scanner": "scanner-primary", "fingerprint": "fd4d2f85a028df6a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d2bc14a20187566", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/ai/recommendations/possibility-engine.service.js:1"}, "properties": {"repobilityId": "7069add0bb382cf1", "scanner": "scanner-primary", "fingerprint": "1d2bc14a20187566", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4b1ab8c5585c5ac", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/ai/learning/learning.service.js:1"}, "properties": {"repobilityId": "2ce749cdbb888bb6", "scanner": "scanner-primary", "fingerprint": "c4b1ab8c5585c5ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a930ae73637138b", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/ai/intel/brasilIntel.js:1"}, "properties": {"repobilityId": "869bccb3a221dfed", "scanner": "scanner-primary", "fingerprint": "9a930ae73637138b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5b048b8c41556234", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/ai/intel/fronts.js:1"}, "properties": {"repobilityId": "5035dc9f17a32dd7", "scanner": "scanner-primary", "fingerprint": "5b048b8c41556234", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-98c877b5adbd9c7e", "level": "none", "message": {"text": "Commented-code block (13 lines) in src/ai/orchestrator/orchestrator.service.js:1"}, "properties": {"repobilityId": "1b9f7e039c991990", "scanner": "scanner-primary", "fingerprint": "98c877b5adbd9c7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef02ab9297a38485", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/ai/orchestrator/orchestrator.routes.js:1"}, "properties": {"repobilityId": "693c2c49cfcd3826", "scanner": "scanner-primary", "fingerprint": "ef02ab9297a38485", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db6a72a7ced9ec38", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/ai/command-center/command-center.service.js:1"}, "properties": {"repobilityId": "7e594fb6ce2d1ccc", "scanner": "scanner-primary", "fingerprint": "db6a72a7ced9ec38", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e792dbd1eb9301e6", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/ai/approvals/approval.executor.js:1"}, "properties": {"repobilityId": "833270a3cec31638", "scanner": "scanner-primary", "fingerprint": "e792dbd1eb9301e6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8351f3d798a540f1", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/ai/memory/memory.service.js:1"}, "properties": {"repobilityId": "00e76cad5442550a", "scanner": "scanner-primary", "fingerprint": "8351f3d798a540f1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c54e46a473d6a54", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/ai/context/business-context.service.js:1"}, "properties": {"repobilityId": "bc971939d5dfc9cc", "scanner": "scanner-primary", "fingerprint": "1c54e46a473d6a54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c8f2a5552279450", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/ai/context/market-snapshot.service.js:1"}, "properties": {"repobilityId": "7970bd13f5a6aa8b", "scanner": "scanner-primary", "fingerprint": "3c8f2a5552279450", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f2dfba1fdbb902d2", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/routes/sellerPortfolio.js:1"}, "properties": {"repobilityId": "4f0aa6d216d3f530", "scanner": "scanner-primary", "fingerprint": "f2dfba1fdbb902d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28a2cfb9da3cdd3b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routes/mf.js:1"}, "properties": {"repobilityId": "9cb379448b6f42ae", "scanner": "scanner-primary", "fingerprint": "28a2cfb9da3cdd3b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35e4e442678aae70", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/routes/tiktokShop.js:1"}, "properties": {"repobilityId": "f5688f80fa8d3b59", "scanner": "scanner-primary", "fingerprint": "35e4e442678aae70", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81a3e6decc8fb738", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/routes/seller.js:1049"}, "properties": {"repobilityId": "4a369322b11bcecc", "scanner": "scanner-primary", "fingerprint": "81a3e6decc8fb738", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-71cfc2dcdb866546", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routes/life.js:1"}, "properties": {"repobilityId": "b2226d740e04aa73", "scanner": "scanner-primary", "fingerprint": "71cfc2dcdb866546", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4180ec3cb85883e3", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routes/imagensSite.js:1"}, "properties": {"repobilityId": "aa9264e6596965e4", "scanner": "scanner-primary", "fingerprint": "4180ec3cb85883e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1dfe8a0579902618", "level": "none", "message": {"text": "Commented-code block (13 lines) in src/routes/marketing.js:1"}, "properties": {"repobilityId": "d38e22a56c2c2608", "scanner": "scanner-primary", "fingerprint": "1dfe8a0579902618", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-378973c02396a913", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routes/productImages.js:197"}, "properties": {"repobilityId": "037bfcf55ec92195", "scanner": "scanner-primary", "fingerprint": "378973c02396a913", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d64e1d036236e067", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/routes/productImages.js:78"}, "properties": {"repobilityId": "c0c87c51e1ff16d5", "scanner": "scanner-primary", "fingerprint": "d64e1d036236e067", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bce54056d5a19343", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/routes/sellerAgent.js:1"}, "properties": {"repobilityId": "cbf06650db2a1325", "scanner": "scanner-primary", "fingerprint": "bce54056d5a19343", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a3516d1c6a1e7f5", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/routes/services-club.js:1"}, "properties": {"repobilityId": "347fcd5ecd399441", "scanner": "scanner-primary", "fingerprint": "2a3516d1c6a1e7f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d5791ec761f7b5b", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/routes/pagbank.js:1"}, "properties": {"repobilityId": "40643446e91d1d64", "scanner": "scanner-primary", "fingerprint": "1d5791ec761f7b5b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-535bec0d0d447c2a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routes/reelsAgency.js:1"}, "properties": {"repobilityId": "f605c887c9e51984", "scanner": "scanner-primary", "fingerprint": "535bec0d0d447c2a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3edd4ff6d33d7ea6", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/routes/shipping.js:1"}, "properties": {"repobilityId": "9e261727ca6b678d", "scanner": "scanner-primary", "fingerprint": "3edd4ff6d33d7ea6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7eac3bbc37b6fa61", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/routes/shipping.js:40"}, "properties": {"repobilityId": "ce2e4db2cb3c2fea", "scanner": "scanner-primary", "fingerprint": "7eac3bbc37b6fa61", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-03438781114c0b9d", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/routes/services-stock.js:1"}, "properties": {"repobilityId": "b60db72e3ec9453d", "scanner": "scanner-primary", "fingerprint": "03438781114c0b9d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2b9429e5344e0f04", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/routes/services.js:1"}, "properties": {"repobilityId": "0b212d53cca6bc3c", "scanner": "scanner-primary", "fingerprint": "2b9429e5344e0f04", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-294ba3620aaa2885", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/routes/auth.js:643"}, "properties": {"repobilityId": "a3da39b56cf34292", "scanner": "scanner-primary", "fingerprint": "294ba3620aaa2885", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-265209e2fb8ecadd", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routes/activities.js:1"}, "properties": {"repobilityId": "cf3e787ea7687f6a", "scanner": "scanner-primary", "fingerprint": "265209e2fb8ecadd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b994608242405412", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/routes/desapega.js:1"}, "properties": {"repobilityId": "824f8f02d09856ef", "scanner": "scanner-primary", "fingerprint": "b994608242405412", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f6d33dbf2371091e", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/routes/inventory.js:1"}, "properties": {"repobilityId": "0a6250d5884bb033", "scanner": "scanner-primary", "fingerprint": "f6d33dbf2371091e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e90b79f0b09eb9b0", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/routes/adminCatalog.js:163"}, "properties": {"repobilityId": "7fb16e8cc13aad74", "scanner": "scanner-primary", "fingerprint": "e90b79f0b09eb9b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7daa595a69e8f5c4", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/routes/aiCuration.js:1"}, "properties": {"repobilityId": "71b03c6a1c3988d2", "scanner": "scanner-primary", "fingerprint": "7daa595a69e8f5c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-239213ab0ead8893", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/routes/tournaments.js:1"}, "properties": {"repobilityId": "214962f77f089df5", "scanner": "scanner-primary", "fingerprint": "239213ab0ead8893", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de831b504d3bf110", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/routes/professionals.js:1"}, "properties": {"repobilityId": "37156fd8b08723d8", "scanner": "scanner-primary", "fingerprint": "de831b504d3bf110", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9898294ba94134f1", "level": "note", "message": {"text": "Legacy-named symbol `copa2026_bolao_state_v1` in src/routes/copa.js:8"}, "properties": {"repobilityId": "e2cb1b954942822b", "scanner": "scanner-primary", "fingerprint": "9898294ba94134f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9d24e35ff759b07b", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/routes/adminClassification.js:1"}, "properties": {"repobilityId": "7cb23db7ee1cab45", "scanner": "scanner-primary", "fingerprint": "9d24e35ff759b07b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b3c5f5439e07b121", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/routes/fiscal.js:1"}, "properties": {"repobilityId": "cf28250a8d1c527c", "scanner": "scanner-primary", "fingerprint": "b3c5f5439e07b121", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-493c7d7e4ed3e441", "level": "note", "message": {"text": "Legacy-named symbol `vitrine_selection_v1` in src/routes/adminVitrine.js:20"}, "properties": {"repobilityId": "f3dd9cfff0ee4a3a", "scanner": "scanner-primary", "fingerprint": "493c7d7e4ed3e441", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cc8f0ff17750ec8b", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/routes/adminVitrine.js:1"}, "properties": {"repobilityId": "688caa569396d369", "scanner": "scanner-primary", "fingerprint": "cc8f0ff17750ec8b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e3a432e4b539850c", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/routes/cashbackRedeem.js:1"}, "properties": {"repobilityId": "4b06d6a0149d0b80", "scanner": "scanner-primary", "fingerprint": "e3a432e4b539850c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ff7ee22caed211d", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/routes/categories.js:168"}, "properties": {"repobilityId": "fe277cb088bda01c", "scanner": "scanner-primary", "fingerprint": "0ff7ee22caed211d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-64d8b9e03613735c", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/routes/liveCommerce.js:1"}, "properties": {"repobilityId": "4c5141ba1982e5e3", "scanner": "scanner-primary", "fingerprint": "64d8b9e03613735c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54c5373c7a34d2ca", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/routes/services-marketing.js:1"}, "properties": {"repobilityId": "c0a3a8f21d113475", "scanner": "scanner-primary", "fingerprint": "54c5373c7a34d2ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b55db033362663d", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/routes/markup.js:1"}, "properties": {"repobilityId": "b68e6ccea579951a", "scanner": "scanner-primary", "fingerprint": "1b55db033362663d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-51d5fc85b6d37523", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/routes/infoproducts.js:1"}, "properties": {"repobilityId": "c387c5f106ce0c8e", "scanner": "scanner-primary", "fingerprint": "51d5fc85b6d37523", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8b5d6b1e0bd380c", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routes/tryon.js:1"}, "properties": {"repobilityId": "5fa652eeb419a339", "scanner": "scanner-primary", "fingerprint": "b8b5d6b1e0bd380c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7dcb3dcf612f8891", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/routes/tryon.js:96"}, "properties": {"repobilityId": "8840efd72b156700", "scanner": "scanner-primary", "fingerprint": "7dcb3dcf612f8891", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3a907d79d8e631a8", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/routes/messagesV2.js:6"}, "properties": {"repobilityId": "61b9101bec59f3bd", "scanner": "scanner-primary", "fingerprint": "3a907d79d8e631a8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92a170118d58ec2d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routes/services-packages.js:1"}, "properties": {"repobilityId": "2ff64cc90c5c6cc2", "scanner": "scanner-primary", "fingerprint": "92a170118d58ec2d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-36b9978ec29fd2a5", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/routes/services-finance.js:1"}, "properties": {"repobilityId": "9faefb1ecffa62e0", "scanner": "scanner-primary", "fingerprint": "36b9978ec29fd2a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-866011d879743c7d", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/routes/stocktake.js:1"}, "properties": {"repobilityId": "e75cff5861a4677c", "scanner": "scanner-primary", "fingerprint": "866011d879743c7d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-12b35469c20371d8", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/routes/priceCheck.js:1"}, "properties": {"repobilityId": "26da73271c616c89", "scanner": "scanner-primary", "fingerprint": "12b35469c20371d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd009fee10ccd904", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routes/whatsapp.js:76"}, "properties": {"repobilityId": "f0c5e05e3267c3ca", "scanner": "scanner-primary", "fingerprint": "fd009fee10ccd904", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8206a8bd5098508c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/routes/whatsapp.js:245"}, "properties": {"repobilityId": "a4aaec481abfec36", "scanner": "scanner-primary", "fingerprint": "8206a8bd5098508c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1ba55ae864615d10", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/services/fiscalApi.js:1"}, "properties": {"repobilityId": "98dcdec4183202ab", "scanner": "scanner-primary", "fingerprint": "1ba55ae864615d10", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e1bea31f28a01b60", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/services/pix.js:1"}, "properties": {"repobilityId": "fe4f6d3cbfad468f", "scanner": "scanner-primary", "fingerprint": "e1bea31f28a01b60", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-969668494d7836da", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/imageProbe.js:1"}, "properties": {"repobilityId": "e74157dce70e2fb1", "scanner": "scanner-primary", "fingerprint": "969668494d7836da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a35042745781d8a5", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/services/xmlNfeParser.js:1"}, "properties": {"repobilityId": "bac137e8b22a3c75", "scanner": "scanner-primary", "fingerprint": "a35042745781d8a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a2fc1cab668676c", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/catalogSearch.js:3"}, "properties": {"repobilityId": "dfcdad7cbb855e14", "scanner": "scanner-primary", "fingerprint": "6a2fc1cab668676c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7a412167c95eeeb", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/supplierOfficialSites.js:1"}, "properties": {"repobilityId": "f78897271949575b", "scanner": "scanner-primary", "fingerprint": "e7a412167c95eeeb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-57aa4d4b48a1408b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/barataoAttendant.js:1"}, "properties": {"repobilityId": "50cc6fddd4609c07", "scanner": "scanner-primary", "fingerprint": "57aa4d4b48a1408b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b4f7e432b1d1009", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/services/brandBrain.js:1"}, "properties": {"repobilityId": "561aa6dbc48b6543", "scanner": "scanner-primary", "fingerprint": "1b4f7e432b1d1009", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3266038eac19fee9", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/services/systemMessenger.js:1"}, "properties": {"repobilityId": "3912915caa75e4b2", "scanner": "scanner-primary", "fingerprint": "3266038eac19fee9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0e95aaa303726ba", "level": "none", "message": {"text": "Commented-code block (18 lines) in src/services/tiktokShop.js:1"}, "properties": {"repobilityId": "887f7776653165d5", "scanner": "scanner-primary", "fingerprint": "a0e95aaa303726ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b34c66314fc3a6bc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/tiktokShop.js:129"}, "properties": {"repobilityId": "c5a50a14e54b3550", "scanner": "scanner-primary", "fingerprint": "b34c66314fc3a6bc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0f2b3f8072041a15", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/metaFardamentosAttendant.js:1"}, "properties": {"repobilityId": "e4b9651ed8a228f2", "scanner": "scanner-primary", "fingerprint": "0f2b3f8072041a15", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0129355bf9ebebba", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/services/liveBus.js:1"}, "properties": {"repobilityId": "5b47e49dcbdcbb4a", "scanner": "scanner-primary", "fingerprint": "0129355bf9ebebba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6d0732eaefda3ace", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/services/productPageScraper.js:1"}, "properties": {"repobilityId": "5361aae0e2f58273", "scanner": "scanner-primary", "fingerprint": "6d0732eaefda3ace", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3fc5443c29073579", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/dailySlate.js:1"}, "properties": {"repobilityId": "e74727c6c162b4f2", "scanner": "scanner-primary", "fingerprint": "3fc5443c29073579", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-876001bf56dd7a87", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/services/pushNotifications.js:1"}, "properties": {"repobilityId": "121d1fa0698c641f", "scanner": "scanner-primary", "fingerprint": "876001bf56dd7a87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-175ebf377dc706f5", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/services/retailOrchestrator.js:1"}, "properties": {"repobilityId": "b53474fecd193671", "scanner": "scanner-primary", "fingerprint": "175ebf377dc706f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-67167d9b20c68324", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/serperImageSearch.js:1"}, "properties": {"repobilityId": "1daa1ea61a64cd01", "scanner": "scanner-primary", "fingerprint": "67167d9b20c68324", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf93634d0abd85b0", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/services/aiCategoryMatcher.js:1"}, "properties": {"repobilityId": "1ef4259a6e8b00dc", "scanner": "scanner-primary", "fingerprint": "cf93634d0abd85b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc32d492de220445", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/visionValidator.js:1"}, "properties": {"repobilityId": "5772063c15fe6e4e", "scanner": "scanner-primary", "fingerprint": "bc32d492de220445", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c80931838acf537f", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/services/catalogEngine.js:1"}, "properties": {"repobilityId": "a8214638371575e5", "scanner": "scanner-primary", "fingerprint": "c80931838acf537f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-182764e288056b1a", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/services/imageStandardizer.js:1"}, "properties": {"repobilityId": "7970c9aa004e2011", "scanner": "scanner-primary", "fingerprint": "182764e288056b1a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9901e9e20e20f78b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/imageStandardizer.js:39"}, "properties": {"repobilityId": "3eae8ab6b31a7c47", "scanner": "scanner-primary", "fingerprint": "9901e9e20e20f78b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d7f2e2e208279fdd", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/catalogRules.js:1"}, "properties": {"repobilityId": "826ec0b3729b1e3c", "scanner": "scanner-primary", "fingerprint": "d7f2e2e208279fdd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-544a2db63bc13a78", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/productEnrichmentAI.js:1"}, "properties": {"repobilityId": "fcbc2cc35be93c77", "scanner": "scanner-primary", "fingerprint": "544a2db63bc13a78", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-34a71c8d445517f4", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/services/openaiImage.js:1"}, "properties": {"repobilityId": "4b360b963a5db9c1", "scanner": "scanner-primary", "fingerprint": "34a71c8d445517f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d77588fca6ad329d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/openaiImage.js:70"}, "properties": {"repobilityId": "18527b000f9e8248", "scanner": "scanner-primary", "fingerprint": "d77588fca6ad329d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-465d10b618785eb1", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/services/pagbank.js:1"}, "properties": {"repobilityId": "abc81e599c7b4504", "scanner": "scanner-primary", "fingerprint": "465d10b618785eb1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3465d7584815892a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/copaNewsClient.js:88"}, "properties": {"repobilityId": "7cb1b1692577b34c", "scanner": "scanner-primary", "fingerprint": "3465d7584815892a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a89d1387ba146c31", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/services/waMediaReader.js:1"}, "properties": {"repobilityId": "f452ff3d2da4e1c1", "scanner": "scanner-primary", "fingerprint": "a89d1387ba146c31", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc18aef45334ac1f", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/services/fiscalAgentClient.js:1"}, "properties": {"repobilityId": "a9c4e0cd086767ed", "scanner": "scanner-primary", "fingerprint": "bc18aef45334ac1f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-43b00de7f0f1c40a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/metaApsAttendant.js:1"}, "properties": {"repobilityId": "798fcc90025aaeba", "scanner": "scanner-primary", "fingerprint": "43b00de7f0f1c40a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1ac97fd95971354", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/metaCatalogSync.js:1"}, "properties": {"repobilityId": "6785ba048e416e22", "scanner": "scanner-primary", "fingerprint": "b1ac97fd95971354", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f838b6fbfe1520ec", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/metaCatalogSync.js:202"}, "properties": {"repobilityId": "787a88a77a146d1a", "scanner": "scanner-primary", "fingerprint": "f838b6fbfe1520ec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-343e011fbf18a8bc", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/services/labelGenerator.js:1"}, "properties": {"repobilityId": "53de55a8cf224dd7", "scanner": "scanner-primary", "fingerprint": "343e011fbf18a8bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-982d92ade4c03764", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/tiktokShopHandlers.js:1"}, "properties": {"repobilityId": "1cba31d7a1c7911a", "scanner": "scanner-primary", "fingerprint": "982d92ade4c03764", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-34e864e5ff4506e4", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/fiscalDraftJob.js:1"}, "properties": {"repobilityId": "4561bc3407d48b61", "scanner": "scanner-primary", "fingerprint": "34e864e5ff4506e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-712bba29116c75f6", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/services/nuvemshopStockCron.js:1"}, "properties": {"repobilityId": "e310e300486f45af", "scanner": "scanner-primary", "fingerprint": "712bba29116c75f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b08902b4cd7754c6", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/services/fiscalSefazDirect.mjs:1"}, "properties": {"repobilityId": "dd5aaa333838c437", "scanner": "scanner-primary", "fingerprint": "b08902b4cd7754c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30fa9629c74c67cf", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/services/curationAgent.js:1"}, "properties": {"repobilityId": "b8dc1dc28b836833", "scanner": "scanner-primary", "fingerprint": "30fa9629c74c67cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-61aed4c8959bb80b", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/services/falAi.js:1"}, "properties": {"repobilityId": "1a907d2c4157f7d1", "scanner": "scanner-primary", "fingerprint": "61aed4c8959bb80b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-07749ea6fbc7981d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/messagesCron.js:1"}, "properties": {"repobilityId": "175875eb2add6751", "scanner": "scanner-primary", "fingerprint": "07749ea6fbc7981d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe5f42d69847358d", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/aiAttendant.js:1"}, "properties": {"repobilityId": "b85825472c9c728b", "scanner": "scanner-primary", "fingerprint": "fe5f42d69847358d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-727442ac63370b51", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/instagram.js:1"}, "properties": {"repobilityId": "4c312a5c2d19ba55", "scanner": "scanner-primary", "fingerprint": "727442ac63370b51", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9cfabf7e472fb576", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/instagram.js:30"}, "properties": {"repobilityId": "2080c50e7c7b4757", "scanner": "scanner-primary", "fingerprint": "9cfabf7e472fb576", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-631b60119e16bb0e", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/services/recommendationEngine.js:1"}, "properties": {"repobilityId": "0d7c2819e58137ae", "scanner": "scanner-primary", "fingerprint": "631b60119e16bb0e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-57457cd2423584f4", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/metaFardamentosKB.js:1"}, "properties": {"repobilityId": "e83bf5b5a04e135b", "scanner": "scanner-primary", "fingerprint": "57457cd2423584f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-48c4253162804c23", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/services/classificationOrchestrator.js:1"}, "properties": {"repobilityId": "3ac91ac4984600eb", "scanner": "scanner-primary", "fingerprint": "48c4253162804c23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b4c1f983c7774abc", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/services/braveImageSearch.js:1"}, "properties": {"repobilityId": "90d94ce8dfad2e6a", "scanner": "scanner-primary", "fingerprint": "b4c1f983c7774abc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d2572f73c9303b69", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/services/emailer.js:1"}, "properties": {"repobilityId": "2b8ec9a658f54e45", "scanner": "scanner-primary", "fingerprint": "d2572f73c9303b69", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06272f38bce9a5e8", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/services/nfeSizeParser.js:6"}, "properties": {"repobilityId": "47f2b5e46ffdb63b", "scanner": "scanner-primary", "fingerprint": "06272f38bce9a5e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b72cfd952665ba5", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/metaApsKB.js:1"}, "properties": {"repobilityId": "e455f4f1c3d4a266", "scanner": "scanner-primary", "fingerprint": "0b72cfd952665ba5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-426ffb1076dcadb9", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/compositeImage.js:6"}, "properties": {"repobilityId": "0a821d18d83391f9", "scanner": "scanner-primary", "fingerprint": "426ffb1076dcadb9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c4944f3377e3e1e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/compositeImage.js:129"}, "properties": {"repobilityId": "ae1e78301b94a26c", "scanner": "scanner-primary", "fingerprint": "5c4944f3377e3e1e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-52e0d322fcaeed0a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/activityIngest.js:1"}, "properties": {"repobilityId": "95600ad96f50459d", "scanner": "scanner-primary", "fingerprint": "52e0d322fcaeed0a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-be4bc82c73fc14cd", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/services/fiscalAcquirers.js:1"}, "properties": {"repobilityId": "e4459843f8ff5d83", "scanner": "scanner-primary", "fingerprint": "be4bc82c73fc14cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-491f05250b726942", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/googleImageSearch.js:1"}, "properties": {"repobilityId": "dfd7b038f35e9b5d", "scanner": "scanner-primary", "fingerprint": "491f05250b726942", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e72714099ffca399", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/services/metaCatalogCron.js:1"}, "properties": {"repobilityId": "e0e30c25fcef1d11", "scanner": "scanner-primary", "fingerprint": "e72714099ffca399", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f1a79dfeab0f00c5", "level": "none", "message": {"text": "Commented-code block (13 lines) in src/services/nuvemshop.js:1"}, "properties": {"repobilityId": "fa0a32f607f1ff7e", "scanner": "scanner-primary", "fingerprint": "f1a79dfeab0f00c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b26ee71af74473f6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/nuvemshop.js:32"}, "properties": {"repobilityId": "d6b9973e5bb4345e", "scanner": "scanner-primary", "fingerprint": "b26ee71af74473f6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-513bd4a7ff06f758", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/services/emailTemplates.js:1"}, "properties": {"repobilityId": "0ce19a25806756dd", "scanner": "scanner-primary", "fingerprint": "513bd4a7ff06f758", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f76cc7e0b29d984e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/brandDiscovery.js:1"}, "properties": {"repobilityId": "5c58bca991bb64d1", "scanner": "scanner-primary", "fingerprint": "f76cc7e0b29d984e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a04a538827f8ac10", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/services/equipeReports.js:1"}, "properties": {"repobilityId": "3d40f9927e0c8f8b", "scanner": "scanner-primary", "fingerprint": "a04a538827f8ac10", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e50963be4d077598", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/services/visionBatchValidator.js:1"}, "properties": {"repobilityId": "ca2b967efd63b1db", "scanner": "scanner-primary", "fingerprint": "e50963be4d077598", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f7bd996798a1a4a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/copyGenerator.js:1"}, "properties": {"repobilityId": "f32b97696b2e5d34", "scanner": "scanner-primary", "fingerprint": "4f7bd996798a1a4a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-107a649bd6bc4aa8", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/services/nuvemshopHandlers.js:1"}, "properties": {"repobilityId": "a964b0557d252f32", "scanner": "scanner-primary", "fingerprint": "107a649bd6bc4aa8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0bf4593b4eff914", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/dailyAgentsCron.js:1"}, "properties": {"repobilityId": "aa7640c747f8bf11", "scanner": "scanner-primary", "fingerprint": "b0bf4593b4eff914", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d96031f60d21be42", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/services/meta.js:6"}, "properties": {"repobilityId": "c52c275c8ab217b5", "scanner": "scanner-primary", "fingerprint": "d96031f60d21be42", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-59aec89dd5a25def", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/meta.js:44"}, "properties": {"repobilityId": "5d7258071dbd060f", "scanner": "scanner-primary", "fingerprint": "59aec89dd5a25def", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-37067d806d096637", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/services/payments.js:1"}, "properties": {"repobilityId": "f0cc7606a75cd35e", "scanner": "scanner-primary", "fingerprint": "37067d806d096637", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-202149e9bcfe3540", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/services/computerUse.js:1"}, "properties": {"repobilityId": "ed8315dd28b43bb3", "scanner": "scanner-primary", "fingerprint": "202149e9bcfe3540", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-67e1d09de9083332", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/brandProfiles.js:1"}, "properties": {"repobilityId": "d873388f1b0de138", "scanner": "scanner-primary", "fingerprint": "67e1d09de9083332", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e65863134c9927e2", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/tournamentEngine.js:1"}, "properties": {"repobilityId": "1e5d6a354ee79132", "scanner": "scanner-primary", "fingerprint": "e65863134c9927e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-896bafbc2b988880", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/anthropicFiles.js:1"}, "properties": {"repobilityId": "1b5b3230032e02b2", "scanner": "scanner-primary", "fingerprint": "896bafbc2b988880", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f07f46ee0e1c570", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/aiCoach.js:1"}, "properties": {"repobilityId": "e459eb95e401d138", "scanner": "scanner-primary", "fingerprint": "7f07f46ee0e1c570", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5c4d5bde59b5861", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/marketingCron.js:1"}, "properties": {"repobilityId": "b6e192ff776ce96b", "scanner": "scanner-primary", "fingerprint": "d5c4d5bde59b5861", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-846cb79f8fb7db12", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/collageImage.js:1"}, "properties": {"repobilityId": "c3acceef2f717342", "scanner": "scanner-primary", "fingerprint": "846cb79f8fb7db12", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-97b347e85f5ff7c9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/collageImage.js:20"}, "properties": {"repobilityId": "55e80e0a9ee27b37", "scanner": "scanner-primary", "fingerprint": "97b347e85f5ff7c9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e25920b067a0b326", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/marketingPrompts.js:1"}, "properties": {"repobilityId": "0dc0edc40ced51b6", "scanner": "scanner-primary", "fingerprint": "e25920b067a0b326", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-116dc585448e4a87", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/marketingConfig.js:1"}, "properties": {"repobilityId": "f196dd06ef6f3259", "scanner": "scanner-primary", "fingerprint": "116dc585448e4a87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8684c63c1a624c83", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/slackNotifier.js:1"}, "properties": {"repobilityId": "b74a77d103a8aa46", "scanner": "scanner-primary", "fingerprint": "8684c63c1a624c83", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-878818e278cc37e9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/slackNotifier.js:28"}, "properties": {"repobilityId": "7b925c671fe21c79", "scanner": "scanner-primary", "fingerprint": "878818e278cc37e9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-87ef81d9d0c146ef", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/imagensSite/bus.js:1"}, "properties": {"repobilityId": "e461e7081b6e41b5", "scanner": "scanner-primary", "fingerprint": "87ef81d9d0c146ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1742a181eb61ad0b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/imagensSite/slots.js:5"}, "properties": {"repobilityId": "d1d2e1af22b8f140", "scanner": "scanner-primary", "fingerprint": "1742a181eb61ad0b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9c6d8c7000a53b75", "level": "note", "message": {"text": "Legacy-named symbol `imagens_site_plan_v1` in src/services/imagensSite/orchestrator.js:13"}, "properties": {"repobilityId": "9ca5220191ad89c8", "scanner": "scanner-primary", "fingerprint": "9c6d8c7000a53b75", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7150554b46e9cf58", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/services/imagensSite/orchestrator.js:1"}, "properties": {"repobilityId": "a80f991ca7bd3cca", "scanner": "scanner-primary", "fingerprint": "7150554b46e9cf58", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-60e57dbf731ece23", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/imagensSite/agents/stock.js:1"}, "properties": {"repobilityId": "65d921556eb90d1f", "scanner": "scanner-primary", "fingerprint": "60e57dbf731ece23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-08f8dde5cceb7efb", "level": "note", "message": {"text": "Legacy-named symbol `imagens_site_slots_v1` in src/services/imagensSite/agents/mapper.js:7"}, "properties": {"repobilityId": "544be93d9f786200", "scanner": "scanner-primary", "fingerprint": "08f8dde5cceb7efb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-12d56ce4abbe345d", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/services/psp/asaas.js:1"}, "properties": {"repobilityId": "1e97d3f8b7a15ad1", "scanner": "scanner-primary", "fingerprint": "12d56ce4abbe345d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1909eaa06a7d3113", "level": "note", "message": {"text": "127 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "4c08db0f2a76ba6c", "scanner": "scanner-primary", "fingerprint": "1909eaa06a7d3113", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-1bc7d51289f9a76b", "level": "error", "message": {"text": "Dangling fetch: GET /api/stocktake/biped-product-ids (public/_product-card.js:150)"}, "properties": {"repobilityId": "968d1b6b9ef50b1f", "scanner": "scanner-primary", "fingerprint": "1bc7d51289f9a76b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4ce95593f79cc559", "level": "error", "message": {"text": "Dangling fetch: GET /api/webauthn/status (public/_webauthn.js:51)"}, "properties": {"repobilityId": "f25103e8a1957800", "scanner": "scanner-primary", "fingerprint": "4ce95593f79cc559", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-36202f884eeed337", "level": "error", "message": {"text": "Dangling fetch: GET /api/face/status (public/_webauthn.js:110)"}, "properties": {"repobilityId": "01ba7e94367ffb4f", "scanner": "scanner-primary", "fingerprint": "36202f884eeed337", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6cd218dbe019ed31", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/ai/ai-client.js:272)"}, "properties": {"repobilityId": "8795ec4890783ab2", "scanner": "scanner-primary", "fingerprint": "6cd218dbe019ed31", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6f143266e293b71e", "level": "error", "message": {"text": "Dangling fetch: GET https://viacep.com.br/ws/${clean}/json/ (src/routes/shipping.js:32)"}, "properties": {"repobilityId": "40a72b2b9df2e05d", "scanner": "scanner-primary", "fingerprint": "6f143266e293b71e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-84ecf2cf850ede7d", "level": "error", "message": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?q=${encodeURIComponent(query)}&format=json&limit=1 (src/routes/shipping.js:40)"}, "properties": {"repobilityId": "d45b344d84b6a2d7", "scanner": "scanner-primary", "fingerprint": "84ecf2cf850ede7d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-afdbb2f479ec48dd", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/images/edits (src/services/openaiImage.js:171)"}, "properties": {"repobilityId": "4adc2e696acba318", "scanner": "scanner-primary", "fingerprint": "afdbb2f479ec48dd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fae079e1c087874b", "level": "error", "message": {"text": "Dangling fetch: POST https://www.nuvemshop.com.br/apps/authorize/token (src/services/nuvemshop.js:32)"}, "properties": {"repobilityId": "aee67283f9f51dbf", "scanner": "scanner-primary", "fingerprint": "fae079e1c087874b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-76889df7c8e240c5", "level": "note", "message": {"text": "Unused endpoint: USE /api/"}, "properties": {"repobilityId": "25b440a6c6811f2a", "scanner": "scanner-primary", "fingerprint": "76889df7c8e240c5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a91f57add99eaa28", "level": "note", "message": {"text": "Unused endpoint: USE /api/auth/"}, "properties": {"repobilityId": "d670f37a2fc10d2b", "scanner": "scanner-primary", "fingerprint": "a91f57add99eaa28", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6eb452fbfb454d20", "level": "note", "message": {"text": "Unused endpoint: USE /api/auth"}, "properties": {"repobilityId": "4cadbe319d3dfad1", "scanner": "scanner-primary", "fingerprint": "6eb452fbfb454d20", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5d917f1d5d77d899", "level": "note", "message": {"text": "Unused endpoint: USE /api/wallet"}, "properties": {"repobilityId": "6ed5359b99cb93f6", "scanner": "scanner-primary", "fingerprint": "5d917f1d5d77d899", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b5a38856dc9a14dc", "level": "note", "message": {"text": "Unused endpoint: USE /api/transfer"}, "properties": {"repobilityId": "bca4f7ba52c0d8ba", "scanner": "scanner-primary", "fingerprint": "b5a38856dc9a14dc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c96e5524adf9cb6d", "level": "note", "message": {"text": "Unused endpoint: USE /api/promos"}, "properties": {"repobilityId": "9a05857ecdb217db", "scanner": "scanner-primary", "fingerprint": "c96e5524adf9cb6d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d93a530ce10d47d9", "level": "note", "message": {"text": "Unused endpoint: USE /api/admin"}, "properties": {"repobilityId": "dac7928c489066ee", "scanner": "scanner-primary", "fingerprint": "d93a530ce10d47d9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e1b7f3d2328822bb", "level": "note", "message": {"text": "Unused endpoint: USE /api/qr"}, "properties": {"repobilityId": "646274cac29b441c", "scanner": "scanner-primary", "fingerprint": "e1b7f3d2328822bb", "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": "311c8cda47dea34e", "scanner": "scanner-primary", "fingerprint": "4756b4c4da7d2088", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d504b80adc9409ec", "level": "note", "message": {"text": "Unused endpoint: GET /dashboard"}, "properties": {"repobilityId": "3779139ac4b86a0a", "scanner": "scanner-primary", "fingerprint": "d504b80adc9409ec", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a4d9b2c4006f325b", "level": "note", "message": {"text": "Unused endpoint: POST /credit"}, "properties": {"repobilityId": "c0dd811e18b7a73a", "scanner": "scanner-primary", "fingerprint": "a4d9b2c4006f325b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ce02a65ce2ebdf43", "level": "note", "message": {"text": "Unused endpoint: POST /debit"}, "properties": {"repobilityId": "afb633a9a6bca6b6", "scanner": "scanner-primary", "fingerprint": "ce02a65ce2ebdf43", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dd54862cb7f38690", "level": "note", "message": {"text": "Unused endpoint: POST /sale"}, "properties": {"repobilityId": "b4d08fc13e025765", "scanner": "scanner-primary", "fingerprint": "dd54862cb7f38690", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bd671520512410a1", "level": "note", "message": {"text": "Unused endpoint: POST /use"}, "properties": {"repobilityId": "5511b64617e66d3b", "scanner": "scanner-primary", "fingerprint": "bd671520512410a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e0d632e527545a06", "level": "note", "message": {"text": "Unused endpoint: POST /promos"}, "properties": {"repobilityId": "9616cbd0f2f6ae52", "scanner": "scanner-primary", "fingerprint": "e0d632e527545a06", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a43bd5bbf1c294a6", "level": "note", "message": {"text": "Unused endpoint: PUT /promos/:id"}, "properties": {"repobilityId": "92ff8f2f7e1c349c", "scanner": "scanner-primary", "fingerprint": "a43bd5bbf1c294a6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-569dbff1cc352ba3", "level": "note", "message": {"text": "Unused endpoint: POST /brands"}, "properties": {"repobilityId": "2b075531da6708e1", "scanner": "scanner-primary", "fingerprint": "569dbff1cc352ba3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-01c0e6ca7f504cf5", "level": "note", "message": {"text": "Unused endpoint: GET /brands"}, "properties": {"repobilityId": "c08be3f2c06d5593", "scanner": "scanner-primary", "fingerprint": "01c0e6ca7f504cf5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0666d1d987815276", "level": "note", "message": {"text": "Unused endpoint: POST /config"}, "properties": {"repobilityId": "6ff7953a04c1bcc8", "scanner": "scanner-primary", "fingerprint": "0666d1d987815276", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-841e50bf821e4158", "level": "note", "message": {"text": "Unused endpoint: GET /users"}, "properties": {"repobilityId": "72f83668e2b9fd01", "scanner": "scanner-primary", "fingerprint": "841e50bf821e4158", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-81327b7bef38b5d6", "level": "note", "message": {"text": "Unused endpoint: GET /log"}, "properties": {"repobilityId": "049a0ca034c048f3", "scanner": "scanner-primary", "fingerprint": "81327b7bef38b5d6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d7fa8929da9cbe3f", "level": "note", "message": {"text": "Unused endpoint: GET /balance"}, "properties": {"repobilityId": "57c42598750f4290", "scanner": "scanner-primary", "fingerprint": "d7fa8929da9cbe3f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-52f939032aab887f", "level": "note", "message": {"text": "Unused endpoint: GET /transactions"}, "properties": {"repobilityId": "f40b0b97dd052266", "scanner": "scanner-primary", "fingerprint": "52f939032aab887f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5baa8971ebe192a1", "level": "note", "message": {"text": "Unused endpoint: GET /"}, "properties": {"repobilityId": "13e39395d97eee60", "scanner": "scanner-primary", "fingerprint": "5baa8971ebe192a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-304b6f2b403d93f7", "level": "note", "message": {"text": "Unused endpoint: POST /register"}, "properties": {"repobilityId": "3d4d2a556a83d6d9", "scanner": "scanner-primary", "fingerprint": "304b6f2b403d93f7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-618721b912bad1c2", "level": "note", "message": {"text": "Unused endpoint: POST /login"}, "properties": {"repobilityId": "8cc4d197eba52ce2", "scanner": "scanner-primary", "fingerprint": "618721b912bad1c2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fd1dc91abf32142d", "level": "note", "message": {"text": "Unused endpoint: GET /me"}, "properties": {"repobilityId": "bfe9ecd0641be94b", "scanner": "scanner-primary", "fingerprint": "fd1dc91abf32142d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2f222a275ed687b3", "level": "note", "message": {"text": "Unused endpoint: POST /send"}, "properties": {"repobilityId": "e64b8dbe470afc92", "scanner": "scanner-primary", "fingerprint": "2f222a275ed687b3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-21e08ef21eba7560", "level": "note", "message": {"text": "Unused endpoint: GET /lookup"}, "properties": {"repobilityId": "998c0f1cf6cbde48", "scanner": "scanner-primary", "fingerprint": "21e08ef21eba7560", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e8614df2893d241a", "level": "note", "message": {"text": "Unused endpoint: GET /generate"}, "properties": {"repobilityId": "3ff0abf6ff7aa980", "scanner": "scanner-primary", "fingerprint": "e8614df2893d241a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-34c0472a1f1fafe5", "level": "note", "message": {"text": "Unused endpoint: POST /validate"}, "properties": {"repobilityId": "75ce55801fd39419", "scanner": "scanner-primary", "fingerprint": "34c0472a1f1fafe5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ebe25d4c88f130a0", "level": "note", "message": {"text": "Unused endpoint: USE /api/admin/ai"}, "properties": {"repobilityId": "c34add14b600edb8", "scanner": "scanner-primary", "fingerprint": "ebe25d4c88f130a0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-927300d1ac808df5", "level": "note", "message": {"text": "Unused endpoint: POST /emit-nfce"}, "properties": {"repobilityId": "17e87b91c52ac136", "scanner": "scanner-primary", "fingerprint": "927300d1ac808df5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6b39b0d6cba1f07e", "level": "note", "message": {"text": "Unused endpoint: POST /emit-nfe55"}, "properties": {"repobilityId": "f8bd49480b4ac169", "scanner": "scanner-primary", "fingerprint": "6b39b0d6cba1f07e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6b4d3a1c30158c0e", "level": "note", "message": {"text": "Unused endpoint: POST /cancel"}, "properties": {"repobilityId": "9238580ea773a2f0", "scanner": "scanner-primary", "fingerprint": "6b4d3a1c30158c0e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-44dc9eac529d8df2", "level": "note", "message": {"text": "Unused endpoint: POST /consulta"}, "properties": {"repobilityId": "cec368667e1ab881", "scanner": "scanner-primary", "fingerprint": "44dc9eac529d8df2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c55374a0c544b5d2", "level": "note", "message": {"text": "Unused endpoint: POST /correction"}, "properties": {"repobilityId": "8a4adc25843f2a18", "scanner": "scanner-primary", "fingerprint": "c55374a0c544b5d2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-adfddd6a3bdecfe1", "level": "note", "message": {"text": "Unused endpoint: POST /selfupdate"}, "properties": {"repobilityId": "a5881c47e7f325a5", "scanner": "scanner-primary", "fingerprint": "adfddd6a3bdecfe1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e05dc5dee187dd9d", "level": "note", "message": {"text": "Unused endpoint: POST /api/_px2026col"}, "properties": {"repobilityId": "d983d9999f30719b", "scanner": "scanner-primary", "fingerprint": "e05dc5dee187dd9d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c4e85d9219aafe12", "level": "note", "message": {"text": "Unused endpoint: POST /api/_catengine"}, "properties": {"repobilityId": "713af157ff62d889", "scanner": "scanner-primary", "fingerprint": "c4e85d9219aafe12", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-18fcd3a39930d2a3", "level": "note", "message": {"text": "Unused endpoint: POST /api/_falgen"}, "properties": {"repobilityId": "7450c09684aa61bd", "scanner": "scanner-primary", "fingerprint": "18fcd3a39930d2a3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3d695b3c80dc9fdf", "level": "note", "message": {"text": "Unused endpoint: USE /api/webauthn"}, "properties": {"repobilityId": "8d3b2020086afcde", "scanner": "scanner-primary", "fingerprint": "3d695b3c80dc9fdf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2a660c4b76a01235", "level": "note", "message": {"text": "Unused endpoint: USE /api/face"}, "properties": {"repobilityId": "00e7feceef7157f7", "scanner": "scanner-primary", "fingerprint": "2a660c4b76a01235", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4c3a9249d3f958b7", "level": "note", "message": {"text": "Unused endpoint: USE /api/seller"}, "properties": {"repobilityId": "81d28085db4c4fb7", "scanner": "scanner-primary", "fingerprint": "4c3a9249d3f958b7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c08702293d844bd1", "level": "note", "message": {"text": "Unused endpoint: USE /api/stores"}, "properties": {"repobilityId": "4c59a203d9a71aaa", "scanner": "scanner-primary", "fingerprint": "c08702293d844bd1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9a300508c4edb651", "level": "note", "message": {"text": "Unused endpoint: USE /api/messages"}, "properties": {"repobilityId": "604cafc94b731463", "scanner": "scanner-primary", "fingerprint": "9a300508c4edb651", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-122e03bb1f55e4ea", "level": "note", "message": {"text": "Unused endpoint: USE /api/sellers"}, "properties": {"repobilityId": "343a4c0693043202", "scanner": "scanner-primary", "fingerprint": "122e03bb1f55e4ea", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ed41dcda9412cd76", "level": "note", "message": {"text": "Unused endpoint: USE /api/catalog"}, "properties": {"repobilityId": "027e98bdc9718c1d", "scanner": "scanner-primary", "fingerprint": "ed41dcda9412cd76", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-309b282658c2ae72", "level": "note", "message": {"text": "Unused endpoint: USE /api/tryon"}, "properties": {"repobilityId": "65bb4945dfafde18", "scanner": "scanner-primary", "fingerprint": "309b282658c2ae72", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-316c43db307befc3", "level": "note", "message": {"text": "Unused endpoint: USE /api/ai"}, "properties": {"repobilityId": "a73a92c54ad7d7b1", "scanner": "scanner-primary", "fingerprint": "316c43db307befc3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}