{"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-df8ad9add4a68e8f", "name": "Possibly dead Python function: post_fork", "shortDescription": {"text": "Possibly dead Python function: post_fork"}, "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-b7d170381044c8e8", "name": "Possibly dead Python function: worker_exit", "shortDescription": {"text": "Possibly dead Python function: worker_exit"}, "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-06282f82361ef741", "name": "Possibly dead Python function: post_fork", "shortDescription": {"text": "Possibly dead Python function: post_fork"}, "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-3e034f18a1904930", "name": "Possibly dead Python function: worker_exit", "shortDescription": {"text": "Possibly dead Python function: worker_exit"}, "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-467ba3a94929ea1f", "name": "Possibly dead Python function: task_T02", "shortDescription": {"text": "Possibly dead Python function: task_T02"}, "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-51a69fa3520ad1f7", "name": "Possibly dead Python function: task_T03", "shortDescription": {"text": "Possibly dead Python function: task_T03"}, "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-d9a44791c683a7f5", "name": "Possibly dead Python function: task_T04", "shortDescription": {"text": "Possibly dead Python function: task_T04"}, "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-ab193efe6246cb5b", "name": "Possibly dead Python function: task_T05", "shortDescription": {"text": "Possibly dead Python function: task_T05"}, "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-6af272d9f5b5defa", "name": "Possibly dead Python function: task_T06", "shortDescription": {"text": "Possibly dead Python function: task_T06"}, "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-84586123cf737601", "name": "Possibly dead Python function: task_T07", "shortDescription": {"text": "Possibly dead Python function: task_T07"}, "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-fca37aea32c78027", "name": "Possibly dead Python function: task_T08", "shortDescription": {"text": "Possibly dead Python function: task_T08"}, "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-84f58da11891601a", "name": "Possibly dead Python function: task_T09", "shortDescription": {"text": "Possibly dead Python function: task_T09"}, "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-842667ca3cea04c2", "name": "Possibly dead Python function: task_T10", "shortDescription": {"text": "Possibly dead Python function: task_T10"}, "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-236f8a2c640ea782", "name": "Possibly dead Python function: task_T11", "shortDescription": {"text": "Possibly dead Python function: task_T11"}, "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-c03ac63f959c5e5b", "name": "Possibly dead Python function: task_T12", "shortDescription": {"text": "Possibly dead Python function: task_T12"}, "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-83ea92c8f84e53d2", "name": "Possibly dead Python function: task_T33", "shortDescription": {"text": "Possibly dead Python function: task_T33"}, "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-8d7a4e86bba5d0e9", "name": "Possibly dead Python function: nm", "shortDescription": {"text": "Possibly dead Python function: nm"}, "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-d0b4624fd7aaa856", "name": "Possibly dead Python function: modo_baseline", "shortDescription": {"text": "Possibly dead Python function: modo_baseline"}, "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-e389e80adc02613b", "name": "Possibly dead Python function: modo_diff", "shortDescription": {"text": "Possibly dead Python function: modo_diff"}, "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-e10a85da367b3723", "name": "Possibly dead Python function: modo_preflight_lf", "shortDescription": {"text": "Possibly dead Python function: modo_preflight_lf"}, "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-9e743c60f4ed0034", "name": "Possibly dead Python function: modo_remessa", "shortDescription": {"text": "Possibly dead Python function: modo_remessa"}, "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-1a4a9c620050b735", "name": "Possibly dead Python function: modo_entrada_lf", "shortDescription": {"text": "Possibly dead Python function: modo_entrada_lf"}, "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-6c370b55b37b35bc", "name": "Possibly dead Python function: modo_mo", "shortDescription": {"text": "Possibly dead Python function: modo_mo"}, "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-a5b5afd37c37e5ee", "name": "Possibly dead Python function: modo_entrada_fb", "shortDescription": {"text": "Possibly dead Python function: modo_entrada_fb"}, "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-2c397aa2066c6975", "name": "Icon-only button without accessible name \u2014 app/static/js/portal-async-integration.js:93", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/static/js/portal-async-integration.js:93"}, "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-11b2d20568201522", "name": "Stray `console.log` in TS/JS \u2014 app/static/js/portal-async-integration.js:297", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/portal-async-integration.js:297"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c49ede4f37d97c0", "name": "Stray `console.log` in TS/JS \u2014 app/static/js/programacao-lote.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/programacao-lote.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f834925b9537085", "name": "Stray `console.log` in TS/JS \u2014 app/static/js/modal-projecao-linha.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/modal-projecao-linha.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-540feabeb1c5ccf1", "name": "Stray `console.log` in TS/JS \u2014 app/static/js/sendas_comparacao.js:884", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/sendas_comparacao.js:884"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-18106d3a88385ce9", "name": "Stray `console.log` in TS/JS \u2014 app/static/js/contas_receber_comparativo.js:604", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/contas_receber_comparativo.js:604"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b5e68176898692bb", "name": "Stray `console.log` in TS/JS \u2014 app/static/js/analises-drilldown.js:157", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/analises-drilldown.js:157"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-404a404e7084b49c", "name": "Stray `console.log` in TS/JS \u2014 app/static/js/carteira-simples.js:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/carteira-simples.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-66f9048167c4fa90", "name": "Stray `console.log` in TS/JS \u2014 app/static/js/theme-manager.js:245", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/theme-manager.js:245"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-73f1bc311b643e52", "name": "Stray `console.log` in TS/JS \u2014 app/static/js/pallet-unified.js:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/pallet-unified.js:49"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e1a305cd86332e7e", "name": "Stray `console.log` in TS/JS \u2014 app/static/js/devolucao/ocorrencia-detalhe.js:325", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/devolucao/ocorrencia-detalhe.js:325"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-20366c342d3931c8", "name": "TODO/FIXME marker in shipping code \u2014 app/static/js/capacitor/capacitor.js:48", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 app/static/js/capacitor/capacitor.js:48"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9c6eb3be72166b94", "name": "Stray `console.log` in TS/JS \u2014 app/static/js/capacitor/gps-service-hibrido.js:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/capacitor/gps-service-hibrido.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-078c4136d12d4339", "name": "Stray `console.log` in TS/JS \u2014 app/static/js/capacitor/rastreamento-integration.js:85", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/capacitor/rastreamento-integration.js:85"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-808e9fcc8795223b", "name": "Stray `console.log` in TS/JS \u2014 app/static/js/financeiro/premium-effects.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/financeiro/premium-effects.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-04c7e9ccbf7ea0ae", "name": "Stray `console.log` in TS/JS \u2014 app/static/js/pedidos/lista-endereco.js:73", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/pedidos/lista-endereco.js:73"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-09b9d6e01b809627", "name": "TODO/FIXME marker in shipping code \u2014 app/static/capacitor/capacitor.js:48", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 app/static/capacitor/capacitor.js:48"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5a3dfe5c131981a0", "name": "Stray `console.log` in TS/JS \u2014 app/static/agente/js/chat.js:228", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/agente/js/chat.js:228"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f1ae95a5c0b0fe1", "name": "Stray `console.log` in TS/JS \u2014 app/static/comercial/js/lista_clientes_mobile.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/comercial/js/lista_clientes_mobile.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-a044b69a163fab9a", "name": "Stray `console.log` in TS/JS \u2014 app/static/comercial/js/modal_pedidos_mobile.js:455", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/comercial/js/modal_pedidos_mobile.js:455"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-20d2d0deffea3134", "name": "Stray `console.log` in TS/JS \u2014 app/static/carteira/js/modal-relatorios.js:243", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/carteira/js/modal-relatorios.js:243"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d4acdb56a5a5b5bd", "name": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/necessidade_producao/js/modal-detalhes-separacao.js:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/necessidade_producao/js/modal-detalhes-separacao.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-1679e83a3896545e", "name": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/necessidade_producao/js/necessidade-producao.js:146", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/necessidade_producao/js/necessidade-producao.js:146"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-26cbcf854b897a5c", "name": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/necessidade_producao/js/modals/modal-projecao.js:249", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/necessidade_producao/js/modals/modal-projecao.js:249"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b16a5cbfd387412", "name": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivos.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivos.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-451917be69d79164", "name": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/requisicoes_compras/js/historico-modal.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/requisicoes_compras/js/historico-modal.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-47e3470d121b89f2", "name": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/requisicoes_compras/js/requisicoes-compras.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/requisicoes_compras/js/requisicoes-compras.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-c87028e9bd81a631", "name": "TODO/FIXME marker in shipping code \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-table-view.js:196", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-table-view.js:196"}, "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-89df85c6120c13d9", "name": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-table-view.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-table-view.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-c09b69588091ab8e", "name": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas.js:74", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas.js:74"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-faa9678ac31d688f", "name": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamentos.js:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamentos.js:87"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b9dcd21e8bb04a1", "name": "TODO/FIXME marker in shipping code \u2014 app/static/manufatura/lista_materiais/js/lista_materiais.js:652", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 app/static/manufatura/lista_materiais/js/lista_materiais.js:652"}, "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-14968de355aab074", "name": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/lista_materiais/js/lista_materiais.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/lista_materiais/js/lista_materiais.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-474ccdfc3f82160c", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/workspace-tabela.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/workspace-tabela.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-853ee19a8832c991", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-pedido-detalhes.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-pedido-detalhes.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-0a8b7bb2ca950055", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/separacao-manager.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/separacao-manager.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8d45fbe2c2213a0e", "name": "TODO/FIXME marker in shipping code \u2014 app/templates/carteira/js/workspace-montagem.js:1391", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 app/templates/carteira/js/workspace-montagem.js:1391"}, "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-3f0434e65327f307", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/workspace-montagem.js:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/workspace-montagem.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-700ad4790dfe0e56", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-cardex.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-cardex.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-89296b4b56020ec3", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/workspace-quantidades.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/workspace-quantidades.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-91a29074faebffe6", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-cardex-expandido.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-cardex-expandido.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-d12858e6198b89f5", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-navigation.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-navigation.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-e4e823e93c895620", "name": "TODO/FIXME marker in shipping code \u2014 app/templates/carteira/js/lote-manager.js:19", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 app/templates/carteira/js/lote-manager.js:19"}, "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-2020ebf6f2330be6", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/lote-manager.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/lote-manager.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-585270d59a16dff2", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/ruptura-estoque.js:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/ruptura-estoque.js:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-041070203da9baf9", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-endereco.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-endereco.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-e0c3d8caf6aa6f74", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-separacoes.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-separacoes.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aed33156cbbc297e", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/carteira-agrupada.js:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/carteira-agrupada.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-ce238f0a9f158bd6", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/standby-manager.js:221", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/standby-manager.js:221"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1710aaf54f0d6987", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/agendamento/destinacao-portais.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/agendamento/destinacao-portais.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-e28d3a0fecb15bac", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/agendamento/atacadao/portal-atacadao.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-3e3116d6407402f3", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/agendamento/sendas/portal-sendas.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/agendamento/sendas/portal-sendas.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-ada1756430429758", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/utils/security.js:212", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/utils/security.js:212"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c179c262590ada3", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/utils/notifications.js:373", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/utils/notifications.js:373"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-04931f1155bd86b9", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/utils/formatters.js:197", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/utils/formatters.js:197"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b2f2666f70f92137", "name": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/workspace/workspace-api.js:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/workspace/workspace-api.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-0d9207e6a177c294", "name": "Privileged port 10 in use", "shortDescription": {"text": "Privileged port 10 in use"}, "fullDescription": {"text": "Port 10 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d8f51f08072888b2", "name": "Privileged port 11 in use", "shortDescription": {"text": "Privileged port 11 in use"}, "fullDescription": {"text": "Port 11 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aab47b304e4e9c1a", "name": "Privileged port 30 in use", "shortDescription": {"text": "Privileged port 30 in use"}, "fullDescription": {"text": "Port 30 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fb6b97cefce637d1", "name": "Privileged port 930 in use", "shortDescription": {"text": "Privileged port 930 in use"}, "fullDescription": {"text": "Port 930 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9ba3088957a8b670", "name": "Privileged port 36 in use", "shortDescription": {"text": "Privileged port 36 in use"}, "fullDescription": {"text": "Port 36 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-77f96a01ba4444d6", "name": "Runtime dotenv file present in repo: .env.render", "shortDescription": {"text": "Runtime dotenv file present in repo: .env.render"}, "fullDescription": {"text": "`.env.render` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8f0cee785f83c0ac", "name": "Insecure pattern 'debug_true' in run_local.py:20", "shortDescription": {"text": "Insecure pattern 'debug_true' in run_local.py:20"}, "fullDescription": {"text": "Found a known-risky pattern (debug_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-95c68a47d7ecce4f", "name": "Insecure pattern 'debug_true' in run.py:37", "shortDescription": {"text": "Insecure pattern 'debug_true' in run.py:37"}, "fullDescription": {"text": "Found a known-risky pattern (debug_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ceef382c01e7ed10", "name": "Insecure pattern 'debug_true' in scripts/extrator_cnpj_standalone.py:32", "shortDescription": {"text": "Insecure pattern 'debug_true' in scripts/extrator_cnpj_standalone.py:32"}, "fullDescription": {"text": "Found a known-risky pattern (debug_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-612781716b8acd33", "name": "Insecure pattern 'subprocess_shell_true' in scripts/openclaw_url_watcher.py:92", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/openclaw_url_watcher.py:92"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-42c81421f441c3a9", "name": "Insecure pattern 'subprocess_shell_true' in scripts/deploy_render.py:23", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/deploy_render.py:23"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1ece93455a7e108e", "name": "Insecure pattern 'weak_hash' in scripts/migrations/pg18_post_upgrade.py:188", "shortDescription": {"text": "Insecure pattern 'weak_hash' in scripts/migrations/pg18_post_upgrade.py:188"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aa53a60371247940", "name": "Insecure pattern 'weak_hash' in scripts/migrations/pg18_pre_upgrade_check.py:95", "shortDescription": {"text": "Insecure pattern 'weak_hash' in scripts/migrations/pg18_pre_upgrade_check.py:95"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c78382018c628123", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/carvia/js/anexos_widget.js:42", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/carvia/js/anexos_widget.js:42"}, "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-dacd1c1260f89a86", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/portal-async-integration.js:90", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/portal-async-integration.js:90"}, "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-a64b14a59a61c36b", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/programacao-lote.js:173", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/programacao-lote.js:173"}, "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-c818198340b6ba47", "name": "Insecure pattern 'insert_adjacent_html' in app/static/js/programacao-lote.js:1046", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/js/programacao-lote.js:1046"}, "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-cd9a2e0475def9d8", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/cmdk.js:253", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/cmdk.js:253"}, "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-c602e0dac940f5c7", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/modal-projecao-linha.js:76", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/modal-projecao-linha.js:76"}, "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-fc3ce0a32f4afccb", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/analise_producao_componentes.js:41", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/analise_producao_componentes.js:41"}, "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-469e12210bbcf32d", "name": "Insecure pattern 'insert_adjacent_html' in app/static/js/analise_producao_componentes.js:351", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/js/analise_producao_componentes.js:351"}, "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-68c86331e67ba5e2", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/carvia_pagamento_modal.js:95", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/carvia_pagamento_modal.js: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-20d767d393ba05c7", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/contas_receber.js:54", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/contas_receber.js:54"}, "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-367696902e7b9a8b", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/cmdk-historico-pedido.js:263", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/cmdk-historico-pedido.js:263"}, "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-80908de1b3a8e083", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/contas_receber_comparativo.js:48", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/contas_receber_comparativo.js:48"}, "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-9ae8a77b35e00ba5", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/analises-drilldown.js:346", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/analises-drilldown.js:346"}, "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-4ff94d6087cf2fd6", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/carteira-simples.js:286", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/carteira-simples.js:286"}, "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-189f3d7632be7308", "name": "Insecure pattern 'insert_adjacent_html' in app/static/js/carteira-simples.js:3786", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/js/carteira-simples.js:3786"}, "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-890b2942ac98799b", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pallet-unified.js:104", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pallet-unified.js: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-b6729ef32fca2074", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/devolucao/ocorrencia-detalhe.js:156", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/devolucao/ocorrencia-detalhe.js:156"}, "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-b70d7b26c11a36cb", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/devolucao/cadastros-modal.js:68", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/devolucao/cadastros-modal.js:68"}, "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-a889f4fd1ff6b91f", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/carvia/ssw_progress.js:115", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/carvia/ssw_progress.js:115"}, "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-bcda735a8b8fbb35", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/shared/transportadora-autocomplete.js:165", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/shared/transportadora-autocomplete.js:165"}, "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-313136fd83edcefe", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/shared/scanner-moto.js:77", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/shared/scanner-moto.js:77"}, "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-83a8983b9f9e0ad8", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/inventario/confronto.js:46", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/inventario/confronto.js:46"}, "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-e7156c46e5dd7359", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/capacitor/rastreamento-integration.js:114", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/capacitor/rastreamento-integration.js:114"}, "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-151ce5dc96c6cc61", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/hora/autocomplete.js:107", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/hora/autocomplete.js:107"}, "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-8e75b2c0b2d9cc2c", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/hora/devolucao_venda_novo.js:53", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/hora/devolucao_venda_novo.js:53"}, "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-0e7e5430e165ca37", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/financeiro/busca-semantica.js:58", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/financeiro/busca-semantica.js:58"}, "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-abe1c2796175b1c6", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/comercial/margem.js:67", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/comercial/margem.js:67"}, "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-029dd7a33706adaa", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/estoque/transferir_estoque.js:11", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/estoque/transferir_estoque.js:11"}, "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-08a11249fdcec03a", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-nf.js:17", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-nf.js:17"}, "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-ba023feb27355703", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-agendamento.js:81", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-agendamento.js: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-f57faa90a9d09ed7", "name": "Insecure pattern 'insert_adjacent_html' in app/static/js/pedidos/lista-agendamento.js:58", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/js/pedidos/lista-agendamento.js:58"}, "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-2cb6e274db99292e", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-crud.js:174", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-crud.js: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-cba1ca33ffcdf5bb", "name": "Insecure pattern 'insert_adjacent_html' in app/static/js/pedidos/lista-crud.js:124", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/js/pedidos/lista-crud.js:124"}, "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-6bffa90e0ca70b68", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-modais.js:46", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-modais.js:46"}, "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-3619f06877704964", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-checkboxes.js:41", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-checkboxes.js:41"}, "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-efcb9eb2f7dd6d82", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-filtros.js:63", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-filtros.js:63"}, "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-58b3027fe2c388b4", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-endereco.js:86", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-endereco.js:86"}, "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-6722009d8820bead", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-alertas.js:20", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-alertas.js:20"}, "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-4a50a3c3f891157a", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-cotacao.js:34", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-cotacao.js:34"}, "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-2f45a0c460228018", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/recebimento/divergencias_shared.js:82", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/recebimento/divergencias_shared.js:82"}, "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-f7169ee417bd356b", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/recebimento/divergencias_nf_po.js:39", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/recebimento/divergencias_nf_po.js:39"}, "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-985b444f911a1a44", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/recebimento/validacoes_nf_po.js:25", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/recebimento/validacoes_nf_po.js:25"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6c7bf7577ac370e8", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/simulador-carga/simulador-ui.js:83", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/simulador-carga/simulador-ui.js:83"}, "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-6c84da192c8aa325", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/parametros.js:77", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/parametros.js:77"}, "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-e84a9597d808fc8b", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/mensal.js:83", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/mensal.js:83"}, "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-5bbfbaf9b5b44dbe", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/custeio.js:129", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/custeio.js: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-887e0518f82cb34d", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/comissao.js:69", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/comissao.js:69"}, "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-591ce9d6f00d13b6", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/dashboard.js:34", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/dashboard.js:34"}, "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-b9789c97661d429f", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/producao.js:65", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/producao.js: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-92e42f9ce831c8ec", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/definicao.js:80", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/definicao.js:80"}, "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-b8b935785d9a2b88", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/frete.js:83", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/frete.js:83"}, "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-b45796e78d076a7e", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/chat/js/chat_ui.js:137", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/chat/js/chat_ui.js:137"}, "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-972af71e945d9ead", "name": "Insecure pattern 'document_write' in app/static/agente/js/chat.js:5397", "shortDescription": {"text": "Insecure pattern 'document_write' in app/static/agente/js/chat.js:5397"}, "fullDescription": {"text": "Found a known-risky pattern (document_write). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b586b696d6a31a5e", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/agente/js/chat.js:556", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/agente/js/chat.js:556"}, "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-e68b9c395b380d4c", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/comercial/js/lista_clientes_mobile.js:178", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/comercial/js/lista_clientes_mobile.js:178"}, "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-f85ca8bb9542b89d", "name": "Insecure pattern 'insert_adjacent_html' in app/static/comercial/js/lista_clientes_mobile.js:199", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/comercial/js/lista_clientes_mobile.js:199"}, "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-df063b2169bc5d0b", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/comercial/js/modal_pedidos_mobile.js:13", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/comercial/js/modal_pedidos_mobile.js:13"}, "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-b4945fe134b4e261", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/onboarding/lib/driver.min.js:2", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/onboarding/lib/driver.min.js:2"}, "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-235a077c9528beaa", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/onboarding/core/tour_button.js:77", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/onboarding/core/tour_button.js:77"}, "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-8c2a62625376d8f8", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/carteira/js/modal-relatorios.js:193", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/carteira/js/modal-relatorios.js:193"}, "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-7fe14d22a2af2ddf", "name": "Insecure pattern 'insert_adjacent_html' in app/static/carteira/js/modal-relatorios.js:145", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/carteira/js/modal-relatorios.js:145"}, "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-666aa7e7ea883013", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/pos_venda.js:52", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/pos_venda.js:52"}, "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-5436823cd36a5d79", "name": "Insecure pattern 'insert_adjacent_html' in app/static/motos_assai/js/pos_venda.js:192", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/motos_assai/js/pos_venda.js:192"}, "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-e9318ac5577d0995", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/devolucao_form.js:79", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/devolucao_form.js:79"}, "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-32f43798ab88e2c8", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/operacao_quick.js:100", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/operacao_quick.js:100"}, "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-9da326bea409a904", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/resumo_modais.js:43", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/resumo_modais.js:43"}, "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-c7b52a5563cf01bb", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/separacao_chassi.js:28", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/separacao_chassi.js:28"}, "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-9d4f907354f3e26a", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/pendencias_resolver.js:74", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/pendencias_resolver.js:74"}, "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-bb5388df98c8157c", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/carregamento_escanear.js:41", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/carregamento_escanear.js:41"}, "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-9cfe12365bb095b5", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/rastreamento_chassi.js:77", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/rastreamento_chassi.js:77"}, "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-55a3bf988279b096", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/chassi_autocomplete.js:125", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/chassi_autocomplete.js:125"}, "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-a050da20b9512a66", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/recebimento_wizard.js:77", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/recebimento_wizard.js:77"}, "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-c35e0e7ecd23f10d", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/regex_tester.js:34", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/regex_tester.js:34"}, "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-829276f47e240fcb", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/divergencias_modais.js:52", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/divergencias_modais.js:52"}, "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-f271d338888797b6", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/necessidade_producao/js/modal-detalhes-separacao", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/necessidade_producao/js/modal-detalhes-separacao.js:180"}, "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-05fb43ea2733d8a4", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/necessidade_producao/js/modals/modal-recursos-pr", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivos.js: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-7fc0cb6a579ebc36", "name": "Insecure pattern 'insert_adjacent_html' in app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivo", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivos.js:154"}, "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-ad5359f475aa0db0", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/requisicoes_compras/js/historico-modal.js:91", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/requisicoes_compras/js/historico-modal.js:91"}, "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-bfb149602d1c4175", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/requisicoes_compras/js/requisicoes-compras.js:13", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/requisicoes_compras/js/requisicoes-compras.js:134"}, "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-e0055aeb3ddbe381", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/projecao_estoque/js/projecao-consolidado.js:86", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/projecao_estoque/js/projecao-consolidado.js:86"}, "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-261ff4be77a0b0ae", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/sugestao_compras/js/modal-cardex.js:94", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/sugestao_compras/js/modal-cardex.js: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-35ed5eb2b5ab89f0", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/sugestao_compras/js/sugestao.js:83", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/sugestao_compras/js/sugestao.js:83"}, "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-731351b844ebee72", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/sugestao_compras/js/modal-em-transito.js:76", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/sugestao_compras/js/modal-em-transito.js:76"}, "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-1a17824e754dfa8b", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/sugestao_compras/js/modal-sugestao-inteligente.j", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/sugestao_compras/js/modal-sugestao-inteligente.js: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-3328394a939766f0", "name": "Insecure pattern 'tls_verify_false' in app/utils/odoo_integration.py:427", "shortDescription": {"text": "Insecure pattern 'tls_verify_false' in app/utils/odoo_integration.py:427"}, "fullDescription": {"text": "Found a known-risky pattern (tls_verify_false). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c7393953d37b1f62", "name": "Insecure pattern 'debug_true' in app/motochefe/services/extrator_cnpj_planilhas.py:58", "shortDescription": {"text": "Insecure pattern 'debug_true' in app/motochefe/services/extrator_cnpj_planilhas.py:58"}, "fullDescription": {"text": "Found a known-risky pattern (debug_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6dab40f6c96223d9", "name": "Insecure pattern 'cors_wildcard' in app/financeiro/routes/contas_receber.py:477", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in app/financeiro/routes/contas_receber.py:477"}, "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-0be7d71e94d4cbc1", "name": "Insecure pattern 'eval_used' in app/comercial/services/permissao_service.py:95", "shortDescription": {"text": "Insecure pattern 'eval_used' in app/comercial/services/permissao_service.py:95"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-22e087ae929dde87", "name": "Insecure pattern 'exec_used' in .claude/skills/operando-reservas-odoo/SKILL.md:143", "shortDescription": {"text": "Insecure pattern 'exec_used' in .claude/skills/operando-reservas-odoo/SKILL.md:143"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-472a415f5ccf77a0", "name": "Possible secret in .claude/skills/planejando-pre-etapa-odoo/SKILL.md", "shortDescription": {"text": "Possible secret in .claude/skills/planejando-pre-etapa-odoo/SKILL.md"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-fb25c64dd6d9b5e4", "name": "Insecure pattern 'weak_hash' in .claude/skills/consultando-sql/schemas/tables/table_catalog_embeddings.json:45", "shortDescription": {"text": "Insecure pattern 'weak_hash' in .claude/skills/consultando-sql/schemas/tables/table_catalog_embeddings.json:45"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f3de48ef9632cec9", "name": "Insecure pattern 'weak_hash' in .claude/skills/consultando-sql/schemas/tables/agent_memory_embeddings.json:43", "shortDescription": {"text": "Insecure pattern 'weak_hash' in .claude/skills/consultando-sql/schemas/tables/agent_memory_embeddings.json:43"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b00bb6dd2ce07ebe", "name": "Insecure pattern 'weak_hash' in .claude/skills/consultando-sql/schemas/tables/session_turn_embeddings.json:56", "shortDescription": {"text": "Insecure pattern 'weak_hash' in .claude/skills/consultando-sql/schemas/tables/session_turn_embeddings.json:56"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-acb643026a28e808", "name": "Very large file: tests/odoo/services/test_faturamento_pipeline_orchestrator.py (4325 lines)", "shortDescription": {"text": "Very large file: tests/odoo/services/test_faturamento_pipeline_orchestrator.py (4325 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-4d1cb3a4e2cfd58f", "name": "Very large file: tests/odoo/services/test_escrituracao_lf_service_v19.py (1489 lines)", "shortDescription": {"text": "Very large file: tests/odoo/services/test_escrituracao_lf_service_v19.py (1489 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-0d772d958d3c4902", "name": "Very large file: tests/odoo/services/test_stock_picking_service.py (1450 lines)", "shortDescription": {"text": "Very large file: tests/odoo/services/test_stock_picking_service.py (1450 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-6379e061277c6be0", "name": "Very large file: tests/odoo/services/test_stock_internal_transfer_service.py (1550 lines)", "shortDescription": {"text": "Very large file: tests/odoo/services/test_stock_internal_transfer_service.py (1550 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-15ac5cef9588ed40", "name": "Very large file: scripts/auditar_icms_st_receber.py (1743 lines)", "shortDescription": {"text": "Very large file: scripts/auditar_icms_st_receber.py (1743 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-a03be53ef09654a9", "name": "Very large file: scripts/test_sdk_client_migration.py (1383 lines)", "shortDescription": {"text": "Very large file: scripts/test_sdk_client_migration.py (1383 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-3ce9ad262c9e83db", "name": "Very large file: scripts/tests/test_knowledge_graph_stress_api.py (1589 lines)", "shortDescription": {"text": "Very large file: scripts/tests/test_knowledge_graph_stress_api.py (1589 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-47812a2c89321059", "name": "Very large file: scripts/inventario_2026_05/09_executar_onda1_bulk.py (1868 lines)", "shortDescription": {"text": "Very large file: scripts/inventario_2026_05/09_executar_onda1_bulk.py (1868 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-70daebe9088cf601", "name": "Very large file: app/__init__.py (1461 lines)", "shortDescription": {"text": "Very large file: app/__init__.py (1461 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-048bdc73e199866b", "name": "Very large file: app/devolucao/models.py (1951 lines)", "shortDescription": {"text": "Very large file: app/devolucao/models.py (1951 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-ae5f1a890a0bf7a9", "name": "Very large file: app/devolucao/routes/ocorrencia_routes.py (1781 lines)", "shortDescription": {"text": "Very large file: app/devolucao/routes/ocorrencia_routes.py (1781 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-112fa22f0a7675d2", "name": "Very large file: app/devolucao/services/nfd_service.py (1589 lines)", "shortDescription": {"text": "Very large file: app/devolucao/services/nfd_service.py (1589 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-6f7bfb287ac126ed", "name": "Very large file: app/devolucao/services/ai_resolver_service.py (2584 lines)", "shortDescription": {"text": "Very large file: app/devolucao/services/ai_resolver_service.py (2584 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-693cb3a5af4c9a12", "name": "Very large file: app/odoo/estoque/orchestrators/inventario_pipeline.py (6261 lines)", "shortDescription": {"text": "Very large file: app/odoo/estoque/orchestrators/inventario_pipeline.py (6261 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-fea74a5ab3bd8f0f", "name": "Very large file: app/odoo/estoque/scripts/transfer.py (1926 lines)", "shortDescription": {"text": "Very large file: app/odoo/estoque/scripts/transfer.py (1926 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-32db2630a2bf301c", "name": "Very large file: app/odoo/estoque/scripts/escrituracao.py (2402 lines)", "shortDescription": {"text": "Very large file: app/odoo/estoque/scripts/escrituracao.py (2402 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-a55b309df0fde229", "name": "Very large file: app/odoo/estoque/scripts/faturamento.py (1345 lines)", "shortDescription": {"text": "Very large file: app/odoo/estoque/scripts/faturamento.py (1345 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-a73ea41dd89588b5", "name": "Very large file: app/odoo/estoque/scripts/picking.py (1876 lines)", "shortDescription": {"text": "Very large file: app/odoo/estoque/scripts/picking.py (1876 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-1e5c2a45d83255a8", "name": "Very large file: app/odoo/estoque/scripts/mo.py (1307 lines)", "shortDescription": {"text": "Very large file: app/odoo/estoque/scripts/mo.py (1307 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-9abbe18966f8eb2a", "name": "Very large file: app/odoo/services/carteira_service.py (3117 lines)", "shortDescription": {"text": "Very large file: app/odoo/services/carteira_service.py (3117 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-b3b11ef5a4c003e7", "name": "Very large file: app/odoo/services/pedido_compras_service.py (1363 lines)", "shortDescription": {"text": "Very large file: app/odoo/services/pedido_compras_service.py (1363 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-4037f00b7c506878", "name": "Very large file: app/odoo/services/importacao_fallback_service.py (1570 lines)", "shortDescription": {"text": "Very large file: app/odoo/services/importacao_fallback_service.py (1570 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-4eb0fb62123a01c1", "name": "Very large file: app/odoo/services/faturamento_service.py (1912 lines)", "shortDescription": {"text": "Very large file: app/odoo/services/faturamento_service.py (1912 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-79aee997a7a152df", "name": "Very large file: app/odoo/services/inventario_pipeline_service.py (1346 lines)", "shortDescription": {"text": "Very large file: app/odoo/services/inventario_pipeline_service.py (1346 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-c02d567a49fe1ecd", "name": "Very large file: app/producao/routes.py (1265 lines)", "shortDescription": {"text": "Very large file: app/producao/routes.py (1265 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-c4809a6879ee850a", "name": "Very large file: app/static/js/programacao-lote.js (1609 lines)", "shortDescription": {"text": "Very large file: app/static/js/programacao-lote.js (1609 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-d7905eaf663c7186", "name": "Very large file: app/static/js/carteira-simples.js (4044 lines)", "shortDescription": {"text": "Very large file: app/static/js/carteira-simples.js (4044 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-f4af93ae32467d0a", "name": "Very large file: app/static/js/devolucao/ocorrencia-detalhe.js (2126 lines)", "shortDescription": {"text": "Very large file: app/static/js/devolucao/ocorrencia-detalhe.js (2126 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-a21a28ac31859734", "name": "Very large file: app/static/chat/js/chat_ui.js (1172 lines)", "shortDescription": {"text": "Very large file: app/static/chat/js/chat_ui.js (1172 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-4ddf3b1e94f52198", "name": "Very large file: app/static/agente/js/chat.js (6558 lines)", "shortDescription": {"text": "Very large file: app/static/agente/js/chat.js (6558 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-50f19ef936c26750", "name": "Very large file: app/static/manufatura/necessidade_producao/js/necessidade-producao.js (1708 lines)", "shortDescription": {"text": "Very large file: app/static/manufatura/necessidade_producao/js/necessidade-producao.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-90b33b7ad53ac90a", "name": "Very large file: app/carvia/routes/api_routes.py (1713 lines)", "shortDescription": {"text": "Very large file: app/carvia/routes/api_routes.py (1713 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-f465092675a7acea", "name": "Very large file: app/carvia/routes/frete_routes.py (1390 lines)", "shortDescription": {"text": "Very large file: app/carvia/routes/frete_routes.py (1390 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-2a54a06656e751a9", "name": "Very large file: app/carvia/routes/nf_routes.py (1269 lines)", "shortDescription": {"text": "Very large file: app/carvia/routes/nf_routes.py (1269 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-7e79a871b3f9b300", "name": "Very large file: app/carvia/routes/custo_entrega_routes.py (2255 lines)", "shortDescription": {"text": "Very large file: app/carvia/routes/custo_entrega_routes.py (2255 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-bd36021d0cf3a621", "name": "Very large file: app/carvia/routes/conciliacao_routes.py (1875 lines)", "shortDescription": {"text": "Very large file: app/carvia/routes/conciliacao_routes.py (1875 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-5caa694401484be7", "name": "Very large file: app/carvia/routes/fatura_routes.py (3163 lines)", "shortDescription": {"text": "Very large file: app/carvia/routes/fatura_routes.py (3163 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-af1f781d3174349c", "name": "Very large file: app/carvia/routes/exportacao_routes.py (1844 lines)", "shortDescription": {"text": "Very large file: app/carvia/routes/exportacao_routes.py (1844 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-63a17db4bd2b3348", "name": "Very large file: app/carvia/routes/cotacao_v2_routes.py (3763 lines)", "shortDescription": {"text": "Very large file: app/carvia/routes/cotacao_v2_routes.py (3763 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-a3dc0d135a6e7249", "name": "Very large file: app/carvia/routes/operacao_routes.py (1598 lines)", "shortDescription": {"text": "Very large file: app/carvia/routes/operacao_routes.py (1598 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-08f1c3225a2e2dcc", "name": "Very large file: app/carvia/services/parsers/danfe_pdf_parser.py (2329 lines)", "shortDescription": {"text": "Very large file: app/carvia/services/parsers/danfe_pdf_parser.py (2329 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-e381e9e8740ae835", "name": "Very large file: app/carvia/services/parsers/importacao_service.py (2382 lines)", "shortDescription": {"text": "Very large file: app/carvia/services/parsers/importacao_service.py (2382 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-7c5a89c30063f7d2", "name": "Very large file: app/carvia/services/parsers/fatura_pdf_parser.py (1429 lines)", "shortDescription": {"text": "Very large file: app/carvia/services/parsers/fatura_pdf_parser.py (1429 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-3bccb388a870d987", "name": "Very large file: app/carvia/services/parsers/dacte_pdf_parser.py (1948 lines)", "shortDescription": {"text": "Very large file: app/carvia/services/parsers/dacte_pdf_parser.py (1948 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-5984eb14fd114389", "name": "Very large file: app/carvia/services/documentos/embarque_carvia_service.py (2162 lines)", "shortDescription": {"text": "Very large file: app/carvia/services/documentos/embarque_carvia_service.py (2162 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-5724ae7910c78689", "name": "Very large file: app/carvia/services/documentos/linking_service.py (1565 lines)", "shortDescription": {"text": "Very large file: app/carvia/services/documentos/linking_service.py (1565 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-95266d9ad86ffd75", "name": "Very large file: app/carvia/services/financeiro/carvia_conciliacao_service.py (1393 lines)", "shortDescription": {"text": "Very large file: app/carvia/services/financeiro/carvia_conciliacao_service.py (1393 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-40a70011d06ed469", "name": "Very large file: app/teams/services.py (2669 lines)", "shortDescription": {"text": "Very large file: app/teams/services.py (2669 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-af9d01be02e34758", "name": "Very large file: app/tabelas/routes.py (1321 lines)", "shortDescription": {"text": "Very large file: app/tabelas/routes.py (1321 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-63e05c206228b416", "name": "Very large file: app/templates/carvia/js/cotacoes/detalhe.js (1104 lines)", "shortDescription": {"text": "Very large file: app/templates/carvia/js/cotacoes/detalhe.js (1104 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-461799a40b09e36d", "name": "Very large file: app/templates/carvia/js/cotacoes/criar.js (1074 lines)", "shortDescription": {"text": "Very large file: app/templates/carvia/js/cotacoes/criar.js (1074 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-12b20af5e0bd5f04", "name": "Very large file: app/templates/carteira/js/workspace-montagem.js (1796 lines)", "shortDescription": {"text": "Very large file: app/templates/carteira/js/workspace-montagem.js (1796 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-93c8641cf7090e9c", "name": "Very large file: app/templates/carteira/js/carteira-agrupada.js (2397 lines)", "shortDescription": {"text": "Very large file: app/templates/carteira/js/carteira-agrupada.js (2397 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-388199203f6e9a3d", "name": "Very large file: app/hora/routes/tagplus_routes.py (2418 lines)", "shortDescription": {"text": "Very large file: app/hora/routes/tagplus_routes.py (2418 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-cc77d767ec92a5e4", "name": "Very large file: app/hora/routes/pedidos.py (1480 lines)", "shortDescription": {"text": "Very large file: app/hora/routes/pedidos.py (1480 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-432e6f212f20adac", "name": "Very large file: app/hora/routes/vendas.py (1363 lines)", "shortDescription": {"text": "Very large file: app/hora/routes/vendas.py (1363 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-f322a15f4069ff4a", "name": "Very large file: app/hora/services/estoque_service.py (1428 lines)", "shortDescription": {"text": "Very large file: app/hora/services/estoque_service.py (1428 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-0f2d6bbd84f9d62e", "name": "Very large file: app/hora/services/venda_service.py (2779 lines)", "shortDescription": {"text": "Very large file: app/hora/services/venda_service.py (2779 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-c871db85f11423fa", "name": "Very large file: app/hora/services/recebimento_service.py (1897 lines)", "shortDescription": {"text": "Very large file: app/hora/services/recebimento_service.py (1897 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-e4527bab1d9b8103", "name": "Very large file: app/hora/services/tagplus/backfill_service.py (2695 lines)", "shortDescription": {"text": "Very large file: app/hora/services/tagplus/backfill_service.py (2695 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-ca8bfd3e77198b47", "name": "Very large file: app/agente/models.py (2494 lines)", "shortDescription": {"text": "Very large file: app/agente/models.py (2494 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-e8c7a2f55732fab1", "name": "Very large file: app/agente/config/feature_flags.py (1279 lines)", "shortDescription": {"text": "Very large file: app/agente/config/feature_flags.py (1279 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-7ce04458cca16ba4", "name": "Very large file: app/agente/config/permissions.py (1129 lines)", "shortDescription": {"text": "Very large file: app/agente/config/permissions.py (1129 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-a6204968b41122c8", "name": "Very large file: app/agente/routes/chat.py (2582 lines)", "shortDescription": {"text": "Very large file: app/agente/routes/chat.py (2582 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-b743acd76bda6f0d", "name": "Very large file: app/agente/services/pattern_analyzer.py (2786 lines)", "shortDescription": {"text": "Very large file: app/agente/services/pattern_analyzer.py (2786 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-d8ce7a6dde4c31b4", "name": "Very large file: app/agente/services/insights_service.py (1989 lines)", "shortDescription": {"text": "Very large file: app/agente/services/insights_service.py (1989 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-0836fb4775c3c45c", "name": "Very large file: app/agente/tools/session_search_tool.py (1230 lines)", "shortDescription": {"text": "Very large file: app/agente/tools/session_search_tool.py (1230 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-55e72474514e71e9", "name": "Very large file: app/agente/tools/playwright_mcp_tool.py (1720 lines)", "shortDescription": {"text": "Very large file: app/agente/tools/playwright_mcp_tool.py (1720 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-a799832bbb51e000", "name": "Very large file: app/agente/tools/memory_mcp_tool.py (3801 lines)", "shortDescription": {"text": "Very large file: app/agente/tools/memory_mcp_tool.py (3801 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-b5accf720b8b83ff", "name": "Very large file: app/agente/sdk/memory_injection.py (1987 lines)", "shortDescription": {"text": "Very large file: app/agente/sdk/memory_injection.py (1987 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-ef7eb7ec807618b7", "name": "Very large file: app/agente/sdk/client.py (2993 lines)", "shortDescription": {"text": "Very large file: app/agente/sdk/client.py (2993 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-ea381f554701162c", "name": "Very large file: app/agente/sdk/hooks.py (1681 lines)", "shortDescription": {"text": "Very large file: app/agente/sdk/hooks.py (1681 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-e75caf5716c43890", "name": "Very large file: app/relatorios_fiscais/services/sped_ecd_data.py (1540 lines)", "shortDescription": {"text": "Very large file: app/relatorios_fiscais/services/sped_ecd_data.py (1540 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-3624d008e80236a7", "name": "Very large file: app/relatorios_fiscais/services/sped_ecd_blocks.py (1544 lines)", "shortDescription": {"text": "Very large file: app/relatorios_fiscais/services/sped_ecd_blocks.py (1544 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-64a0c2079a3950f8", "name": "Very large file: app/embeddings/service.py (1852 lines)", "shortDescription": {"text": "Very large file: app/embeddings/service.py (1852 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-22b6c29bc8e6af93", "name": "Very large file: app/financeiro/models.py (2899 lines)", "shortDescription": {"text": "Very large file: app/financeiro/models.py (2899 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-12a6725b433644d2", "name": "Very large file: app/financeiro/routes/extrato.py (1887 lines)", "shortDescription": {"text": "Very large file: app/financeiro/routes/extrato.py (1887 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-5d612deca04e57cc", "name": "Very large file: app/financeiro/services/cnab400_processor_service.py (1468 lines)", "shortDescription": {"text": "Very large file: app/financeiro/services/cnab400_processor_service.py (1468 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-453edd81002ecc56", "name": "Very large file: app/financeiro/services/extrato_conciliacao_service.py (3343 lines)", "shortDescription": {"text": "Very large file: app/financeiro/services/extrato_conciliacao_service.py (3343 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-356139ebff5e66a5", "name": "Very large file: app/financeiro/services/comprovante_lancamento_service.py (1172 lines)", "shortDescription": {"text": "Very large file: app/financeiro/services/comprovante_lancamento_service.py (1172 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-e52c08be1fef2889", "name": "Very large file: app/financeiro/services/extrato_matching_service.py (1256 lines)", "shortDescription": {"text": "Very large file: app/financeiro/services/extrato_matching_service.py (1256 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-c4b0af00460cf33c", "name": "Very large file: app/financeiro/services/baixa_titulos_service.py (2167 lines)", "shortDescription": {"text": "Very large file: app/financeiro/services/baixa_titulos_service.py (2167 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-14b3ba6c2b8df7c2", "name": "Very large file: app/financeiro/services/comprovante_match_service.py (1858 lines)", "shortDescription": {"text": "Very large file: app/financeiro/services/comprovante_match_service.py (1858 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-fb443a9a46bf122e", "name": "Very large file: app/comercial/routes/diretoria.py (1333 lines)", "shortDescription": {"text": "Very large file: app/comercial/routes/diretoria.py (1333 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-5c339f1d58e200b8", "name": "Very large file: app/fretes/routes.py (7425 lines)", "shortDescription": {"text": "Very large file: app/fretes/routes.py (7425 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-f1daa95199623e05", "name": "Very large file: app/fretes/models.py (1255 lines)", "shortDescription": {"text": "Very large file: app/fretes/models.py (1255 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-16b46cb78067d3a4", "name": "Very large file: app/fretes/services/lancamento_odoo_service.py (2240 lines)", "shortDescription": {"text": "Very large file: app/fretes/services/lancamento_odoo_service.py (2240 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-7c480a3383c84373", "name": "Very large file: app/fretes/services/relatorio_analise_fretes_service.py (1711 lines)", "shortDescription": {"text": "Very large file: app/fretes/services/relatorio_analise_fretes_service.py (1711 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-a1a8b88422aac7ee", "name": "Very large file: app/fretes/services/lancamento_despesa_odoo_service.py (1505 lines)", "shortDescription": {"text": "Very large file: app/fretes/services/lancamento_despesa_odoo_service.py (1505 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-47e14b0bacc4273f", "name": "Very large file: app/carteira/routes/programacao_em_lote/routes.py (2070 lines)", "shortDescription": {"text": "Very large file: app/carteira/routes/programacao_em_lote/routes.py (2070 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-a6ae4634dcaa2ac8", "name": "Very large file: app/carteira/services/mapa_service.py (1346 lines)", "shortDescription": {"text": "Very large file: app/carteira/services/mapa_service.py (1346 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-d8fa814160ffa80b", "name": "Very large file: app/pallet/services/sync_odoo_service.py (1128 lines)", "shortDescription": {"text": "Very large file: app/pallet/services/sync_odoo_service.py (1128 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-91163126d8de60ac", "name": "Very large file: app/pallet/services/match_service.py (1609 lines)", "shortDescription": {"text": "Very large file: app/pallet/services/match_service.py (1609 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-c3c3eebb3fc99cce", "name": "Very large file: app/estoque/routes.py (2229 lines)", "shortDescription": {"text": "Very large file: app/estoque/routes.py (2229 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-94aa539207250530", "name": "Very large file: app/portal/routes.py (1209 lines)", "shortDescription": {"text": "Very large file: app/portal/routes.py (1209 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-e9d758154efd3f05", "name": "Very large file: app/portal/atacadao/playwright_client.py (1955 lines)", "shortDescription": {"text": "Very large file: app/portal/atacadao/playwright_client.py (1955 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-8ed3e94fe8ff977a", "name": "Very large file: app/pedidos/leitura/routes.py (2607 lines)", "shortDescription": {"text": "Very large file: app/pedidos/leitura/routes.py (2607 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-b9f791fae5a4b7ec", "name": "Very large file: app/pedidos/services/lista_service.py (1281 lines)", "shortDescription": {"text": "Very large file: app/pedidos/services/lista_service.py (1281 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-1f5062e992bbab96", "name": "Very large file: app/rastreamento/routes.py (1633 lines)", "shortDescription": {"text": "Very large file: app/rastreamento/routes.py (1633 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-9c29d6434b664e07", "name": "Very large file: app/cotacao/routes.py (4293 lines)", "shortDescription": {"text": "Very large file: app/cotacao/routes.py (4293 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-3083850c199aed5f", "name": "Very large file: app/motos_assai/services/separacao_service.py (2228 lines)", "shortDescription": {"text": "Very large file: app/motos_assai/services/separacao_service.py (2228 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-98338b2b9be35b5e", "name": "Very large file: app/recebimento/models.py (1936 lines)", "shortDescription": {"text": "Very large file: app/recebimento/models.py (1936 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-3309396f131645e6", "name": "Very large file: app/recebimento/routes/validacao_fiscal_routes.py (1341 lines)", "shortDescription": {"text": "Very large file: app/recebimento/routes/validacao_fiscal_routes.py (1341 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-cbaac77eeb18482a", "name": "Very large file: app/recebimento/routes/validacao_nf_po_routes.py (1700 lines)", "shortDescription": {"text": "Very large file: app/recebimento/routes/validacao_nf_po_routes.py (1700 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-8a62806663b02c8f", "name": "Very large file: app/recebimento/routes/views.py (2436 lines)", "shortDescription": {"text": "Very large file: app/recebimento/routes/views.py (2436 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-34e660129e473046", "name": "Very large file: app/recebimento/services/validacao_nf_po_service.py (2670 lines)", "shortDescription": {"text": "Very large file: app/recebimento/services/validacao_nf_po_service.py (2670 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-049a5d14d8172ed8", "name": "Very large file: app/recebimento/services/odoo_po_service.py (2461 lines)", "shortDescription": {"text": "Very large file: app/recebimento/services/odoo_po_service.py (2461 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-bb01589ce373c1b7", "name": "Very large file: app/recebimento/services/validacao_fiscal_service.py (1885 lines)", "shortDescription": {"text": "Very large file: app/recebimento/services/validacao_fiscal_service.py (1885 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-041fa2f461508fab", "name": "Very large file: app/recebimento/services/depara_service.py (1628 lines)", "shortDescription": {"text": "Very large file: app/recebimento/services/depara_service.py (1628 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-616fa5a6058c081f", "name": "Very large file: app/recebimento/services/recebimento_lf_odoo_service.py (4470 lines)", "shortDescription": {"text": "Very large file: app/recebimento/services/recebimento_lf_odoo_service.py (4470 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-7eb2a42a05e45f16", "name": "Very large file: app/manufatura/services/projecao_estoque_service.py (1762 lines)", "shortDescription": {"text": "Very large file: app/manufatura/services/projecao_estoque_service.py (1762 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-6f94f6ba9c18e45e", "name": "Very large file: app/custeio/routes/custeio_routes.py (3666 lines)", "shortDescription": {"text": "Very large file: app/custeio/routes/custeio_routes.py (3666 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-75384393450a81a8", "name": "Very large file: app/custeio/services/custeio_service.py (1295 lines)", "shortDescription": {"text": "Very large file: app/custeio/services/custeio_service.py (1295 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-87907d5b687a7e9e", "name": "Very large file: app/scheduler/sincronizacao_incremental_definitiva.py (2529 lines)", "shortDescription": {"text": "Very large file: app/scheduler/sincronizacao_incremental_definitiva.py (2529 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-6a6789731aa81d32", "name": "Very large file: app/embarques/routes.py (3465 lines)", "shortDescription": {"text": "Very large file: app/embarques/routes.py (3465 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-b6ed5b1c525af7af", "name": "Very large file: app/integracoes/tagplus/oauth_routes.py (1121 lines)", "shortDescription": {"text": "Very large file: app/integracoes/tagplus/oauth_routes.py (1121 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-090c348c366f6b15", "name": "Very large file: app/monitoramento/routes.py (3095 lines)", "shortDescription": {"text": "Very large file: app/monitoramento/routes.py (3095 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-b2ece059e47e3cbe", "name": "Very large file: app/faturamento/routes.py (1494 lines)", "shortDescription": {"text": "Very large file: app/faturamento/routes.py (1494 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-c30cce9f04b074d5", "name": "Very large file: .claude/skills/operando-portal-atacadao/scripts/agendar_lote.py (1495 lines)", "shortDescription": {"text": "Very large file: .claude/skills/operando-portal-atacadao/scripts/agendar_lote.py (1495 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-8dce97f28303f00f", "name": "Very large file: .claude/skills/operando-ssw/scripts/emitir_cte_004.py (1461 lines)", "shortDescription": {"text": "Very large file: .claude/skills/operando-ssw/scripts/emitir_cte_004.py (1461 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-b78fa542dfcfb39d", "name": "Very large file: .claude/skills/rastreando-odoo/scripts/vincular_extrato_fatura_excel.py (1701 lines)", "shortDescription": {"text": "Very large file: .claude/skills/rastreando-odoo/scripts/vincular_extrato_fatura_excel.py (1701 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-92ba63c5e570a71c", "name": "Very large file: .claude/skills/gerindo-agente/scripts/diagnostico.py (1256 lines)", "shortDescription": {"text": "Very large file: .claude/skills/gerindo-agente/scripts/diagnostico.py (1256 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-b0a4f6f0b89c388a", "name": "Very large file: .claude/skills/gerindo-expedicao/scripts/consultando_situacao_pedidos.py (1626 lines)", "shortDescription": {"text": "Very large file: .claude/skills/gerindo-expedicao/scripts/consultando_situacao_pedidos.py (1626 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-576f403530968f01", "name": "Very large file: .claude/skills/gerindo-expedicao/scripts/analisando_carteira_completa.py (1322 lines)", "shortDescription": {"text": "Very large file: .claude/skills/gerindo-expedicao/scripts/analisando_carteira_completa.py (1322 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-dd572a2905e31874", "name": "Very large file: .claude/skills/consultando-sql/scripts/text_to_sql.py (2641 lines)", "shortDescription": {"text": "Very large file: .claude/skills/consultando-sql/scripts/text_to_sql.py (2641 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-2e3d64cbca402d42", "name": "Very large file: .claude/skills/consultando-sql/scripts/generate_schemas.py (1329 lines)", "shortDescription": {"text": "Very large file: .claude/skills/consultando-sql/scripts/generate_schemas.py (1329 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-b542cd3ba9330a9e", "name": "Very large file: azure-functions/frete-bot/bot.py (2106 lines)", "shortDescription": {"text": "Very large file: azure-functions/frete-bot/bot.py (2106 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "505 tests / 2798 src (ratio 0.18)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e674a5db2356bd4b", "name": "207 TODO/FIXME markers", "shortDescription": {"text": "207 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-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 25443 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 226 placeholder/mock markers across 76 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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, ci. 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-2f1aca3b91c624b0", "name": "Agent authority lacks a verifier contract: app/teams/CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: app/teams/CLAUDE.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-d48bc8f334badd2c", "name": "Agent authority lacks a verifier contract: app/agente/services/CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: app/agente/services/CLAUDE.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-aff189cbd31e0a73", "name": "Agent authority lacks a verifier contract: app/relatorios_fiscais/CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: app/relatorios_fiscais/CLAUDE.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-49ef4bd0eb956409", "name": "Agent authority lacks a verifier contract: app/financeiro/CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: app/financeiro/CLAUDE.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-6a1befc125caf61d", "name": "Agent instruction/config may expose a secret: app/whatsapp/CLAUDE.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: app/whatsapp/CLAUDE.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b56e6448466186a1", "name": "Agent authority lacks a verifier contract: app/whatsapp/CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: app/whatsapp/CLAUDE.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-51eb761b8030e2fa", "name": "Agent authority lacks a verifier contract: app/motos_assai/CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: app/motos_assai/CLAUDE.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-2801ae7a834b2ff2", "name": "Agent authority lacks a verifier contract: .claude/DOC-2.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/DOC-2.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-8769bcc771831214", "name": "Agent instruction contains unpinned remote install: .claude/settings.json", "shortDescription": {"text": "Agent instruction contains unpinned remote install: .claude/settings.json"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0f40fde99153e78a", "name": "Agent authority lacks a verifier contract: .claude/DOC-1.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/DOC-1.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-2dcab9dc78bb3031", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-05-05.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-05-05.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-01ea6323e46aafee", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-05-25.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-05-25.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-c3159423e3202481", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-06-01.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-06-01.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-606308090028a894", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-05-18.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-05-18.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-88818af2dbeb1baf", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-05-11.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-05-11.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-7940d11a9dba42ed", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-06-08.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-06-08.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-98a78732ea0baf0f", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-04-20.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-04-20.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-b960ea897fd80f10", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-04-13.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-04-13.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-c92c530d27e64f33", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-04-27.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-04-27.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-f06355d938b159d9", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-06-15.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-06-15.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-0a79b77f0bfb0ba0", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-04-06.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-04-06.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-7ea6f03229ca6532", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-05-11-1.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-05-11-1.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-b2e938ad201c7a4b", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-04-27-1.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-04-27-1.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-eddf375d578216f6", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-06-15-1.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-06-15-1.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-6211d45c05381e85", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/historico.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/historico.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-092b433bc1365eb2", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-06-01-1.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-06-01-1.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-f1ab52b273ac03dc", "name": "Agent instruction/config may expose a secret: .claude/atualizacoes/sentry/atualizacao-2026-05-05-1.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/sentry/atualizacao-2026-05-05-1.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7e60c4471737c236", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-05-05-1.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-05-05-1.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-355adb90779e8d3c", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/references/atualizacao-2026-04-27-1.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/references/atualizacao-2026-04-27-1.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-2e6dd1dd1c772c6c", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/references/README.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/references/README.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-460f0e7ef0297477", "name": "Agent instruction/config may expose a secret: .claude/atualizacoes/dominios/dominio-8-improvement-dialogue.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/dominios/dominio-8-improvement-dialogue.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d00d12728a0b1145", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-8-improvement-dialogue.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-8-improvement-dialogue.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-1ee036d6e778e8f5", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-1-claude-md.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-1-claude-md.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-104337b4aedd4339", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-3-memorias.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-3-memorias.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-709acd0c069a4719", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-7-agent-report.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-7-agent-report.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-e17e46845f24d8ad", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-2-references.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-2-references.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-f642dc038c0d8321", "name": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-25.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-25.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0979d905654ad59a", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-21.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-21.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-db8b16005af67723", "name": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-19.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-19.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1384a54b951d3cb9", "name": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-06-14.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-06-14.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-32fac5b0ad429e83", "name": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-06.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-06.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fbd247e61db88493", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-06-13.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-06-13.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-e934c5bdb85a42c7", "name": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-17.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-17.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-53c2d62476fdceab", "name": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-05.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-05.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ea58746ecca2fb2", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-05.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-05.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-604abc63a19d6566", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-06-09.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-06-09.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-215c2c46b8e5f28f", "name": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-18.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-18.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4337db61f5cb0704", "name": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-08.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-08.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-63569bad6e01e781", "name": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-24.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-24.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e603dcfd9c989106", "name": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-26.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-26.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e5a71c8e552c876c", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-04-30.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-04-30.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-e9df1ac7a319f5e4", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-06-12.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-06-12.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-40c6da495b1c1720", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-11.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-11.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-4531b56561f79eda", "name": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-04-23.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-04-23.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e2d706606f2027e3", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-13.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-13.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-8bddfa51a992af2f", "name": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-28.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-28.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b07f76948ef9dee4", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-04-27.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-04-27.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-605b699994c5f63f", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/README.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/README.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-92cdb9f8a6cc618d", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/atualizacao-2026-06-08-1.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/atualizacao-2026-06-08-1.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-0e0e7c3e51860313", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/atualizacao-2026-06-15-1.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/atualizacao-2026-06-15-1.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-ce3b4ac69554dee6", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/atualizacao-2026-05-18-1.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/atualizacao-2026-05-18-1.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-2ba339e45c510009", "name": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/atualizacao-2026-06-01-1.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/atualizacao-2026-06-01-1.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-0695bcfcbcf21866", "name": "Agent authority lacks a verifier contract: .claude/commands/analise-carteira.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/analise-carteira.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-ba9e25759580e4d9", "name": "Agent authority lacks a verifier contract: .claude/commands/fp-lojas-motochefe.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fp-lojas-motochefe.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-2006c4d03cae721a", "name": "Agent authority lacks a verifier contract: .claude/commands/verificar-disponibilidade.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/verificar-disponibilidade.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-1da7722195727410", "name": "Agent authority lacks a verifier contract: .claude/commands/consultar-estoque.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/consultar-estoque.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-185c4be223aeaf1d", "name": "Agent authority lacks a verifier contract: .claude/commands/criar-separacao.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/criar-separacao.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-a016d4d8ab121eeb", "name": "Agent authority lacks a verifier contract: .claude/_deprecated/AUDITORIA_SKILLS_ONDA_D_DRIFT_MAP.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/AUDITORIA_SKILLS_ONDA_D_DRIFT_MAP.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-45055f679857fb75", "name": "Agent authority lacks a verifier contract: .claude/_deprecated/tests/bateria_testes.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/tests/bateria_testes.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-11395d7f78950808", "name": "Agent authority lacks a verifier contract: .claude/_deprecated/tests/resultados_depois.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/tests/resultados_depois.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-3d36e4853e548aef", "name": "Agent authority lacks a verifier contract: .claude/_deprecated/tests/resultados_antes.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/tests/resultados_antes.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-bcbfcbd57e42ebf1", "name": "Agent authority lacks a verifier contract: .claude/_deprecated/ralph-loop/IMPLEMENTATION_PLAN.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/ralph-loop/IMPLEMENTATION_PLAN.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-2dada3615632a317", "name": "Agent authority lacks a verifier contract: .claude/_deprecated/ralph-loop/planos-implementados/plano-1-2025-01-25/prd-re", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/ralph-loop/planos-implementados/plano-1-2025-01-25/prd-revisao-modulo-pallets-2.2-3.2.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-3e11058c4af8be91", "name": "Agent authority lacks a verifier contract: .claude/_deprecated/ralph-loop/planos-implementados/plano-1-2025-01-25/2025-0", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/ralph-loop/planos-implementados/plano-1-2025-01-25/2025-01-25_memoria-persistente-agent-sdk.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-5325f023e3e42900", "name": "Agent authority lacks a verifier contract: .claude/_deprecated/ralph-loop/specs/correcoes-recebimento-cnpj-empresa-produ", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/ralph-loop/specs/correcoes-recebimento-cnpj-empresa-produto.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-7e94cb06e982ca59", "name": "Agent instruction/config may expose a secret: .claude/references/ROADMAP_SDK_CLIENT.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/references/ROADMAP_SDK_CLIENT.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-52680cff84190073", "name": "Agent instruction/config may expose a secret: .claude/references/SUBAGENT_RELIABILITY.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/references/SUBAGENT_RELIABILITY.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b0453149ae4aa646", "name": "Agent authority lacks a verifier contract: .claude/references/SUBAGENT_RELIABILITY.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/references/SUBAGENT_RELIABILITY.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-f3c4ca6ac2a99844", "name": "Agent authority lacks a verifier contract: .claude/references/S3_STORAGE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/references/S3_STORAGE.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-11bffc1884503f2f", "name": "Agent authority lacks a verifier contract: .claude/references/odoo/GOTCHAS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/references/odoo/GOTCHAS.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-b833001189ed640b", "name": "Agent authority lacks a verifier contract: .claude/references/odoo/AGENT_BOILERPLATE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/references/odoo/AGENT_BOILERPLATE.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-ca60806626cb660b", "name": "Agent authority lacks a verifier contract: .claude/references/odoo/ROUTING_ODOO.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/references/odoo/ROUTING_ODOO.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-ddb340b8ba715d8a", "name": "Agent authority lacks a verifier contract: .claude/references/ssw/INDEX.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/INDEX.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-9fbf61dc141db756", "name": "Agent authority lacks a verifier contract: .claude/references/ssw/fiscal/551-emissao-nfe.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/fiscal/551-emissao-nfe.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-04f2d76e435c96fe", "name": "Agent authority lacks a verifier contract: .claude/references/ssw/pops/POP-A10-implantar-nova-rota.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/pops/POP-A10-implantar-nova-rota.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-2e67bacbe9029bd8", "name": "Agent authority lacks a verifier contract: .claude/references/ssw/pops/POP-B01-cotar-frete.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/pops/POP-B01-cotar-frete.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-6077719eef2c360e", "name": "Agent authority lacks a verifier contract: .claude/references/ssw/pops/POP-G03-custos-frota.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/pops/POP-G03-custos-frota.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-ac30afc62fada6b2", "name": "Agent authority lacks a verifier contract: .claude/references/ssw/pops/POP-C03-emitir-cte-complementar.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/pops/POP-C03-emitir-cte-complementar.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-4a1b14e5db16ff71", "name": "Agent authority lacks a verifier contract: .claude/references/ssw/logistica/741-cadastro-mercadorias.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/logistica/741-cadastro-mercadorias.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-371d7c45d9828a29", "name": "Agent authority lacks a verifier contract: .claude/references/ssw/logistica/702-saida-estoque-nft.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/logistica/702-saida-estoque-nft.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-4015e2c10f3b000d", "name": "Agent authority lacks a verifier contract: .claude/references/linx/INTEGRACOES.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/references/linx/INTEGRACOES.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-d1bb64339478ba5c", "name": "Agent authority lacks a verifier contract: .claude/agents/gestor-devolucoes.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/gestor-devolucoes.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-8f30b0abdcf06d29", "name": "Agent authority lacks a verifier contract: .claude/agents/analista-performance-logistica.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/analista-performance-logistica.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-a3384d8a24fed565", "name": "Agent authority lacks a verifier contract: .claude/agents/auditor-sped-ecd.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/auditor-sped-ecd.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-0aac062b9d582287", "name": "Agent authority lacks a verifier contract: .claude/agents/orientador-loja.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/orientador-loja.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-16dc9ce4b74073a0", "name": "Agent authority lacks a verifier contract: .claude/agents/gestor-estoque-producao.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/gestor-estoque-producao.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-66a20ed93a929174", "name": "Agent authority lacks a verifier contract: .claude/agents/gestor-estoque-odoo.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/gestor-estoque-odoo.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-acabc8bdbab4b3f4", "name": "Agent authority lacks a verifier contract: .claude/agents/controlador-custo-frete.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/controlador-custo-frete.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-1d8a5f4e8caedc40", "name": "Agent authority lacks a verifier contract: .claude/agents/raio-x-pedido.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/raio-x-pedido.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-3ad75259e3768623", "name": "Agent authority lacks a verifier contract: .claude/agents/gestor-motos-assai.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/gestor-motos-assai.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-ced9b43b60e31c45", "name": "Agent authority lacks a verifier contract: .claude/agents/especialista-odoo.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/especialista-odoo.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-fb2437c18e2a528a", "name": "Agent authority lacks a verifier contract: .claude/agents/desenvolvedor-integracao-odoo.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/desenvolvedor-integracao-odoo.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-7a43343aab4b7354", "name": "Agent authority lacks a verifier contract: .claude/agents/gestor-carvia.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/gestor-carvia.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-61aa1c4dde6b1c7a", "name": "Agent authority lacks a verifier contract: .claude/agents/gestor-recebimento.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/gestor-recebimento.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-7a9733d6314ea6e8", "name": "Agent authority lacks a verifier contract: .claude/agents/gestor-ssw.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/gestor-ssw.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-596f80f30ef2c17c", "name": "Agent authority lacks a verifier contract: .claude/agents/analista-carteira.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agents/analista-carteira.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-ef9c10634ff3b088", "name": "Agent authority lacks a verifier contract: .claude/evals/subagents/run_eval.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/evals/subagents/run_eval.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-3a1d85a219de622b", "name": "Agent authority lacks a verifier contract: .claude/evals/subagents/gestor-motos-assai/dataset.yaml", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/evals/subagents/gestor-motos-assai/dataset.yaml"}, "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-539f42a4d7eb07d9", "name": "Agent authority lacks a verifier contract: .claude/skills/operando-portal-atacadao/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-portal-atacadao/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-947869cdb4f76d55", "name": "Agent authority lacks a verifier contract: .claude/skills/operando-portal-atacadao/references/SCRIPTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-portal-atacadao/references/SCRIPTS.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-dcba32d3d7538b36", "name": "Agent authority lacks a verifier contract: .claude/skills/operando-portal-atacadao/evals/trigger_eval_set.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-portal-atacadao/evals/trigger_eval_set.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e1576988860f58b8", "name": "Agent authority lacks a verifier contract: .claude/skills/consultando-estoque-assai/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-estoque-assai/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-3a33ba69002909e0", "name": "Agent authority lacks a verifier contract: .claude/skills/conferindo-recebimento/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/conferindo-recebimento/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-7e415a094fd640d3", "name": "Agent authority lacks a verifier contract: .claude/skills/auditando-cadastro-fiscal-odoo/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/auditando-cadastro-fiscal-odoo/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-ec109b3d55bf9b01", "name": "Agent authority lacks a verifier contract: .claude/skills/consultando-sentry/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-sentry/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-e9491e0d4cc91093", "name": "Agent authority lacks a verifier contract: .claude/skills/descobrindo-odoo-estrutura/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/descobrindo-odoo-estrutura/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-3e24011fd2c4d267", "name": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/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-6511ef3aeed0a94c", "name": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/SCRIPTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/SCRIPTS.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-9c455692c6cfc7ef", "name": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/references/COMISSOES.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/references/COMISSOES.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-024c13a8d354649e", "name": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/references/CADASTROS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/references/CADASTROS.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-f317f419e4f9ef08", "name": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/references/CTE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/references/CTE.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-8bc037b02dafaf48", "name": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/references/COTACAO.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/references/COTACAO.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-7c3edffede9b07d8", "name": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/evals/evals.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/evals/evals.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7b3b77be2509d86b", "name": "Agent authority lacks a verifier contract: .claude/skills/operando-reservas-odoo/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-reservas-odoo/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-8e7d1f28c68e18b7", "name": "Agent authority lacks a verifier contract: .claude/skills/ajustando-quant-odoo/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/ajustando-quant-odoo/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-02442e460cdcf429", "name": "Agent authority lacks a verifier contract: .claude/skills/conciliando-transferencias-internas/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/conciliando-transferencias-internas/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-c9b4d1445d3b470c", "name": "Agent authority lacks a verifier contract: .claude/skills/exportando-arquivos/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/exportando-arquivos/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-dad93b2ae3306047", "name": "Agent authority lacks a verifier contract: .claude/skills/exportando-arquivos/SCRIPTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/exportando-arquivos/SCRIPTS.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-183e81082879539b", "name": "Agent authority lacks a verifier contract: .claude/skills/rastreando-odoo/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/rastreando-odoo/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-1855d558ad5504d3", "name": "Agent authority lacks a verifier contract: .claude/skills/rastreando-odoo/SCRIPTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/rastreando-odoo/SCRIPTS.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-4e00afacf92e07de", "name": "Agent authority lacks a verifier contract: .claude/skills/gerindo-carvia/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/gerindo-carvia/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-2f66ea845eb6831c", "name": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/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-6fd7c4939f308546", "name": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/references/criacao-po.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/references/criacao-po.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-d24604ae3699b74c", "name": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/references/erros-comuns.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/references/erros-comuns.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-c218c3b8095c17df", "name": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/evals/evals.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/evals/evals.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7f59a4b46ccc5c41", "name": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/evals/trigger_eval_set.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/evals/trigger_eval_set.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de2c71503078ed2e", "name": "Agent authority lacks a verifier contract: .claude/skills/consultando-quant-odoo/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-quant-odoo/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-1f6c5ee962ee0b8c", "name": "Agent authority lacks a verifier contract: .claude/skills/lendo-arquivos/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/lendo-arquivos/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-268601e0b68583b2", "name": "Agent authority lacks a verifier contract: .claude/skills/lendo-arquivos/SCRIPTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/lendo-arquivos/SCRIPTS.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-d6c67b8c192b3b5c", "name": "Agent authority lacks a verifier contract: .claude/skills/validacao-nf-po/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/validacao-nf-po/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-2f44bb57373348a4", "name": "Agent authority lacks a verifier contract: .claude/skills/padronizando-docs/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/padronizando-docs/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-afb4a58900720547", "name": "Agent authority lacks a verifier contract: .claude/skills/diagnosticando-banco/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/diagnosticando-banco/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-45d0d29abb0797c1", "name": "Agent authority lacks a verifier contract: .claude/skills/diagnosticando-banco/SCRIPTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/diagnosticando-banco/SCRIPTS.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-e7e090395ce67a2c", "name": "Agent authority lacks a verifier contract: .claude/skills/gerando-baseline-conciliacao/references/SQL_ODOO.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/gerando-baseline-conciliacao/references/SQL_ODOO.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-120971c988806370", "name": "Agent authority lacks a verifier contract: .claude/skills/acessando-ssw/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/acessando-ssw/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-7cc8303a74e5f8bf", "name": "Agent authority lacks a verifier contract: .claude/skills/acessando-ssw/SCRIPTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/acessando-ssw/SCRIPTS.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-f3cd201859a892a3", "name": "Agent authority lacks a verifier contract: .claude/skills/parseando-sped-ecd/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/parseando-sped-ecd/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-a7db2f3ef51315f7", "name": "Agent authority lacks a verifier contract: .claude/skills/auditando-sped-contabil/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/auditando-sped-contabil/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-535a618297660505", "name": "Agent authority lacks a verifier contract: .claude/skills/resolvendo-entidades/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/resolvendo-entidades/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-5349770374d13816", "name": "Agent authority lacks a verifier contract: .claude/skills/monitorando-entregas/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/monitorando-entregas/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-9b01d45e024e8588", "name": "Agent authority lacks a verifier contract: .claude/skills/monitorando-entregas/SCRIPTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/monitorando-entregas/SCRIPTS.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-317147575e269f49", "name": "Agent authority lacks a verifier contract: .claude/skills/gerindo-expedicao/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/gerindo-expedicao/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-37897c598bdafa59", "name": "Agent authority lacks a verifier contract: .claude/skills/gerindo-expedicao/SCRIPTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/gerindo-expedicao/SCRIPTS.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-9b2b068fdbbf95c6", "name": "Agent authority lacks a verifier contract: .claude/skills/gerindo-expedicao/references/examples.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/gerindo-expedicao/references/examples.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-51f3036f9c54cca7", "name": "Agent authority lacks a verifier contract: .claude/skills/rastreando-chassi/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/rastreando-chassi/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-abcca85ddc2fdec6", "name": "Agent authority lacks a verifier contract: .claude/skills/consultando-estoque-loja/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-estoque-loja/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-1a39519995af8c62", "name": "Agent authority lacks a verifier contract: .claude/skills/registrando-evento-moto-assai/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/registrando-evento-moto-assai/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-575159eef157cc15", "name": "Agent authority lacks a verifier contract: .claude/skills/razao-geral-odoo/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/razao-geral-odoo/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-bf8fef1a0372d13f", "name": "Agent authority lacks a verifier contract: .claude/skills/acompanhando-pedido-compra-assai/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/acompanhando-pedido-compra-assai/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-297a655374be85da", "name": "Agent authority lacks a verifier contract: .claude/skills/consultando-sql/schemas/catalog.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-sql/schemas/catalog.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-59be27255580baa6", "name": "Agent authority lacks a verifier contract: .claude/skills/consultando-sql/schemas/tables/agent_sessions.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-sql/schemas/tables/agent_sessions.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-04cdb12dadd00531", "name": "Agent authority lacks a verifier contract: .claude/skills/consultando-sql/schemas/tables/agent_adhoc_script.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-sql/schemas/tables/agent_adhoc_script.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ed47cb4ec6062dec", "name": "Agent authority lacks a verifier contract: .claude/skills/consultando-sql/schemas/tables/claude_session_store.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-sql/schemas/tables/claude_session_store.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c50b208b617a9651", "name": "Agent authority lacks a verifier contract: .claude/skills/visao-produto/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/visao-produto/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-09a846816fee2e44", "name": "Agent authority lacks a verifier contract: .claude/skills/visao-produto/SCRIPTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/visao-produto/SCRIPTS.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-0fd916c217fac293", "name": "Agent authority lacks a verifier contract: .claude/skills/conferindo-recibo-assai/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/conferindo-recibo-assai/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-27ad65e279d08b79", "name": "Agent authority lacks a verifier contract: .claude/skills/acompanhando-saida-assai/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/acompanhando-saida-assai/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-a4dbef0323424079", "name": "Agent authority lacks a verifier contract: .claude/skills/carregando-motos-assai/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/carregando-motos-assai/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-bd76808a3d6da878", "name": "Agent authority lacks a verifier contract: .claude/skills/transferindo-interno-odoo/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/transferindo-interno-odoo/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-728b85abd868a6fc", "name": "Agent authority lacks a verifier contract: .claude/skills/recebimento-fisico-odoo/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/recebimento-fisico-odoo/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-db94d82804b106a4", "name": "Agent authority lacks a verifier contract: .claude/skills/recebimento-fisico-odoo/references/erros-comuns.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/recebimento-fisico-odoo/references/erros-comuns.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-820e82a68cf83fe1", "name": "Agent authority lacks a verifier contract: .claude/skills/recebimento-fisico-odoo/evals/evals.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/recebimento-fisico-odoo/evals/evals.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c148153d89ae94dd", "name": "Agent authority lacks a verifier contract: .claude/skills/cotando-frete/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/cotando-frete/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-fe8de1609475fe57", "name": "Agent authority lacks a verifier contract: .claude/skills/cotando-frete/SCRIPTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/cotando-frete/SCRIPTS.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-af57c89b10ba519f", "name": "Agent authority lacks a verifier contract: .claude/skills/rastreando-chassi-assai/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/rastreando-chassi-assai/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-06386ff9ee5f2e3e", "name": "Agent authority lacks a verifier contract: .claude/skills/comparando-sped-ground-truth/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/comparando-sped-ground-truth/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-a820b5cc68e0894e", "name": "Agent authority lacks a verifier contract: .claude/skills/consultando-venda-loja/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-venda-loja/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-85666b6ec938aa56", "name": "Agent authority lacks a verifier contract: .claude/skills/acompanhando-pedido/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/acompanhando-pedido/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-3da7774a87b9705a", "name": "Agent authority lacks a verifier contract: .claude/skills/consultando-pecas-faltando/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-pecas-faltando/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-8f6c0020bcd7286f", "name": "Agent authority lacks a verifier contract: .claude/skills/auditando-reclassificacao-odoo/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/auditando-reclassificacao-odoo/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-a01a7600a0acbbdd", "name": "Agent authority lacks a verifier contract: .claude/skills/auditando-reclassificacao-odoo/SCRIPTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/auditando-reclassificacao-odoo/SCRIPTS.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-df7398afd73acad0", "name": "Agent authority lacks a verifier contract: .claude/skills/executando-odoo-financeiro/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/executando-odoo-financeiro/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-f9f6dd0704d5ef55", "name": "Agent authority lacks a verifier contract: .claude/skills/executando-odoo-financeiro/references/contas-por-empresa.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/executando-odoo-financeiro/references/contas-por-empresa.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-991cdda48347978a", "name": "Agent authority lacks a verifier contract: .claude/plans/PROMPT_CTE_COMPLEMENTAR_WIRING.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/plans/PROMPT_CTE_COMPLEMENTAR_WIRING.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-2287c890a90f4d3b", "name": "Agent authority lacks a verifier contract: .claude/plans/roadmap-intelligence-improvements.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/plans/roadmap-intelligence-improvements.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-07bced86f26ed079", "name": "Commented-code block (5 lines) in worker_render.py:197", "shortDescription": {"text": "Commented-code block (5 lines) in worker_render.py: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-f9a56cedf7154e11", "name": "Commented-code block (7 lines) in tests/conftest.py:20", "shortDescription": {"text": "Commented-code block (7 lines) in tests/conftest.py:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b2065c4725359c68", "name": "Legacy-named symbol `medir_consumo_mo_legacy` in tests/odoo/services/test_stock_mo_service.py:81", "shortDescription": {"text": "Legacy-named symbol `medir_consumo_mo_legacy` in tests/odoo/services/test_stock_mo_service.py:81"}, "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-de424ea99b7785ca", "name": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in tests/odoo/services/test_faturamento_pipeline_orchestrator.p", "shortDescription": {"text": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in tests/odoo/services/test_faturamento_pipeline_orchestrator.py:951"}, "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-e714b1c411e134ea", "name": "Commented-code block (5 lines) in tests/odoo/services/test_faturamento_pipeline_orchestrator.py:1208", "shortDescription": {"text": "Commented-code block (5 lines) in tests/odoo/services/test_faturamento_pipeline_orchestrator.py:1208"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7968a8fa087dc640", "name": "Legacy-named symbol `soma_old` in tests/odoo/services/test_stock_picking_service.py:360", "shortDescription": {"text": "Legacy-named symbol `soma_old` in tests/odoo/services/test_stock_picking_service.py:360"}, "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-6c58b9f6084e5008", "name": "Commented-code block (8 lines) in tests/odoo/services/test_stock_picking_service.py:985", "shortDescription": {"text": "Commented-code block (8 lines) in tests/odoo/services/test_stock_picking_service.py:985"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d1f440567d0976b2", "name": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in tests/odoo/services/test_pre_etapa_executor_orchestrator.py:", "shortDescription": {"text": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in tests/odoo/services/test_pre_etapa_executor_orchestrator.py:4"}, "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-dac5a1dc93e495d0", "name": "Legacy-named symbol `transferir_entre_lotes_v2` in tests/odoo/services/test_stock_internal_transfer_service.py:532", "shortDescription": {"text": "Legacy-named symbol `transferir_entre_lotes_v2` in tests/odoo/services/test_stock_internal_transfer_service.py:532"}, "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-6ba194a9605f8903", "name": "Commented-code block (6 lines) in tests/odoo/services/test_stock_internal_transfer_service.py:516", "shortDescription": {"text": "Commented-code block (6 lines) in tests/odoo/services/test_stock_internal_transfer_service.py:516"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c67bfa435543773", "name": "Legacy-named symbol `transferir_v2` in tests/odoo/services/test_transferencia_saldo_codigo_service.py:203", "shortDescription": {"text": "Legacy-named symbol `transferir_v2` in tests/odoo/services/test_transferencia_saldo_codigo_service.py:203"}, "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-a0b31b8e860c5b32", "name": "Commented-code block (6 lines) in tests/carvia/test_a1_a2_linking.py:314", "shortDescription": {"text": "Commented-code block (6 lines) in tests/carvia/test_a1_a2_linking.py:314"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-85aa13c3312f84ba", "name": "Commented-code block (5 lines) in tests/carvia/test_peso_frete_carvia.py:124", "shortDescription": {"text": "Commented-code block (5 lines) in tests/carvia/test_peso_frete_carvia.py:124"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4f97b64632e3c289", "name": "Legacy-named symbol `audit_subcontrato_id_deprecated` in tests/carvia/test_f1_f5_r24.py:97", "shortDescription": {"text": "Legacy-named symbol `audit_subcontrato_id_deprecated` in tests/carvia/test_f1_f5_r24.py:97"}, "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-524dbf92a2ca0a7d", "name": "Commented-code block (5 lines) in tests/inventario/test_movimentacoes_drill_down.py:12", "shortDescription": {"text": "Commented-code block (5 lines) in tests/inventario/test_movimentacoes_drill_down.py:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-043e0854520414a4", "name": "Legacy-named symbol `content_v1` in tests/agente/test_memory_provenance.py:161", "shortDescription": {"text": "Legacy-named symbol `content_v1` in tests/agente/test_memory_provenance.py:161"}, "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-6a33809a45ffaae6", "name": "Commented-code block (7 lines) in tests/agente/workers/test_plan_verifier.py:378", "shortDescription": {"text": "Commented-code block (7 lines) in tests/agente/workers/test_plan_verifier.py:378"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9910c55771185ff5", "name": "Legacy-named symbol `merged_v1` in tests/agente/services/test_enrich_merge_versioning.py:163", "shortDescription": {"text": "Legacy-named symbol `merged_v1` in tests/agente/services/test_enrich_merge_versioning.py:163"}, "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-c72814ba2c653530", "name": "Commented-code block (5 lines) in tests/agente/services/test_enrich_merge_versioning.py:162", "shortDescription": {"text": "Commented-code block (5 lines) in tests/agente/services/test_enrich_merge_versioning.py:162"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-631dc8bc53cec0de", "name": "Legacy-named symbol `env_backup` in tests/agente/sdk/test_context_enrichment.py:340", "shortDescription": {"text": "Legacy-named symbol `env_backup` in tests/agente/sdk/test_context_enrichment.py:340"}, "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-c38a6537caf4eac6", "name": "Legacy-named symbol `tabelas_v2` in tests/pallet/test_migracao.py:39", "shortDescription": {"text": "Legacy-named symbol `tabelas_v2` in tests/pallet/test_migracao.py:39"}, "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-10632f1d7dba6e75", "name": "Legacy-named symbol `transferir_v2` in tests/estoque/test_transferencia_estoque_routes.py:141", "shortDescription": {"text": "Legacy-named symbol `transferir_v2` in tests/estoque/test_transferencia_estoque_routes.py:141"}, "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-21080e88fac99251", "name": "Legacy-named symbol `chassi_old` in tests/motos_assai/test_carregamento_finalizar_fase3.py:78", "shortDescription": {"text": "Legacy-named symbol `chassi_old` in tests/motos_assai/test_carregamento_finalizar_fase3.py:78"}, "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-7f1a5f56d2cb8b2e", "name": "Commented-code block (6 lines) in tests/motos_assai/test_carregamento_finalizar_fase3.py:71", "shortDescription": {"text": "Commented-code block (6 lines) in tests/motos_assai/test_carregamento_finalizar_fase3.py:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6ca14e9975ca31ec", "name": "Legacy-named symbol `cce_v2` in tests/motos_assai/test_cce_service.py:353", "shortDescription": {"text": "Legacy-named symbol `cce_v2` in tests/motos_assai/test_cce_service.py:353"}, "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-48c8ef8bf7ea1df9", "name": "Legacy-named symbol `test_a11_sep_criada_via_nf_gera_excel_v1` in tests/motos_assai/test_match_v2_cenarios.py:240", "shortDescription": {"text": "Legacy-named symbol `test_a11_sep_criada_via_nf_gera_excel_v1` in tests/motos_assai/test_match_v2_cenarios.py:240"}, "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-8360448cf8e983c2", "name": "Legacy-named symbol `chassi_old` in tests/motos_assai/test_carregamento_finalizar_fase2.py:142", "shortDescription": {"text": "Legacy-named symbol `chassi_old` in tests/motos_assai/test_carregamento_finalizar_fase2.py:142"}, "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-23209898450097ca", "name": "Commented-code block (6 lines) in tests/motos_assai/test_carregamento_service_crud.py:28", "shortDescription": {"text": "Commented-code block (6 lines) in tests/motos_assai/test_carregamento_service_crud.py:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-89de9e4ee81a10eb", "name": "Legacy-named symbol `investigar_danfe_lote_v2` in scripts/investigar_danfe_lote_v2.py:26", "shortDescription": {"text": "Legacy-named symbol `investigar_danfe_lote_v2` in scripts/investigar_danfe_lote_v2.py:26"}, "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-b9ef678d077c07c6", "name": "Commented-code block (5 lines) in scripts/relatorio_fiscal_ibscbs.py:114", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/relatorio_fiscal_ibscbs.py:114"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6cc78166af867582", "name": "Commented-code block (6 lines) in scripts/backfill_cte_tomador_carvia.py:117", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/backfill_cte_tomador_carvia.py:117"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1cbb20e74dc1eb0b", "name": "Stub function `fire_noop` (body is just `pass`/`return`) \u2014 scripts/teste_transfer_fb_cd_rodada2.py:513", "shortDescription": {"text": "Stub function `fire_noop` (body is just `pass`/`return`) \u2014 scripts/teste_transfer_fb_cd_rodada2.py:513"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fdb0680986930864", "name": "Legacy-named symbol `item_copy` in scripts/exportar_gap_odoo_excel.py:887", "shortDescription": {"text": "Legacy-named symbol `item_copy` in scripts/exportar_gap_odoo_excel.py:887"}, "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-2c7d649586ecf2ef", "name": "Commented-code block (6 lines) in scripts/codemods/cleanup_v6_badges.py:42", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/codemods/cleanup_v6_badges.py:42"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8e7ea7275e1a155c", "name": "Legacy-named symbol `audit_subcontrato_id_deprecated` in scripts/carvia/audit_subcontrato_id_deprecated.py:20", "shortDescription": {"text": "Legacy-named symbol `audit_subcontrato_id_deprecated` in scripts/carvia/audit_subcontrato_id_deprecated.py: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-a37bba167d387717", "name": "Legacy-named symbol `check_7_carvia_frete_subcontrato_id_deprecated` in scripts/carvia/audit_dados_historicos.py:276", "shortDescription": {"text": "Legacy-named symbol `check_7_carvia_frete_subcontrato_id_deprecated` in scripts/carvia/audit_dados_historicos.py:276"}, "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-52252c629fb88183", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/audits/route_template_audit.py:141", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audits/route_template_audit.py:141"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-932350f86f520c46", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/audits/ui_audit_regression.py:41", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audits/ui_audit_regression.py:41"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bf211b1a6131cdd9", "name": "Legacy-named symbol `is_utilities_legacy` in scripts/audits/ui_audit.py:258", "shortDescription": {"text": "Legacy-named symbol `is_utilities_legacy` in scripts/audits/ui_audit.py:258"}, "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-47aeae23a7292ea0", "name": "Commented-code block (5 lines) in scripts/audits/prompt_size_audit.py:171", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/audits/prompt_size_audit.py:171"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6aa007d7177cf2e3", "name": "Legacy-named symbol `important_outside_legacy` in scripts/audits/ui_policy_lint.py:24", "shortDescription": {"text": "Legacy-named symbol `important_outside_legacy` in scripts/audits/ui_policy_lint.py:24"}, "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-44fe2d626f7c3811", "name": "Commented-code block (5 lines) in scripts/audits/ui_policy_lint.py:61", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/audits/ui_policy_lint.py:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a074df1639ac8fdf", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/audits/ui_policy_lint.py:239", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audits/ui_policy_lint.py:239"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7596ca81087e3af9", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/audits/artefato_lint/gitdiff.py:9", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audits/artefato_lint/gitdiff.py:9"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9c08d1b6ced7e42d", "name": "Legacy-named symbol `db_backup` in scripts/backup/restore_test.py:232", "shortDescription": {"text": "Legacy-named symbol `db_backup` in scripts/backup/restore_test.py:232"}, "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-856cec486994072e", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/backup/restore_test.py:273", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/backup/restore_test.py:273"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9dfda5617f1d4fe7", "name": "Legacy-named symbol `list_objects_v2` in scripts/backup/recovery_manager.py:92", "shortDescription": {"text": "Legacy-named symbol `list_objects_v2` in scripts/backup/recovery_manager.py:92"}, "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-79776534414a435f", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/backup/recovery_manager.py:221", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/backup/recovery_manager.py:221"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-371004e713c4011b", "name": "Legacy-named symbol `verify_database_backup` in scripts/backup/verify_backups.py:118", "shortDescription": {"text": "Legacy-named symbol `verify_database_backup` in scripts/backup/verify_backups.py:118"}, "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-13b74a798e0f922a", "name": "Legacy-named symbol `full_backup` in scripts/backup/backup_manager.py:104", "shortDescription": {"text": "Legacy-named symbol `full_backup` in scripts/backup/backup_manager.py:104"}, "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-c574e97fc84e6608", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/backup/backup_manager.py:168", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/backup/backup_manager.py:168"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-72885f4de5dac228", "name": "Legacy-named symbol `criar_backup` in scripts/correcao_datas_nf_credito/correcao_datas_nf_credito.py:45", "shortDescription": {"text": "Legacy-named symbol `criar_backup` in scripts/correcao_datas_nf_credito/correcao_datas_nf_credito.py:45"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-610c789b837a553e", "name": "Commented-code block (6 lines) in scripts/inventario_2026_05/03_confrontar_inv_vs_odoo.py:360", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/inventario_2026_05/03_confrontar_inv_vs_odoo.py:360"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f6f42b6cd5fbc347", "name": "Commented-code block (5 lines) in scripts/inventario_2026_05/04_propor_ajustes.py:218", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/inventario_2026_05/04_propor_ajustes.py:218"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-29be2e60f40c4439", "name": "Commented-code block (5 lines) in scripts/inventario_2026_05/ajuste_fb_cd_indisponivel.py:76", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/inventario_2026_05/ajuste_fb_cd_indisponivel.py: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-47703adfc5527c90", "name": "Legacy-named symbol `14_ajuste_positivo_cd_v2` in scripts/inventario_2026_05/ajuste_inventario.py:7", "shortDescription": {"text": "Legacy-named symbol `14_ajuste_positivo_cd_v2` in scripts/inventario_2026_05/ajuste_inventario.py: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-2ae219ba3101b3c6", "name": "Commented-code block (5 lines) in scripts/inventario_2026_05/09_executar_onda1_bulk.py:797", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/inventario_2026_05/09_executar_onda1_bulk.py:797"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-87075921e3a59e13", "name": "Commented-code block (5 lines) in scripts/inventario_2026_05/08_extrair_pos_execucao.py:133", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/inventario_2026_05/08_extrair_pos_execucao.py:133"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ffbaa7718028f070", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/inventario_2026_05/monitor/0_pipeline.py:28", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/inventario_2026_05/monitor/0_pipeline.py:28"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b256e48bc65a7018", "name": "Legacy-named symbol `14_ajuste_pos_cd_v2` in scripts/inventario_2026_05/_validados/ajustando-quant-odoo/14_ajuste_positi", "shortDescription": {"text": "Legacy-named symbol `14_ajuste_pos_cd_v2` in scripts/inventario_2026_05/_validados/ajustando-quant-odoo/14_ajuste_positivo_cd_v2.py:57"}, "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-a8f56523d024b4e7", "name": "Legacy-named symbol `fazer_backup` in scripts/inventario_2026_05/_validados/planejando-pre-etapa-odoo/04b_propor_pre_eta", "shortDescription": {"text": "Legacy-named symbol `fazer_backup` in scripts/inventario_2026_05/_validados/planejando-pre-etapa-odoo/04b_propor_pre_etapa_cd.py:65"}, "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-0f3f530875425885", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/inventario_2026_05/_validados/planejando-pre-etapa-odoo/", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/inventario_2026_05/_validados/planejando-pre-etapa-odoo/04b_propor_pre_etapa_cd.py:74"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-934950b362fd617c", "name": "Commented-code block (7 lines) in scripts/inventario_2026_05/_validados/transferindo-interno-odoo/padronizar_migracao.py", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/inventario_2026_05/_validados/transferindo-interno-odoo/padronizar_migracao.py:39"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f51b72589e47e0b5", "name": "Commented-code block (5 lines) in scripts/inventario_2026_05/auditoria/comparar_sot_vs_fontes.py:322", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/inventario_2026_05/auditoria/comparar_sot_vs_fontes.py:322"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ec75b20dd67ccdf9", "name": "Legacy-named symbol `001_criar_tabelas_pallet_v2` in scripts/pallet/004_validar_migracao.py:15", "shortDescription": {"text": "Legacy-named symbol `001_criar_tabelas_pallet_v2` in scripts/pallet/004_validar_migracao.py:15"}, "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-bef2986dc06d24cf", "name": "Legacy-named symbol `001_criar_tabelas_pallet_v2` in scripts/pallet/003_migrar_vale_pallet_para_documento.py:103", "shortDescription": {"text": "Legacy-named symbol `001_criar_tabelas_pallet_v2` in scripts/pallet/003_migrar_vale_pallet_para_documento.py:103"}, "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-00c7d3eb28021a0f", "name": "Legacy-named symbol `001_criar_tabelas_pallet_v2` in scripts/pallet/001_criar_tabelas_pallet_v2.py:18", "shortDescription": {"text": "Legacy-named symbol `001_criar_tabelas_pallet_v2` in scripts/pallet/001_criar_tabelas_pallet_v2.py:18"}, "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-d11c281ac598ffbd", "name": "Commented-code block (6 lines) in scripts/pallet/001_criar_tabelas_pallet_v2.py:425", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/pallet/001_criar_tabelas_pallet_v2.py:425"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f4b8936049d09e8a", "name": "Legacy-named symbol `001_criar_tabelas_pallet_v2` in scripts/pallet/002_migrar_movimentacao_para_nf_remessa.py:73", "shortDescription": {"text": "Legacy-named symbol `001_criar_tabelas_pallet_v2` in scripts/pallet/002_migrar_movimentacao_para_nf_remessa.py:73"}, "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-e9dd3dd937d0c9e3", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/sped_ecd/gerar_sped.py:111", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/sped_ecd/gerar_sped.py:111"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0a7dc0cbaf09ec4f", "name": "Legacy-named symbol `migrar_timezone_utc_para_brasil_v1` in scripts/migrations/migrar_timezone_utc_para_brasil.py:66", "shortDescription": {"text": "Legacy-named symbol `migrar_timezone_utc_para_brasil_v1` in scripts/migrations/migrar_timezone_utc_para_brasil.py:66"}, "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-253dc1d4f1727b57", "name": "Commented-code block (5 lines) in scripts/migrations/2026_06_11_migrar_namespaces_memoria_empresa.py:223", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/migrations/2026_06_11_migrar_namespaces_memoria_empresa.py:223"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2276f0d02132e64a", "name": "Commented-code block (5 lines) in scripts/migrations/fix_extrato_sem_titulo_do_cnab.py:71", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/migrations/fix_extrato_sem_titulo_do_cnab.py:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9404f0b0dd5b241f", "name": "Commented-code block (5 lines) in scripts/migrations/hora_35_cleanup_alias_motos.py:55", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/migrations/hora_35_cleanup_alias_motos.py:55"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e79ae5665299804f", "name": "Commented-code block (5 lines) in scripts/migrations/2026_06_07_table_catalog_embeddings.py:55", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/migrations/2026_06_07_table_catalog_embeddings.py:55"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9bf37e2f50c19c4a", "name": "Legacy-named symbol `criar_tabelas_cotacao_carvia_v2` in scripts/migrations/criar_tabelas_cotacao_carvia_v2.py:152", "shortDescription": {"text": "Legacy-named symbol `criar_tabelas_cotacao_carvia_v2` in scripts/migrations/criar_tabelas_cotacao_carvia_v2.py:152"}, "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-d2ace6cc3b5cdb19", "name": "Legacy-named symbol `limpar_duplicatas_dedup_v2` in scripts/migrations/limpar_duplicatas_dedup_v2.py:21", "shortDescription": {"text": "Legacy-named symbol `limpar_duplicatas_dedup_v2` in scripts/migrations/limpar_duplicatas_dedup_v2.py:21"}, "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-f1093d0a3fbd726b", "name": "Commented-code block (9 lines) in scripts/migrations/motos_assai_backfill_match_nfs_2026_05_17.py:977", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/migrations/motos_assai_backfill_match_nfs_2026_05_17.py:977"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7a48af1996878ed6", "name": "Commented-code block (7 lines) in scripts/migrations/remover_pedido_backfill_e_desvincular_nf_1737.py:123", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/migrations/remover_pedido_backfill_e_desvincular_nf_1737.py:123"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9da29bfdbeda619a", "name": "Legacy-named symbol `adicionar_campos_fatura_cliente_v2` in scripts/migrations/adicionar_campos_fatura_cliente_v2.py:12", "shortDescription": {"text": "Legacy-named symbol `adicionar_campos_fatura_cliente_v2` in scripts/migrations/adicionar_campos_fatura_cliente_v2.py:12"}, "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-fe932c7d268439ca", "name": "Commented-code block (5 lines) in scripts/migrations/hora_42_fix_divergencias_modelo_falso_positivo.py:93", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/migrations/hora_42_fix_divergencias_modelo_falso_positivo.py:93"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-572b366e149a59ba", "name": "Legacy-named symbol `list_objects_v2` in scripts/migrations/2026_06_11_backfill_s3_archive_orfaos.py:44", "shortDescription": {"text": "Legacy-named symbol `list_objects_v2` in scripts/migrations/2026_06_11_backfill_s3_archive_orfaos.py:44"}, "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-9f5a92b65e4964bd", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/migrations/2026_05_18_audit_ajuste_estoque_inventario.py", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/migrations/2026_05_18_audit_ajuste_estoque_inventario.py:147"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-55ed47b4d8075ce8", "name": "Commented-code block (21 lines) in scripts/migrations/criar_tabelas_importador_redes.py:197", "shortDescription": {"text": "Commented-code block (21 lines) in scripts/migrations/criar_tabelas_importador_redes.py: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-f1c8059481e18c28", "name": "Commented-code block (6 lines) in scripts/migrations/motos_assai_25_backfill_divergencias_legadas.py:63", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/migrations/motos_assai_25_backfill_divergencias_legadas.py:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-efc19f818714a1db", "name": "Commented-code block (5 lines) in scripts/migrations/popular_uom_depara_odoo.py:49", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/migrations/popular_uom_depara_odoo.py:49"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f42c4366a2f021d1", "name": "Legacy-named symbol `verificar_colunas_deprecated` in scripts/migrations/remover_tabelas_deprecated_contas_receber.py:67", "shortDescription": {"text": "Legacy-named symbol `verificar_colunas_deprecated` in scripts/migrations/remover_tabelas_deprecated_contas_receber.py:67"}, "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-bc61631035501dd3", "name": "Legacy-named symbol `carvia_faturas_cliente_tipo_frete_backup` in scripts/migrations/carvia_cte_comp_motivo_nf_modfrete_", "shortDescription": {"text": "Legacy-named symbol `carvia_faturas_cliente_tipo_frete_backup` in scripts/migrations/carvia_cte_comp_motivo_nf_modfrete_drop_tipo_frete.py:46"}, "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-35c19c59bbbf0c51", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/operacionais/troca_nf_atacadao881/verificar_reversao_e_d", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/operacionais/troca_nf_atacadao881/verificar_reversao_e_devolver.py:199"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-992d54650fb972ac", "name": "Legacy-named symbol `register_pallet_v2` in app/__init__.py:1218", "shortDescription": {"text": "Legacy-named symbol `register_pallet_v2` in app/__init__.py:1218"}, "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-0b31ced0860342c5", "name": "Stub function `init_app` (body is just `pass`/`return`) \u2014 app/__init__.py:41", "shortDescription": {"text": "Stub function `init_app` (body is just `pass`/`return`) \u2014 app/__init__.py:41"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f790d3868b2693c", "name": "Commented-code block (5 lines) in app/ecommerce_preview/routes.py:229", "shortDescription": {"text": "Commented-code block (5 lines) in app/ecommerce_preview/routes.py:229"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8a9a83147df0895e", "name": "Commented-code block (6 lines) in app/produtos/services/auditor_produto.py:42", "shortDescription": {"text": "Commented-code block (6 lines) in app/produtos/services/auditor_produto.py:42"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-02322dab276d64e8", "name": "Commented-code block (11 lines) in app/devolucao/services/nfd_xml_parser.py:232", "shortDescription": {"text": "Commented-code block (11 lines) in app/devolucao/services/nfd_xml_parser.py:232"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a79d5b21f7953f7a", "name": "Legacy-named symbol `_tem_permissao_legacy` in app/auth/models.py:431", "shortDescription": {"text": "Legacy-named symbol `_tem_permissao_legacy` in app/auth/models.py:431"}, "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-6f801c0c6512ce38", "name": "Commented-code block (5 lines) in app/auth/models.py:48", "shortDescription": {"text": "Commented-code block (5 lines) in app/auth/models.py:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b47564b5cbf995dd", "name": "Commented-code block (11 lines) in app/odoo/models/operacao_odoo_auditoria.py:90", "shortDescription": {"text": "Commented-code block (11 lines) in app/odoo/models/operacao_odoo_auditoria.py:90"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-80ae3e096de130f7", "name": "Commented-code block (9 lines) in app/odoo/constants/operacoes_fiscais.py:114", "shortDescription": {"text": "Commented-code block (9 lines) in app/odoo/constants/operacoes_fiscais.py:114"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7ab166348ae412d", "name": "Commented-code block (5 lines) in app/odoo/constants/picking_types.py:29", "shortDescription": {"text": "Commented-code block (5 lines) in app/odoo/constants/picking_types.py:29"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7e4fe1e904a738ef", "name": "Commented-code block (7 lines) in app/odoo/utils/cte_xml_parser.py:466", "shortDescription": {"text": "Commented-code block (7 lines) in app/odoo/utils/cte_xml_parser.py:466"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8f8b0caf223b4f02", "name": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in app/odoo/estoque/orchestrators/inventario_pipeline.py:142", "shortDescription": {"text": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in app/odoo/estoque/orchestrators/inventario_pipeline.py:142"}, "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-1e75846c166072ad", "name": "Commented-code block (5 lines) in app/odoo/estoque/orchestrators/inventario_pipeline.py:94", "shortDescription": {"text": "Commented-code block (5 lines) in app/odoo/estoque/orchestrators/inventario_pipeline.py:94"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b6e54fab7e24524f", "name": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in app/odoo/estoque/orchestrators/pre_etapa_executor.py:6", "shortDescription": {"text": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in app/odoo/estoque/orchestrators/pre_etapa_executor.py:6"}, "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-0034f6dcec15b23d", "name": "Commented-code block (7 lines) in app/odoo/estoque/orchestrators/pre_etapa_executor.py:422", "shortDescription": {"text": "Commented-code block (7 lines) in app/odoo/estoque/orchestrators/pre_etapa_executor.py:422"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c784dd7470d9331d", "name": "Legacy-named symbol `fazer_backup` in app/odoo/estoque/scripts/pre_etapa.py:721", "shortDescription": {"text": "Legacy-named symbol `fazer_backup` in app/odoo/estoque/scripts/pre_etapa.py:721"}, "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-a5f795e7e0e9514c", "name": "Commented-code block (5 lines) in app/odoo/estoque/scripts/pre_etapa.py:66", "shortDescription": {"text": "Commented-code block (5 lines) in app/odoo/estoque/scripts/pre_etapa.py:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bb5d56b723419f65", "name": "Commented-code block (5 lines) in app/odoo/estoque/scripts/cadastro_fiscal_audit.py:314", "shortDescription": {"text": "Commented-code block (5 lines) in app/odoo/estoque/scripts/cadastro_fiscal_audit.py:314"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8397e6a57e8461ea", "name": "Legacy-named symbol `transferir_entre_lotes_v2` in app/odoo/estoque/scripts/transfer.py:34", "shortDescription": {"text": "Legacy-named symbol `transferir_entre_lotes_v2` in app/odoo/estoque/scripts/transfer.py:34"}, "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-585b7e68197ef2cd", "name": "Commented-code block (6 lines) in app/odoo/estoque/scripts/transfer.py:71", "shortDescription": {"text": "Commented-code block (6 lines) in app/odoo/estoque/scripts/transfer.py:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-66254aaa1f060bee", "name": "Commented-code block (8 lines) in app/odoo/estoque/scripts/escrituracao.py:334", "shortDescription": {"text": "Commented-code block (8 lines) in app/odoo/estoque/scripts/escrituracao.py:334"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea829934aa4fe05f", "name": "Commented-code block (5 lines) in app/odoo/estoque/scripts/faturamento.py:829", "shortDescription": {"text": "Commented-code block (5 lines) in app/odoo/estoque/scripts/faturamento.py:829"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-40a2d16097c2c5f2", "name": "Legacy-named symbol `soma_old` in app/odoo/estoque/scripts/picking.py:289", "shortDescription": {"text": "Legacy-named symbol `soma_old` in app/odoo/estoque/scripts/picking.py:289"}, "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-2c0a55a9641f4bc6", "name": "Commented-code block (5 lines) in app/odoo/estoque/scripts/picking.py:439", "shortDescription": {"text": "Commented-code block (5 lines) in app/odoo/estoque/scripts/picking.py:439"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea642df57b422c0f", "name": "Legacy-named symbol `medir_consumo_mo_legacy` in app/odoo/estoque/scripts/mo.py:64", "shortDescription": {"text": "Legacy-named symbol `medir_consumo_mo_legacy` in app/odoo/estoque/scripts/mo.py:64"}, "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-a4d03ff205c01d68", "name": "Commented-code block (5 lines) in app/odoo/estoque/scripts/mo.py:853", "shortDescription": {"text": "Commented-code block (5 lines) in app/odoo/estoque/scripts/mo.py:853"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d207b355339acacc", "name": "Commented-code block (6 lines) in app/odoo/services/entrada_material_service.py:618", "shortDescription": {"text": "Commented-code block (6 lines) in app/odoo/services/entrada_material_service.py:618"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c9c96930f4133de7", "name": "Legacy-named symbol `transferir_v2` in app/odoo/services/transferencia_saldo_codigo_service.py:110", "shortDescription": {"text": "Legacy-named symbol `transferir_v2` in app/odoo/services/transferencia_saldo_codigo_service.py:110"}, "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-795cabb08b5f0d05", "name": "Commented-code block (5 lines) in app/odoo/services/carteira_service.py:1581", "shortDescription": {"text": "Commented-code block (5 lines) in app/odoo/services/carteira_service.py:1581"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c32745195b3df28f", "name": "Commented-code block (5 lines) in app/odoo/services/pedido_compras_service.py:1154", "shortDescription": {"text": "Commented-code block (5 lines) in app/odoo/services/pedido_compras_service.py:1154"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-08d0d67459e05b10", "name": "Commented-code block (6 lines) in app/odoo/services/faturamento_service.py:24", "shortDescription": {"text": "Commented-code block (6 lines) in app/odoo/services/faturamento_service.py:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c28a51d92e893690", "name": "Commented-code block (9 lines) in app/odoo/services/inventario_pipeline_service.py:127", "shortDescription": {"text": "Commented-code block (9 lines) in app/odoo/services/inventario_pipeline_service.py:127"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8e66c47fa073077c", "name": "Commented-code block (5 lines) in app/separacao/models.py:76", "shortDescription": {"text": "Commented-code block (5 lines) in app/separacao/models.py: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-dfb0ef1352bc9421", "name": "Commented-code block (5 lines) in app/producao/relatorios_bp.py:416", "shortDescription": {"text": "Commented-code block (5 lines) in app/producao/relatorios_bp.py:416"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9eac759051ce99e3", "name": "Commented-code block (5 lines) in app/producao/routes.py:684", "shortDescription": {"text": "Commented-code block (5 lines) in app/producao/routes.py:684"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-53ca06af3da31406", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/carvia/js/anexos_widget.js:45", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/carvia/js/anexos_widget.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-c77346a89d733894", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/programacao-lote.js:126", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/programacao-lote.js:126"}, "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-42f53587cf584b93", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/cmdk.js:226", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/cmdk.js:226"}, "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-1edf6664b2e8d658", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/embarque.js:25", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/embarque.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-0c8e0610367e64eb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/analise_producao_componentes.js:79", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/analise_producao_componentes.js:79"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-266ab315fb7222da", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/carvia_pagamento_modal.js:264", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/carvia_pagamento_modal.js:264"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-85feffc2d3d92711", "name": "Commented-code block (5 lines) in app/static/js/contas_receber.js:165", "shortDescription": {"text": "Commented-code block (5 lines) in app/static/js/contas_receber.js:165"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c4d376bfd93552d0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/contas_receber.js:56", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/contas_receber.js:56"}, "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-1a329067b0c00859", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/cmdk-historico-pedido.js:127", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/cmdk-historico-pedido.js:127"}, "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-217f685baeedd89e", "name": "Commented-code block (6 lines) in app/static/js/mobile-zoom.js:67", "shortDescription": {"text": "Commented-code block (6 lines) in app/static/js/mobile-zoom.js:67"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d6a6ff1f420ff597", "name": "Commented-code block (5 lines) in app/static/js/sidebar.js:160", "shortDescription": {"text": "Commented-code block (5 lines) in app/static/js/sidebar.js:160"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b95ec02e772fe615", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/contas_receber_comparativo.js:71", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/contas_receber_comparativo.js:71"}, "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-eacf48922dfdcdbc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/analises-drilldown.js:275", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/analises-drilldown.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-7fdb1766c4d460a4", "name": "Commented-code block (5 lines) in app/static/js/carteira-simples.js:2418", "shortDescription": {"text": "Commented-code block (5 lines) in app/static/js/carteira-simples.js:2418"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0b4532843f2f1208", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/carteira-simples.js:365", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/carteira-simples.js:365"}, "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-debc0ecbd39482cc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/devolucao/ocorrencia-detalhe.js:488", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/devolucao/ocorrencia-detalhe.js:488"}, "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-b837b916d6861e33", "name": "Legacy-named symbol `carvia_ssw_progress_v1` in app/static/js/carvia/ssw_progress.js:25", "shortDescription": {"text": "Legacy-named symbol `carvia_ssw_progress_v1` in app/static/js/carvia/ssw_progress.js:25"}, "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-9f5365374f3580bc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/carvia/ssw_progress.js:337", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/carvia/ssw_progress.js:337"}, "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-381ef051262d7b60", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/shared/transportadora-autocomplete.js:142", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/shared/transportadora-autocomplete.js:142"}, "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-7e1a8a54ef76cfe5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/shared/scanner-moto.js:266", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/shared/scanner-moto.js:266"}, "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-b7189a0965487fea", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/shared/cnpj-lookup.js:87", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/shared/cnpj-lookup.js:87"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-22eea4822bc5aee6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/shared/viacep.js:95", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/shared/viacep.js:95"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d90e11466ff5008c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/inventario/confronto.js:230", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/inventario/confronto.js:230"}, "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-0712786e065082c0", "name": "Commented-code block (7 lines) in app/static/js/capacitor/capacitor.js:54", "shortDescription": {"text": "Commented-code block (7 lines) in app/static/js/capacitor/capacitor.js:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ee2734aad49c592c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/capacitor/capacitor.js:623", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/capacitor/capacitor.js:623"}, "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-f0352580dc3e2c03", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/capacitor/gps-service-hibrido.js:365", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/capacitor/gps-service-hibrido.js:365"}, "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-82718ff1e3ceec4a", "name": "Commented-code block (5 lines) in app/static/js/hora/autocomplete.js:95", "shortDescription": {"text": "Commented-code block (5 lines) in app/static/js/hora/autocomplete.js:95"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d0e053923366d6e5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/hora/autocomplete.js:97", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/hora/autocomplete.js:97"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2c0b98301150652e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/hora/devolucao_venda_novo.js:58", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/hora/devolucao_venda_novo.js:58"}, "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-80917ed6cbe2df86", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/financeiro/busca-semantica.js:131", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/financeiro/busca-semantica.js:131"}, "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-19f579583b0195b2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/estoque/transferir_estoque.js:33", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/estoque/transferir_estoque.js:33"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2b6015e05463ec5c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-nf.js:19", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-nf.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-51f25bc623fb68d0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-agendamento.js:85", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-agendamento.js:85"}, "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-c66e4ee67a3a2af0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-crud.js:108", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-crud.js:108"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-996c3df9e3de0100", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-modais.js:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-modais.js:13"}, "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-84e7cba72bd0a96b", "name": "Commented-code block (7 lines) in app/static/js/pedidos/lista-filtros.js:48", "shortDescription": {"text": "Commented-code block (7 lines) in app/static/js/pedidos/lista-filtros.js:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1c6641ccd7636716", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-endereco.js:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-endereco.js:21"}, "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-17a6cb7134d5b589", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-alertas.js:11", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-alertas.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-115b229e7209efc7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-cotacao.js:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-cotacao.js:37"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-45c8fdcfd75e9e29", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/recebimento/divergencias_shared.js:89", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/recebimento/divergencias_shared.js:89"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-758147626e368128", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/recebimento/divergencias_nf_po.js:42", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/recebimento/divergencias_nf_po.js:42"}, "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-658f30c336ebbca6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/recebimento/validacoes_nf_po.js:34", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/recebimento/validacoes_nf_po.js:34"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f2a5da25761f612c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/simulador-carga/simulador-ui.js:58", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/simulador-carga/simulador-ui.js:58"}, "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-ae9e09e8f7d68889", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/parametros.js:128", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/parametros.js:128"}, "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-351746fbae1cae14", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/mensal.js:34", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/mensal.js:34"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ab2691db2c49200d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/custeio.js:229", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/custeio.js:229"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6add9a8fa938a868", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/comissao.js:54", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/comissao.js:54"}, "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-18e6ba83c9e8ee78", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/dashboard.js:18", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/dashboard.js:18"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-229f8f910a7baf98", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/producao.js:153", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/producao.js:153"}, "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-f2419dbbf9c10031", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/definicao.js:253", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/definicao.js:253"}, "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-c88b5136d8b064d0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/frete.js:166", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/frete.js:166"}, "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-67ace268bfc73d54", "name": "Commented-code block (7 lines) in app/static/capacitor/capacitor.js:54", "shortDescription": {"text": "Commented-code block (7 lines) in app/static/capacitor/capacitor.js:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-da3f13c0dd9536a9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/capacitor/capacitor.js:623", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/capacitor/capacitor.js:623"}, "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-2bb54896d6de4020", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/chat/js/chat_ui.js:167", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/chat/js/chat_ui.js:167"}, "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-3c20d9e86a809810", "name": "Legacy-named symbol `agente_fork_intro_shown_v1` in app/static/agente/js/chat.js:3759", "shortDescription": {"text": "Legacy-named symbol `agente_fork_intro_shown_v1` in app/static/agente/js/chat.js:3759"}, "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-767306affcb424dd", "name": "Commented-code block (6 lines) in app/static/agente/js/chat.js:57", "shortDescription": {"text": "Commented-code block (6 lines) in app/static/agente/js/chat.js:57"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-92fc981da68a3b63", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/agente/js/chat.js:233", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/agente/js/chat.js:233"}, "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-3dfe56ad16abfcba", "name": "Commented-code block (6 lines) in app/static/comercial/js/lista_clientes_mobile.js:223", "shortDescription": {"text": "Commented-code block (6 lines) in app/static/comercial/js/lista_clientes_mobile.js:223"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6e246204e701f53d", "name": "Commented-code block (6 lines) in app/static/onboarding/tours/hora/vendas_aprovar.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in app/static/onboarding/tours/hora/vendas_aprovar.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-8fd57198f972a0c9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/carteira/js/modal-relatorios.js:244", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/carteira/js/modal-relatorios.js:244"}, "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-67e0c06ebd8638cb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/pos_venda.js:211", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/pos_venda.js:211"}, "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-eb5a44ab7b4788bf", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/devolucao_form.js:86", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/devolucao_form.js:86"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-02dc512b27777d7f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/resumo_modais.js:194", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/resumo_modais.js:194"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cdf869f733016078", "name": "Commented-code block (6 lines) in app/static/motos_assai/js/separacao_chassi.js:203", "shortDescription": {"text": "Commented-code block (6 lines) in app/static/motos_assai/js/separacao_chassi.js:203"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8a6644d0b0dfa9e8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/separacao_chassi.js:58", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/separacao_chassi.js:58"}, "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-c3f160d7322f4cb6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/pendencias_resolver.js:76", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/pendencias_resolver.js:76"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8a3137c6749a341d", "name": "Commented-code block (5 lines) in app/static/motos_assai/js/chassi_autocomplete.js:209", "shortDescription": {"text": "Commented-code block (5 lines) in app/static/motos_assai/js/chassi_autocomplete.js:209"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3f53ce4b3de8d148", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/chassi_autocomplete.js:177", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/chassi_autocomplete.js:177"}, "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-61eb39c93b98726a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/disponibilizar_modal.js:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/disponibilizar_modal.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-d3ef6d7ed2f60dc5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/divergencias_modais.js:55", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/divergencias_modais.js:55"}, "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-7bb14c578253b922", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/necessidade_producao/js/modal-detalhes-separacao.js:", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/necessidade_producao/js/modal-detalhes-separacao.js:53"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e555668e3a06c424", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/necessidade_producao/js/necessidade-producao.js:886", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/necessidade_producao/js/necessidade-producao.js:886"}, "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-e6b286b6b5a368b2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produt", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivos.js:54"}, "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-0e1777cffedeca80", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/requisicoes_compras/js/historico-modal.js:67", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/requisicoes_compras/js/historico-modal.js:67"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-342722ea2446e39b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/requisicoes_compras/js/requisicoes-compras.js:115", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/requisicoes_compras/js/requisicoes-compras.js:115"}, "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-f97a990693393f04", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-table-view.", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-table-view.js:208"}, "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-e4c6f2520d103049", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas.js:60", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas.js:60"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-41f79c3808a6443d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js:261"}, "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-0ae96f9915acaec4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamento", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamentos.js:681"}, "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-a6ab3788132ddcd7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/lista_materiais/js/lista_materiais.js:912", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/lista_materiais/js/lista_materiais.js:912"}, "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-aca7ae206ca15d23", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/sugestao_compras/js/sugestao.js:26", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/sugestao_compras/js/sugestao.js:26"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d8c335ef3a96a6d1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/sugestao_compras/js/modal-em-transito.js:23", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/sugestao_compras/js/modal-em-transito.js:23"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-83f145224f2566a7", "name": "Commented-code block (5 lines) in app/carvia/models/financeiro.py:151", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/models/financeiro.py:151"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b331c45f33da6399", "name": "Legacy-named symbol `audit_subcontrato_id_deprecated` in app/carvia/models/frete.py:86", "shortDescription": {"text": "Legacy-named symbol `audit_subcontrato_id_deprecated` in app/carvia/models/frete.py:86"}, "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-9516cd27692e4a47", "name": "Commented-code block (5 lines) in app/carvia/models/documentos.py:54", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/models/documentos.py:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-58cb89624161863b", "name": "Commented-code block (6 lines) in app/carvia/models/cte_custos.py:139", "shortDescription": {"text": "Commented-code block (6 lines) in app/carvia/models/cte_custos.py:139"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6ea58f2a36f729b0", "name": "Legacy-named symbol `emitente_destinatario_v2` in app/carvia/utils/papeis_frete.py:19", "shortDescription": {"text": "Legacy-named symbol `emitente_destinatario_v2` in app/carvia/utils/papeis_frete.py:19"}, "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-db12c6243d8fd6f1", "name": "Legacy-named symbol `sub_legacy` in app/carvia/routes/frete_routes.py:235", "shortDescription": {"text": "Legacy-named symbol `sub_legacy` in app/carvia/routes/frete_routes.py:235"}, "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-5d2e53725f5cb785", "name": "Commented-code block (5 lines) in app/carvia/routes/frete_routes.py:100", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/routes/frete_routes.py:100"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3fa1ebd515298b29", "name": "Commented-code block (7 lines) in app/carvia/routes/cte_complementar_routes.py:436", "shortDescription": {"text": "Commented-code block (7 lines) in app/carvia/routes/cte_complementar_routes.py:436"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6ba52769b02ed528", "name": "Legacy-named symbol `cnpj_old` in app/carvia/routes/nf_routes.py:1182", "shortDescription": {"text": "Legacy-named symbol `cnpj_old` in app/carvia/routes/nf_routes.py:1182"}, "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-54bc72e5af2e43af", "name": "Commented-code block (5 lines) in app/carvia/routes/conciliacao_routes.py:738", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/routes/conciliacao_routes.py:738"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f24076a4d367eceb", "name": "Commented-code block (5 lines) in app/carvia/routes/pedido_routes.py:313", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/routes/pedido_routes.py:313"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-97a2dfcc527e47f1", "name": "Commented-code block (5 lines) in app/carvia/routes/fatura_routes.py:321", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/routes/fatura_routes.py:321"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ee2cb58eac43f278", "name": "Commented-code block (7 lines) in app/carvia/routes/admin_routes.py:21", "shortDescription": {"text": "Commented-code block (7 lines) in app/carvia/routes/admin_routes.py:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c611f56bf6469230", "name": "Legacy-named symbol `listar_cotacoes_v2` in app/carvia/routes/cotacao_v2_routes.py:114", "shortDescription": {"text": "Legacy-named symbol `listar_cotacoes_v2` in app/carvia/routes/cotacao_v2_routes.py:114"}, "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-41e91638bad75555", "name": "Commented-code block (6 lines) in app/carvia/routes/cotacao_v2_routes.py:821", "shortDescription": {"text": "Commented-code block (6 lines) in app/carvia/routes/cotacao_v2_routes.py:821"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2e27ae755b5278b9", "name": "Commented-code block (5 lines) in app/carvia/workers/ssw_cte_complementar_jobs.py:82", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/workers/ssw_cte_complementar_jobs.py:82"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-db36c974292b2787", "name": "Commented-code block (6 lines) in app/carvia/workers/ssw_cte_jobs.py:220", "shortDescription": {"text": "Commented-code block (6 lines) in app/carvia/workers/ssw_cte_jobs.py:220"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c0ea1071861f1ea3", "name": "Commented-code block (6 lines) in app/carvia/workers/verificar_ctrc_ssw_jobs.py:337", "shortDescription": {"text": "Commented-code block (6 lines) in app/carvia/workers/verificar_ctrc_ssw_jobs.py:337"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-931e9ad42d1360ba", "name": "Commented-code block (5 lines) in app/carvia/services/parsers/danfe_pdf_parser.py:287", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/services/parsers/danfe_pdf_parser.py:287"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd60d6bb34c1e9b6", "name": "Commented-code block (5 lines) in app/carvia/services/parsers/importacao_service.py:318", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/services/parsers/importacao_service.py:318"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-84c5ebcb2d6908b3", "name": "Commented-code block (5 lines) in app/carvia/services/parsers/fatura_pdf_parser.py:1084", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/services/parsers/fatura_pdf_parser.py:1084"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f489d1ad5335ce6a", "name": "Commented-code block (5 lines) in app/carvia/services/parsers/dacte_pdf_parser.py:433", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/services/parsers/dacte_pdf_parser.py:433"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2e30b561417f6d6b", "name": "Legacy-named symbol `cnpj_old` in app/carvia/services/documentos/embarque_carvia_service.py:332", "shortDescription": {"text": "Legacy-named symbol `cnpj_old` in app/carvia/services/documentos/embarque_carvia_service.py:332"}, "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-1baadd96f77b1b58", "name": "Commented-code block (5 lines) in app/carvia/services/documentos/embarque_carvia_service.py:139", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/services/documentos/embarque_carvia_service.py:139"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-574690b2ab9567a6", "name": "Commented-code block (5 lines) in app/carvia/services/documentos/carvia_frete_service.py:55", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/services/documentos/carvia_frete_service.py:55"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e63b5621290a50fa", "name": "Commented-code block (5 lines) in app/carvia/services/documentos/nf_transferencia_service.py:608", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/services/documentos/nf_transferencia_service.py:608"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-df19bf60c174b9ee", "name": "Commented-code block (5 lines) in app/carvia/services/documentos/linking_service.py:302", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/services/documentos/linking_service.py:302"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-411d03af9ea803c2", "name": "Commented-code block (6 lines) in app/carvia/services/admin/admin_service.py:580", "shortDescription": {"text": "Commented-code block (6 lines) in app/carvia/services/admin/admin_service.py:580"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-724281159c5cb704", "name": "Commented-code block (5 lines) in app/carvia/services/financeiro/custo_entrega_fatura_service.py:128", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/services/financeiro/custo_entrega_fatura_service.py:128"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7aa1d95a8367a9f8", "name": "Commented-code block (7 lines) in app/carvia/services/financeiro/carvia_historico_match_service.py:88", "shortDescription": {"text": "Commented-code block (7 lines) in app/carvia/services/financeiro/carvia_historico_match_service.py:88"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7fa7e77717c63af", "name": "Commented-code block (6 lines) in app/carvia/services/financeiro/carvia_conciliacao_service.py:328", "shortDescription": {"text": "Commented-code block (6 lines) in app/carvia/services/financeiro/carvia_conciliacao_service.py:328"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5342347f27161f64", "name": "Commented-code block (5 lines) in app/carvia/services/financeiro/previnculo_service.py:482", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/services/financeiro/previnculo_service.py:482"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fba411f0415d4a7d", "name": "Commented-code block (5 lines) in app/carvia/services/financeiro/conta_corrente_service.py:123", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/services/financeiro/conta_corrente_service.py:123"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2cf692df75970770", "name": "Commented-code block (5 lines) in app/carvia/services/financeiro/carvia_pagamento_service.py:546", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/services/financeiro/carvia_pagamento_service.py:546"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dca185647ffcc8bd", "name": "Commented-code block (5 lines) in app/carvia/services/financeiro/gerencial_service.py:297", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/services/financeiro/gerencial_service.py:297"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c059db5ca2bea7fa", "name": "Commented-code block (5 lines) in app/carvia/services/financeiro/carvia_sugestao_service.py:146", "shortDescription": {"text": "Commented-code block (5 lines) in app/carvia/services/financeiro/carvia_sugestao_service.py:146"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fa8cdd6215fbcaea", "name": "Legacy-named symbol `valor_venda_old` in app/carvia/services/pricing/cotacao_v2_service.py:442", "shortDescription": {"text": "Legacy-named symbol `valor_venda_old` in app/carvia/services/pricing/cotacao_v2_service.py:442"}, "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-01f2ca70eed87dd6", "name": "Commented-code block (8 lines) in app/inventario/models.py:177", "shortDescription": {"text": "Commented-code block (8 lines) in app/inventario/models.py:177"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b70a7ddd527ed8d2", "name": "Commented-code block (5 lines) in app/inventario/services/snapshot_odoo_service.py:151", "shortDescription": {"text": "Commented-code block (5 lines) in app/inventario/services/snapshot_odoo_service.py:151"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4e29b04a47b8ec2c", "name": "Commented-code block (8 lines) in app/inventario/services/confronto_service.py:92", "shortDescription": {"text": "Commented-code block (8 lines) in app/inventario/services/confronto_service.py:92"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7b00012d48b88197", "name": "Commented-code block (5 lines) in app/utils/sincronizar_entregas_carvia.py:209", "shortDescription": {"text": "Commented-code block (5 lines) in app/utils/sincronizar_entregas_carvia.py:209"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a9968cc1b91f3e44", "name": "Legacy-named symbol `_calcular_pedagio_v2` in app/utils/calculadora_frete.py:150", "shortDescription": {"text": "Legacy-named symbol `_calcular_pedagio_v2` in app/utils/calculadora_frete.py:150"}, "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-b1c2a5114b1e82c5", "name": "Commented-code block (8 lines) in app/utils/whatsapp_notify.py:62", "shortDescription": {"text": "Commented-code block (8 lines) in app/utils/whatsapp_notify.py:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ee21425637ad09d7", "name": "Commented-code block (5 lines) in app/utils/importacao/importar_vinculos_web.py:70", "shortDescription": {"text": "Commented-code block (5 lines) in app/utils/importacao/importar_vinculos_web.py:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8d0049d73da65162", "name": "Commented-code block (5 lines) in app/motochefe/services/extrato_financeiro_service.py:99", "shortDescription": {"text": "Commented-code block (5 lines) in app/motochefe/services/extrato_financeiro_service.py:99"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2433c59161c74136", "name": "Commented-code block (5 lines) in app/chat/routes/message_routes.py:340", "shortDescription": {"text": "Commented-code block (5 lines) in app/chat/routes/message_routes.py:340"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2283c12d9c0a31b3", "name": "Commented-code block (7 lines) in app/teams/proactive.py:50", "shortDescription": {"text": "Commented-code block (7 lines) in app/teams/proactive.py:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2e387b7ca5a0778d", "name": "Commented-code block (6 lines) in app/teams/services.py:25", "shortDescription": {"text": "Commented-code block (6 lines) in app/teams/services.py:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a6b64293cc46b800", "name": "Commented-code block (5 lines) in app/teams/models.py:64", "shortDescription": {"text": "Commented-code block (5 lines) in app/teams/models.py:64"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bce7f1c0affba312", "name": "Commented-code block (6 lines) in app/templates/carvia/js/cotacoes/detalhe.js:1003", "shortDescription": {"text": "Commented-code block (6 lines) in app/templates/carvia/js/cotacoes/detalhe.js:1003"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7138af126734f4b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/cotacoes/detalhe.js:142", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/cotacoes/detalhe.js:142"}, "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-c95310fcdb06a760", "name": "Commented-code block (5 lines) in app/templates/carvia/js/cotacoes/criar.js:227", "shortDescription": {"text": "Commented-code block (5 lines) in app/templates/carvia/js/cotacoes/criar.js:227"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3c732f50d39a598d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/cotacoes/criar.js:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/cotacoes/criar.js:13"}, "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-93bd6ac94eff7381", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/importar/resultado.js:48", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/importar/resultado.js:48"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-726294b1ca506258", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/faturas_transportadora/visualizar.js:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/faturas_transportadora/visualizar.js:41"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5048dff4a60e964a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/configuracoes/tabelas-frete.js:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/configuracoes/tabelas-frete.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-359c7a6def2ae699", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/modal-pedido-detalhes.js:471", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/modal-pedido-detalhes.js:471"}, "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-685e51f4eb789ee5", "name": "Commented-code block (5 lines) in app/templates/carteira/js/separacao-manager.js:214", "shortDescription": {"text": "Commented-code block (5 lines) in app/templates/carteira/js/separacao-manager.js:214"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-15db641d3fa3cce2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/separacao-manager.js:148", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/separacao-manager.js:148"}, "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-27f78d6afef48b01", "name": "Commented-code block (5 lines) in app/templates/carteira/js/workspace-montagem.js:1711", "shortDescription": {"text": "Commented-code block (5 lines) in app/templates/carteira/js/workspace-montagem.js:1711"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d73de08fe7b55cc6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/workspace-montagem.js:765", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/workspace-montagem.js:765"}, "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-be27bbfe0348627e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/modal-cardex.js:454", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/modal-cardex.js:454"}, "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-653142bc7443cd06", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/modal-cardex-expandido.js:83", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/modal-cardex-expandido.js:83"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c92aa614b33c1549", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/ruptura-estoque.js:407", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/ruptura-estoque.js:407"}, "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-5df8bf73b722327b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/carteira-agrupada.js:1063", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/carteira-agrupada.js:1063"}, "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-8d26fc2e0a7d882e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:92", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:92"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-214c3186bb2698b9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/agendamento/sendas/portal-sendas.js:54", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/agendamento/sendas/portal-sendas.js:54"}, "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-83f51494c8879106", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/workspace/workspace-api.js:97", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/workspace/workspace-api.js:97"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-00204d303f4ee469", "name": "Commented-code block (8 lines) in app/hora/models/cadastro.py:108", "shortDescription": {"text": "Commented-code block (8 lines) in app/hora/models/cadastro.py:108"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1b6eb590cba48c31", "name": "Commented-code block (6 lines) in app/hora/models/tagplus.py:127", "shortDescription": {"text": "Commented-code block (6 lines) in app/hora/models/tagplus.py:127"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-11448343d4e9a086", "name": "Legacy-named symbol `danfe_pdf_parser_v1` in app/hora/models/venda.py:158", "shortDescription": {"text": "Legacy-named symbol `danfe_pdf_parser_v1` in app/hora/models/venda.py:158"}, "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-5eb5272e40847edd", "name": "Commented-code block (8 lines) in app/hora/models/venda.py:98", "shortDescription": {"text": "Commented-code block (8 lines) in app/hora/models/venda.py:98"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eff305da3916a9c5", "name": "Commented-code block (5 lines) in app/hora/models/recebimento.py:223", "shortDescription": {"text": "Commented-code block (5 lines) in app/hora/models/recebimento.py:223"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0e3882a80a336395", "name": "Legacy-named symbol `danfe_pdf_parser_v1` in app/hora/models/compra.py:151", "shortDescription": {"text": "Legacy-named symbol `danfe_pdf_parser_v1` in app/hora/models/compra.py:151"}, "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-e9cdf028d9979968", "name": "Commented-code block (5 lines) in app/hora/models/compra.py:36", "shortDescription": {"text": "Commented-code block (5 lines) in app/hora/models/compra.py:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-443d2d0102277d80", "name": "Commented-code block (5 lines) in app/hora/models/permissao.py:45", "shortDescription": {"text": "Commented-code block (5 lines) in app/hora/models/permissao.py:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b89a87af158dba94", "name": "Commented-code block (5 lines) in app/hora/routes/permissoes.py:50", "shortDescription": {"text": "Commented-code block (5 lines) in app/hora/routes/permissoes.py:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-05aa6e0b7558259a", "name": "Commented-code block (5 lines) in app/hora/routes/tagplus_routes.py:1160", "shortDescription": {"text": "Commented-code block (5 lines) in app/hora/routes/tagplus_routes.py:1160"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-676bdd6dd175bf4a", "name": "Commented-code block (8 lines) in app/hora/routes/pedidos.py:220", "shortDescription": {"text": "Commented-code block (8 lines) in app/hora/routes/pedidos.py:220"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-27be75ac1636ec48", "name": "Commented-code block (6 lines) in app/hora/routes/recebimentos.py:119", "shortDescription": {"text": "Commented-code block (6 lines) in app/hora/routes/recebimentos.py:119"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-73dc00b01470c6b2", "name": "Commented-code block (6 lines) in app/hora/workers/emissao_nfe_worker.py:107", "shortDescription": {"text": "Commented-code block (6 lines) in app/hora/workers/emissao_nfe_worker.py:107"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-76510b2a21513a9b", "name": "Commented-code block (6 lines) in app/hora/workers/reconciliacao_worker.py:32", "shortDescription": {"text": "Commented-code block (6 lines) in app/hora/workers/reconciliacao_worker.py:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-debe4c6791477689", "name": "Legacy-named symbol `danfe_pdf_parser_v1` in app/hora/services/nf_entrada_service.py:157", "shortDescription": {"text": "Legacy-named symbol `danfe_pdf_parser_v1` in app/hora/services/nf_entrada_service.py:157"}, "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-e8c9762a271ebe66", "name": "Commented-code block (5 lines) in app/hora/services/nf_entrada_service.py:138", "shortDescription": {"text": "Commented-code block (5 lines) in app/hora/services/nf_entrada_service.py:138"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a846292967af9957", "name": "Commented-code block (7 lines) in app/hora/services/estoque_service.py:31", "shortDescription": {"text": "Commented-code block (7 lines) in app/hora/services/estoque_service.py:31"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-edbec4f8f1471709", "name": "Commented-code block (7 lines) in app/hora/services/modelo_retroatividade_service.py:82", "shortDescription": {"text": "Commented-code block (7 lines) in app/hora/services/modelo_retroatividade_service.py:82"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ae98c2ffe4ae962d", "name": "Commented-code block (6 lines) in app/hora/services/devolucao_venda_service.py:316", "shortDescription": {"text": "Commented-code block (6 lines) in app/hora/services/devolucao_venda_service.py:316"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ccd9bc1bbd1448da", "name": "Commented-code block (5 lines) in app/hora/services/venda_audit.py:54", "shortDescription": {"text": "Commented-code block (5 lines) in app/hora/services/venda_audit.py:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-338f169de5c56bcc", "name": "Legacy-named symbol `forma_legacy` in app/hora/services/venda_service.py:783", "shortDescription": {"text": "Legacy-named symbol `forma_legacy` in app/hora/services/venda_service.py:783"}, "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-ade62a9732bdd780", "name": "Commented-code block (7 lines) in app/hora/services/venda_service.py:136", "shortDescription": {"text": "Commented-code block (7 lines) in app/hora/services/venda_service.py:136"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d6049577eef10da8", "name": "Commented-code block (5 lines) in app/hora/services/pedido_service.py:813", "shortDescription": {"text": "Commented-code block (5 lines) in app/hora/services/pedido_service.py:813"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-90708757e3190605", "name": "Commented-code block (7 lines) in app/hora/services/parser_append_service.py:41", "shortDescription": {"text": "Commented-code block (7 lines) in app/hora/services/parser_append_service.py:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa04a698664e6a9d", "name": "Commented-code block (5 lines) in app/hora/services/recebimento_service.py:390", "shortDescription": {"text": "Commented-code block (5 lines) in app/hora/services/recebimento_service.py:390"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e83ca9ec47e7b1fc", "name": "Legacy-named symbol `danfe_pdf_parser_v1` in app/hora/services/parsers/danfe_adapter.py:83", "shortDescription": {"text": "Legacy-named symbol `danfe_pdf_parser_v1` in app/hora/services/parsers/danfe_adapter.py:83"}, "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-b8f99dd176f8c4c3", "name": "Commented-code block (6 lines) in app/hora/services/parsers/danfe_adapter.py:196", "shortDescription": {"text": "Commented-code block (6 lines) in app/hora/services/parsers/danfe_adapter.py:196"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-66f9263807019681", "name": "Commented-code block (5 lines) in app/hora/services/tagplus/api_client.py:25", "shortDescription": {"text": "Commented-code block (5 lines) in app/hora/services/tagplus/api_client.py:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f954c05533a9ae7f", "name": "Commented-code block (5 lines) in app/hora/services/tagplus/pedido_backfill_service.py:510", "shortDescription": {"text": "Commented-code block (5 lines) in app/hora/services/tagplus/pedido_backfill_service.py:510"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-22c7149b51c0bb48", "name": "Commented-code block (6 lines) in app/hora/services/tagplus/webhook_handler.py:106", "shortDescription": {"text": "Commented-code block (6 lines) in app/hora/services/tagplus/webhook_handler.py:106"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e903281534c0fb52", "name": "Legacy-named symbol `pagamento_misto_legacy` in app/hora/services/tagplus/payload_builder.py:89", "shortDescription": {"text": "Legacy-named symbol `pagamento_misto_legacy` in app/hora/services/tagplus/payload_builder.py:89"}, "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-74009ceece1c0442", "name": "Commented-code block (5 lines) in app/hora/services/tagplus/payload_builder.py:132", "shortDescription": {"text": "Commented-code block (5 lines) in app/hora/services/tagplus/payload_builder.py:132"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4200a357abb4232c", "name": "Legacy-named symbol `oauth2_v2` in app/hora/services/tagplus/oauth_client.py:1", "shortDescription": {"text": "Legacy-named symbol `oauth2_v2` in app/hora/services/tagplus/oauth_client.py:1"}, "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-5223fcd4444daa75", "name": "Legacy-named symbol `tagplus_api_v1` in app/hora/services/tagplus/backfill_service.py:949", "shortDescription": {"text": "Legacy-named symbol `tagplus_api_v1` in app/hora/services/tagplus/backfill_service.py:949"}, "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-68174ffde68e373a", "name": "Commented-code block (5 lines) in app/hora/services/tagplus/backfill_service.py:128", "shortDescription": {"text": "Commented-code block (5 lines) in app/hora/services/tagplus/backfill_service.py:128"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6774a95dafb04a79", "name": "Commented-code block (5 lines) in app/agente/models.py:401", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/models.py:401"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ebe753be0d318456", "name": "Commented-code block (5 lines) in app/agente/config/feature_flags.py:14", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/config/feature_flags.py:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-98c024912e9789cf", "name": "Commented-code block (5 lines) in app/agente/config/settings.py:50", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/config/settings.py:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2abda2fea8089b02", "name": "Commented-code block (8 lines) in app/agente/config/permissions.py:255", "shortDescription": {"text": "Commented-code block (8 lines) in app/agente/config/permissions.py:255"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c66519a42ee788ca", "name": "Commented-code block (5 lines) in app/agente/config/agent_loader.py:397", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/config/agent_loader.py:397"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e144c576b84df8fc", "name": "Commented-code block (5 lines) in app/agente/routes/subagents.py:450", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/routes/subagents.py:450"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c217a89cbbc52ca", "name": "Commented-code block (5 lines) in app/agente/routes/admin_subagents.py:26", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/routes/admin_subagents.py:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cf9ce841dae0d2f5", "name": "Commented-code block (8 lines) in app/agente/routes/_constants.py:10", "shortDescription": {"text": "Commented-code block (8 lines) in app/agente/routes/_constants.py:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f5b297b45cbbd3a", "name": "Commented-code block (5 lines) in app/agente/routes/chat.py:101", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/routes/chat.py:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a064df80e53b3b20", "name": "Commented-code block (7 lines) in app/agente/routes/_helpers.py:198", "shortDescription": {"text": "Commented-code block (7 lines) in app/agente/routes/_helpers.py:198"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1d8d8e688ce979c7", "name": "Commented-code block (7 lines) in app/agente/routes/sessions.py:389", "shortDescription": {"text": "Commented-code block (7 lines) in app/agente/routes/sessions.py:389"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ecd014e91a701264", "name": "Commented-code block (6 lines) in app/agente/workers/step_judge.py:279", "shortDescription": {"text": "Commented-code block (6 lines) in app/agente/workers/step_judge.py:279"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-08835474391de816", "name": "Commented-code block (6 lines) in app/agente/workers/triage_shadow.py:164", "shortDescription": {"text": "Commented-code block (6 lines) in app/agente/workers/triage_shadow.py:164"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-25697d136d0c3ebd", "name": "Commented-code block (7 lines) in app/agente/workers/plan_verifier.py:306", "shortDescription": {"text": "Commented-code block (7 lines) in app/agente/workers/plan_verifier.py:306"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-67abfb06b306ff9f", "name": "Commented-code block (5 lines) in app/agente/services/metrics_dashboard_service.py:228", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/services/metrics_dashboard_service.py:228"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-34ddd9cbecec9cd1", "name": "Legacy-named symbol `words_old` in app/agente/services/pattern_analyzer.py:1907", "shortDescription": {"text": "Legacy-named symbol `words_old` in app/agente/services/pattern_analyzer.py:1907"}, "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-ca50a026288ec44d", "name": "Commented-code block (8 lines) in app/agente/services/pattern_analyzer.py:879", "shortDescription": {"text": "Commented-code block (8 lines) in app/agente/services/pattern_analyzer.py:879"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3e274e8a453a7c30", "name": "Commented-code block (5 lines) in app/agente/services/artifact_service.py:164", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/services/artifact_service.py:164"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6bf0eaf1e39840ec", "name": "Commented-code block (5 lines) in app/agente/services/session_summarizer.py:71", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/services/session_summarizer.py:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1f5d8b195403cede", "name": "Commented-code block (5 lines) in app/agente/services/insights_service.py:1768", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/services/insights_service.py:1768"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3273ba3ecaa4a1e9", "name": "Commented-code block (5 lines) in app/agente/services/intersession_briefing.py:85", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/services/intersession_briefing.py:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e829e5c6c735c688", "name": "Commented-code block (5 lines) in app/agente/services/directive_promotion_service.py:857", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/services/directive_promotion_service.py:857"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a1efbb0cc1405adf", "name": "Commented-code block (5 lines) in app/agente/tools/memory_mcp_tool.py:35", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/tools/memory_mcp_tool.py: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-e9b9160feb8eb5a2", "name": "Commented-code block (6 lines) in app/agente/tools/ontology_query_tool.py:196", "shortDescription": {"text": "Commented-code block (6 lines) in app/agente/tools/ontology_query_tool.py:196"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f1660dcab23bc39a", "name": "Network/subprocess call without timeout or try/except \u2014 app/agente/tools/render_logs_tool.py:216", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 app/agente/tools/render_logs_tool.py:216"}, "fullDescription": {"text": "`requests.get(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ce0626f8d0568041", "name": "Commented-code block (5 lines) in app/agente/tools/_mcp_enhanced.py:338", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente/tools/_mcp_enhanced.py:338"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c62cd4881309674", "name": "Legacy-named symbol `rules_block_tail_legacy` in app/agente/sdk/memory_injection.py:1221", "shortDescription": {"text": "Legacy-named symbol `rules_block_tail_legacy` in app/agente/sdk/memory_injection.py:1221"}, "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-eeb51016662935b7", "name": "Commented-code block (15 lines) in app/agente/sdk/memory_injection.py:38", "shortDescription": {"text": "Commented-code block (15 lines) in app/agente/sdk/memory_injection.py: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-0459e04de72e54f9", "name": "Commented-code block (6 lines) in app/agente/sdk/client.py:48", "shortDescription": {"text": "Commented-code block (6 lines) in app/agente/sdk/client.py:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0ff955c161756be2", "name": "Commented-code block (7 lines) in app/agente/sdk/session_archive.py:110", "shortDescription": {"text": "Commented-code block (7 lines) in app/agente/sdk/session_archive.py:110"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-68523080b6335fbd", "name": "Commented-code block (8 lines) in app/agente/sdk/model_router.py:39", "shortDescription": {"text": "Commented-code block (8 lines) in app/agente/sdk/model_router.py:39"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c4d26133831c5067", "name": "Commented-code block (6 lines) in app/agente/sdk/cost_tracker.py:243", "shortDescription": {"text": "Commented-code block (6 lines) in app/agente/sdk/cost_tracker.py:243"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fe5a5bf3662f4c5b", "name": "Commented-code block (6 lines) in app/agente/sdk/_sanitization.py:24", "shortDescription": {"text": "Commented-code block (6 lines) in app/agente/sdk/_sanitization.py:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-55a3c786c17cebda", "name": "Commented-code block (6 lines) in app/agente/sdk/session_store_adapter.py:76", "shortDescription": {"text": "Commented-code block (6 lines) in app/agente/sdk/session_store_adapter.py: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-837f2b833409dbc3", "name": "Commented-code block (10 lines) in app/agente/sdk/pending_questions.py:62", "shortDescription": {"text": "Commented-code block (10 lines) in app/agente/sdk/pending_questions.py:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1694698af606e0b1", "name": "Commented-code block (8 lines) in app/agente/sdk/hooks.py:313", "shortDescription": {"text": "Commented-code block (8 lines) in app/agente/sdk/hooks.py:313"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-46c47da768ad2980", "name": "Commented-code block (8 lines) in app/agente/sdk/subagent_reader.py:312", "shortDescription": {"text": "Commented-code block (8 lines) in app/agente/sdk/subagent_reader.py:312"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-30098ac4404a1c12", "name": "Commented-code block (7 lines) in app/agente/sdk/client_pool.py:158", "shortDescription": {"text": "Commented-code block (7 lines) in app/agente/sdk/client_pool.py:158"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-afa0708eeee835a1", "name": "Legacy-named symbol `list_objects_v2` in app/relatorios_fiscais/services/sped_ecd_service.py:474", "shortDescription": {"text": "Legacy-named symbol `list_objects_v2` in app/relatorios_fiscais/services/sped_ecd_service.py:474"}, "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-0c98a27a714be403", "name": "Commented-code block (6 lines) in app/relatorios_fiscais/services/sped_ecd_service.py:113", "shortDescription": {"text": "Commented-code block (6 lines) in app/relatorios_fiscais/services/sped_ecd_service.py:113"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2e982b3111a60cad", "name": "Commented-code block (5 lines) in app/relatorios_fiscais/services/sped_ecd_validator.py:370", "shortDescription": {"text": "Commented-code block (5 lines) in app/relatorios_fiscais/services/sped_ecd_validator.py:370"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f75ecf4700c79ce", "name": "Commented-code block (5 lines) in app/relatorios_fiscais/services/sped_ecd_constantes.py:66", "shortDescription": {"text": "Commented-code block (5 lines) in app/relatorios_fiscais/services/sped_ecd_constantes.py:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-97ec521f7fb5743a", "name": "Commented-code block (6 lines) in app/relatorios_fiscais/services/sped_ecd_data.py:1253", "shortDescription": {"text": "Commented-code block (6 lines) in app/relatorios_fiscais/services/sped_ecd_data.py:1253"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d68e32021ca18ae5", "name": "Commented-code block (5 lines) in app/relatorios_fiscais/services/sped_ecd_blocks.py:326", "shortDescription": {"text": "Commented-code block (5 lines) in app/relatorios_fiscais/services/sped_ecd_blocks.py:326"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5b1e2df104a0188d", "name": "Commented-code block (8 lines) in app/embeddings/config.py:20", "shortDescription": {"text": "Commented-code block (8 lines) in app/embeddings/config.py:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c4a64cdc8b118159", "name": "Commented-code block (5 lines) in app/embeddings/service.py:841", "shortDescription": {"text": "Commented-code block (5 lines) in app/embeddings/service.py:841"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-37c2c7833609330e", "name": "Commented-code block (5 lines) in app/embeddings/indexers/route_template_indexer.py:383", "shortDescription": {"text": "Commented-code block (5 lines) in app/embeddings/indexers/route_template_indexer.py:383"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-31bf375eaf263153", "name": "Commented-code block (5 lines) in app/embeddings/indexers/sped_ecd_rules_indexer.py:56", "shortDescription": {"text": "Commented-code block (5 lines) in app/embeddings/indexers/sped_ecd_rules_indexer.py:56"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b119c8b320016e87", "name": "Commented-code block (5 lines) in app/agente_lojas/routes/chat.py:233", "shortDescription": {"text": "Commented-code block (5 lines) in app/agente_lojas/routes/chat.py:233"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-07e18c2334cfcd14", "name": "Commented-code block (9 lines) in app/agente_lojas/sdk/client.py:76", "shortDescription": {"text": "Commented-code block (9 lines) in app/agente_lojas/sdk/client.py: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-99042f6604513635", "name": "Legacy-named symbol `marcadores_v2` in app/financeiro/leitor_comprovantes_sicoob.py:302", "shortDescription": {"text": "Legacy-named symbol `marcadores_v2` in app/financeiro/leitor_comprovantes_sicoob.py:302"}, "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-2d122ad8b1259b22", "name": "Commented-code block (6 lines) in app/financeiro/models.py:360", "shortDescription": {"text": "Commented-code block (6 lines) in app/financeiro/models.py:360"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2adc1c55d946df65", "name": "Legacy-named symbol `remover_pagamentos_v2` in app/financeiro/remover_pagamentos_v2.py:10", "shortDescription": {"text": "Legacy-named symbol `remover_pagamentos_v2` in app/financeiro/remover_pagamentos_v2.py:10"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-98ff5dceadb95af8", "name": "Commented-code block (7 lines) in app/financeiro/routes/baixas.py:295", "shortDescription": {"text": "Commented-code block (7 lines) in app/financeiro/routes/baixas.py:295"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fcfc79538f495138", "name": "Commented-code block (5 lines) in app/financeiro/services/cnab400_processor_service.py:132", "shortDescription": {"text": "Commented-code block (5 lines) in app/financeiro/services/cnab400_processor_service.py:132"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-40be3db02b91a210", "name": "Commented-code block (5 lines) in app/financeiro/services/extrato_conciliacao_service.py:743", "shortDescription": {"text": "Commented-code block (5 lines) in app/financeiro/services/extrato_conciliacao_service.py:743"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-241460eff1af24aa", "name": "Commented-code block (7 lines) in app/financeiro/services/extrato_matching_service.py:1227", "shortDescription": {"text": "Commented-code block (7 lines) in app/financeiro/services/extrato_matching_service.py:1227"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f8b7ea1dbbb60fc", "name": "Commented-code block (6 lines) in app/financeiro/services/pagamento_matching_service.py:751", "shortDescription": {"text": "Commented-code block (6 lines) in app/financeiro/services/pagamento_matching_service.py:751"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-38b81c8756750964", "name": "Commented-code block (5 lines) in app/financeiro/services/ofx_parser_service.py:19", "shortDescription": {"text": "Commented-code block (5 lines) in app/financeiro/services/ofx_parser_service.py:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ff0cd40977740991", "name": "Commented-code block (5 lines) in app/financeiro/services/baixa_pagamentos_service.py:1130", "shortDescription": {"text": "Commented-code block (5 lines) in app/financeiro/services/baixa_pagamentos_service.py:1130"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c03774a0ed02eb65", "name": "Commented-code block (5 lines) in app/financeiro/services/contas_receber_service.py:157", "shortDescription": {"text": "Commented-code block (5 lines) in app/financeiro/services/contas_receber_service.py:157"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e8df6dfacd388cf4", "name": "Commented-code block (5 lines) in app/financeiro/services/baixa_titulos_service.py:1084", "shortDescription": {"text": "Commented-code block (5 lines) in app/financeiro/services/baixa_titulos_service.py:1084"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c2a81e07eba858b0", "name": "Commented-code block (5 lines) in app/fretes/routes.py:75", "shortDescription": {"text": "Commented-code block (5 lines) in app/fretes/routes.py:75"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a08694d4f1c708ef", "name": "Commented-code block (5 lines) in app/fretes/models.py:5", "shortDescription": {"text": "Commented-code block (5 lines) in app/fretes/models.py: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-d57a79c6d4f4faa2", "name": "Commented-code block (6 lines) in app/fretes/services/lancamento_odoo_service.py:2094", "shortDescription": {"text": "Commented-code block (6 lines) in app/fretes/services/lancamento_odoo_service.py:2094"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1a425c67f6b34e30", "name": "Legacy-named symbol `valores_backup` in app/fretes/services/lancamento_despesa_odoo_service.py:966", "shortDescription": {"text": "Legacy-named symbol `valores_backup` in app/fretes/services/lancamento_despesa_odoo_service.py:966"}, "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-16d0d983397b845a", "name": "Commented-code block (6 lines) in app/fretes/jobs/cte_cancelamento_outlook_job.py:195", "shortDescription": {"text": "Commented-code block (6 lines) in app/fretes/jobs/cte_cancelamento_outlook_job.py:195"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cd008330ceaaa334", "name": "Legacy-named symbol `_baixa_produto_pedido_old` in app/carteira/models.py:223", "shortDescription": {"text": "Legacy-named symbol `_baixa_produto_pedido_old` in app/carteira/models.py:223"}, "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-956985c0fb721808", "name": "Commented-code block (8 lines) in app/carteira/models.py:484", "shortDescription": {"text": "Commented-code block (8 lines) in app/carteira/models.py:484"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7d9f5c9ae074dac4", "name": "Commented-code block (8 lines) in app/carteira/routes/programacao_em_lote/importar_agendamentos.py:495", "shortDescription": {"text": "Commented-code block (8 lines) in app/carteira/routes/programacao_em_lote/importar_agendamentos.py:495"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b4c87230efc86388", "name": "Commented-code block (5 lines) in app/carteira/routes/carteira_simples/dados_api.py:96", "shortDescription": {"text": "Commented-code block (5 lines) in app/carteira/routes/carteira_simples/dados_api.py:96"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-83a218027b58a10c", "name": "Commented-code block (5 lines) in app/carteira/routes/carteira_simples/separacao_api.py:554", "shortDescription": {"text": "Commented-code block (5 lines) in app/carteira/routes/carteira_simples/separacao_api.py:554"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-226e763b8eff677e", "name": "Commented-code block (5 lines) in app/pallet/models/nf_solucao.py:52", "shortDescription": {"text": "Commented-code block (5 lines) in app/pallet/models/nf_solucao.py:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-af579fcac31c47cf", "name": "Commented-code block (5 lines) in app/pallet/models/solucao.py:44", "shortDescription": {"text": "Commented-code block (5 lines) in app/pallet/models/solucao.py:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-87e5b71a4bef17f6", "name": "Legacy-named symbol `pallet_v2` in app/pallet/routes/__init__.py:31", "shortDescription": {"text": "Legacy-named symbol `pallet_v2` in app/pallet/routes/__init__.py:31"}, "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-f03ab4842db8834f", "name": "Legacy-named symbol `pallet_v2` in app/pallet/routes/nf_remessa.py:180", "shortDescription": {"text": "Legacy-named symbol `pallet_v2` in app/pallet/routes/nf_remessa.py:180"}, "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-e3ea7f19e1e98f92", "name": "Legacy-named symbol `pallet_v2` in app/pallet/routes/tratativa_nfs.py:437", "shortDescription": {"text": "Legacy-named symbol `pallet_v2` in app/pallet/routes/tratativa_nfs.py:437"}, "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-4b2e3d91e63622e3", "name": "Legacy-named symbol `pallet_v2` in app/pallet/routes/controle_pallets.py:316", "shortDescription": {"text": "Legacy-named symbol `pallet_v2` in app/pallet/routes/controle_pallets.py:316"}, "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-1a2b1c675410ed92", "name": "Legacy-named symbol `e_v2` in app/pallet/services/sync_odoo_service.py:292", "shortDescription": {"text": "Legacy-named symbol `e_v2` in app/pallet/services/sync_odoo_service.py:292"}, "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-4dab223e0f851a77", "name": "Legacy-named symbol `transferir_v2` in app/estoque/transferencia_estoque_routes.py:4", "shortDescription": {"text": "Legacy-named symbol `transferir_v2` in app/estoque/transferencia_estoque_routes.py:4"}, "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-dcd66d4c4faa2231", "name": "Commented-code block (5 lines) in app/portal/sendas/service_exportacao_sendas.py:310", "shortDescription": {"text": "Commented-code block (5 lines) in app/portal/sendas/service_exportacao_sendas.py:310"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a474ebca5259e374", "name": "Commented-code block (9 lines) in app/pedidos/integracao_odoo/models.py:228", "shortDescription": {"text": "Commented-code block (9 lines) in app/pedidos/integracao_odoo/models.py:228"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-00ae16523ce9df1d", "name": "Legacy-named symbol `lote_id_backup` in app/pedidos/routes/edit_routes.py:479", "shortDescription": {"text": "Legacy-named symbol `lote_id_backup` in app/pedidos/routes/edit_routes.py:479"}, "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-b4a4fd1f2b806f07", "name": "Legacy-named symbol `pedido_id_old` in app/pedidos/routes/cotacao_routes.py:179", "shortDescription": {"text": "Legacy-named symbol `pedido_id_old` in app/pedidos/routes/cotacao_routes.py:179"}, "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-4e1bc4f0424d214d", "name": "Commented-code block (5 lines) in app/pedidos/routes/lista_routes.py:94", "shortDescription": {"text": "Commented-code block (5 lines) in app/pedidos/routes/lista_routes.py:94"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d00aa64ef3bab211", "name": "Commented-code block (6 lines) in app/pedidos/leitura/routes.py:178", "shortDescription": {"text": "Commented-code block (6 lines) in app/pedidos/leitura/routes.py:178"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-704b9c99fa2f3558", "name": "Commented-code block (5 lines) in app/pedidos/leitura/atacadao_pedido_v2.py:35", "shortDescription": {"text": "Commented-code block (5 lines) in app/pedidos/leitura/atacadao_pedido_v2.py: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-959147c149b5b35a", "name": "Commented-code block (5 lines) in app/pedidos/leitura/atacadao_pedido.py:344", "shortDescription": {"text": "Commented-code block (5 lines) in app/pedidos/leitura/atacadao_pedido.py:344"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9011ea5424f5fa90", "name": "Legacy-named symbol `atacadao_pedido_v2` in app/pedidos/leitura/processor.py:118", "shortDescription": {"text": "Legacy-named symbol `atacadao_pedido_v2` in app/pedidos/leitura/processor.py:118"}, "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-0cc9514dbfc7deb1", "name": "Commented-code block (5 lines) in app/pedidos/leitura/processor.py:50", "shortDescription": {"text": "Commented-code block (5 lines) in app/pedidos/leitura/processor.py:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-24e44566cbd70c4e", "name": "Commented-code block (6 lines) in app/pedidos/leitura/identificador.py:66", "shortDescription": {"text": "Commented-code block (6 lines) in app/pedidos/leitura/identificador.py:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f539088de5718158", "name": "Commented-code block (5 lines) in app/pedidos/services/lista_service.py:478", "shortDescription": {"text": "Commented-code block (5 lines) in app/pedidos/services/lista_service.py:478"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-67b76e2b7496fec0", "name": "Commented-code block (5 lines) in app/cotacao/routes.py:1653", "shortDescription": {"text": "Commented-code block (5 lines) in app/cotacao/routes.py:1653"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8ef0d46b169b4639", "name": "Legacy-named symbol `pedido_id_old` in app/cotacao/models.py:66", "shortDescription": {"text": "Legacy-named symbol `pedido_id_old` in app/cotacao/models.py:66"}, "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-093c3662c9bd3724", "name": "Commented-code block (7 lines) in app/motos_assai/models/devolucao.py:106", "shortDescription": {"text": "Commented-code block (7 lines) in app/motos_assai/models/devolucao.py:106"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0846fda636134852", "name": "Commented-code block (5 lines) in app/motos_assai/routes/divergencias.py:426", "shortDescription": {"text": "Commented-code block (5 lines) in app/motos_assai/routes/divergencias.py:426"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-22bfa1743d6ef3b3", "name": "Commented-code block (5 lines) in app/motos_assai/routes/montagem.py:58", "shortDescription": {"text": "Commented-code block (5 lines) in app/motos_assai/routes/montagem.py:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c30c3a36a5bb94bc", "name": "Legacy-named symbol `excel_v1` in app/motos_assai/routes/faturamento.py:408", "shortDescription": {"text": "Legacy-named symbol `excel_v1` in app/motos_assai/routes/faturamento.py:408"}, "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-85940878b62a2b9a", "name": "Commented-code block (5 lines) in app/motos_assai/services/carregamento_service.py:148", "shortDescription": {"text": "Commented-code block (5 lines) in app/motos_assai/services/carregamento_service.py:148"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-de59f45528358f06", "name": "Commented-code block (6 lines) in app/motos_assai/services/cce_service.py:278", "shortDescription": {"text": "Commented-code block (6 lines) in app/motos_assai/services/cce_service.py:278"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-079d7e283011c984", "name": "Commented-code block (5 lines) in app/motos_assai/services/cancelamento_nf_service.py:156", "shortDescription": {"text": "Commented-code block (5 lines) in app/motos_assai/services/cancelamento_nf_service.py:156"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-93bfb99934f9e17c", "name": "Commented-code block (6 lines) in app/motos_assai/services/recibo_service.py:51", "shortDescription": {"text": "Commented-code block (6 lines) in app/motos_assai/services/recibo_service.py:51"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-30b6617aad1a6e7e", "name": "Commented-code block (5 lines) in app/motos_assai/services/pedido_status_service.py:88", "shortDescription": {"text": "Commented-code block (5 lines) in app/motos_assai/services/pedido_status_service.py:88"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dd00106ef3a02960", "name": "Commented-code block (5 lines) in app/motos_assai/services/separacao_mirror_service.py:530", "shortDescription": {"text": "Commented-code block (5 lines) in app/motos_assai/services/separacao_mirror_service.py:530"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5a36d3f06485fb8f", "name": "Commented-code block (7 lines) in app/motos_assai/services/separacao_service.py:468", "shortDescription": {"text": "Commented-code block (7 lines) in app/motos_assai/services/separacao_service.py:468"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e48b7c1eb731c709", "name": "Commented-code block (5 lines) in app/motos_assai/services/parsers/nf_qpa_adapter.py:49", "shortDescription": {"text": "Commented-code block (5 lines) in app/motos_assai/services/parsers/nf_qpa_adapter.py:49"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7ce8d14490e3fdcf", "name": "Commented-code block (5 lines) in app/recebimento/models.py:585", "shortDescription": {"text": "Commented-code block (5 lines) in app/recebimento/models.py:585"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bdfdafa180eaa1ad", "name": "Commented-code block (5 lines) in app/recebimento/services/validacao_nf_po_service.py:250", "shortDescription": {"text": "Commented-code block (5 lines) in app/recebimento/services/validacao_nf_po_service.py:250"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-10f24f2c9561e4b7", "name": "Commented-code block (5 lines) in app/recebimento/services/nf_transferencia_service.py:128", "shortDescription": {"text": "Commented-code block (5 lines) in app/recebimento/services/nf_transferencia_service.py:128"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8ae6a919331d2953", "name": "Commented-code block (6 lines) in app/recebimento/services/depara_service.py:879", "shortDescription": {"text": "Commented-code block (6 lines) in app/recebimento/services/depara_service.py:879"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2a4277337b8be5f7", "name": "Commented-code block (7 lines) in app/recebimento/services/recebimento_lf_odoo_service.py:4085", "shortDescription": {"text": "Commented-code block (7 lines) in app/recebimento/services/recebimento_lf_odoo_service.py:4085"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ab39c798f18231f8", "name": "Stub function `fire_noop` (body is just `pass`/`return`) \u2014 app/recebimento/services/recebimento_lf_odoo_service.py:2625", "shortDescription": {"text": "Stub function `fire_noop` (body is just `pass`/`return`) \u2014 app/recebimento/services/recebimento_lf_odoo_service.py:2625"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-55aa389fc89dfc1a", "name": "Commented-code block (5 lines) in app/recebimento/services/picking_recebimento_sync_service.py:665", "shortDescription": {"text": "Commented-code block (5 lines) in app/recebimento/services/picking_recebimento_sync_service.py:665"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5fc151bf4fc95468", "name": "Commented-code block (7 lines) in app/recebimento/services/recebimento_fisico_odoo_service.py:384", "shortDescription": {"text": "Commented-code block (7 lines) in app/recebimento/services/recebimento_fisico_odoo_service.py:384"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c9235312f9c8ee13", "name": "Commented-code block (7 lines) in app/manufatura/routes/analise_producao_routes.py:827", "shortDescription": {"text": "Commented-code block (7 lines) in app/manufatura/routes/analise_producao_routes.py:827"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-55002d92e7414813", "name": "Legacy-named symbol `projetar_componentes_consolidado_v2` in app/manufatura/routes/projecao_estoque_routes.py:123", "shortDescription": {"text": "Legacy-named symbol `projetar_componentes_consolidado_v2` in app/manufatura/routes/projecao_estoque_routes.py:123"}, "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-3ed5f6be3315539c", "name": "Legacy-named symbol `projetar_componentes_consolidado_v2` in app/manufatura/services/projecao_estoque_service.py:158", "shortDescription": {"text": "Legacy-named symbol `projetar_componentes_consolidado_v2` in app/manufatura/services/projecao_estoque_service.py:158"}, "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-653522d048b0d3a4", "name": "Commented-code block (6 lines) in app/custeio/routes/custeio_routes.py:190", "shortDescription": {"text": "Commented-code block (6 lines) in app/custeio/routes/custeio_routes.py:190"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-82e30d963c96d808", "name": "Commented-code block (6 lines) in app/custeio/services/custeio_service.py:926", "shortDescription": {"text": "Commented-code block (6 lines) in app/custeio/services/custeio_service.py:926"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b7437ff2e5d701ce", "name": "Commented-code block (5 lines) in app/pessoal/routes/transacoes.py:208", "shortDescription": {"text": "Commented-code block (5 lines) in app/pessoal/routes/transacoes.py:208"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-52414911cacbb3a1", "name": "Commented-code block (5 lines) in app/pessoal/services/aprendizado_service.py:228", "shortDescription": {"text": "Commented-code block (5 lines) in app/pessoal/services/aprendizado_service.py:228"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5ce530cefe7b464", "name": "Commented-code block (5 lines) in app/pessoal/services/parsers/bradesco_cartao_parser.py:127", "shortDescription": {"text": "Commented-code block (5 lines) in app/pessoal/services/parsers/bradesco_cartao_parser.py:127"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d25d7a28975903cd", "name": "Commented-code block (5 lines) in app/scheduler/sincronizacao_incremental_definitiva.py:106", "shortDescription": {"text": "Commented-code block (5 lines) in app/scheduler/sincronizacao_incremental_definitiva.py:106"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-09d9ed89e22017ce", "name": "Legacy-named symbol `cnpj_old` in app/embarques/routes.py:1779", "shortDescription": {"text": "Legacy-named symbol `cnpj_old` in app/embarques/routes.py:1779"}, "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-c47ec85be8f84336", "name": "Commented-code block (7 lines) in app/embarques/routes.py:320", "shortDescription": {"text": "Commented-code block (7 lines) in app/embarques/routes.py:320"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-84c8fa32eadf6cf7", "name": "Commented-code block (7 lines) in app/embarques/services/docs_carvia_service.py:29", "shortDescription": {"text": "Commented-code block (7 lines) in app/embarques/services/docs_carvia_service.py:29"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ff33988b3a932289", "name": "Legacy-named symbol `importador_v2` in app/integracoes/tagplus/routes.py:7", "shortDescription": {"text": "Legacy-named symbol `importador_v2` in app/integracoes/tagplus/routes.py: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-6cca17f12993c801", "name": "Legacy-named symbol `importador_v2` in app/integracoes/tagplus/webhook_routes.py:110", "shortDescription": {"text": "Legacy-named symbol `importador_v2` in app/integracoes/tagplus/webhook_routes.py:110"}, "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-15bdc3a973a9d3ea", "name": "Legacy-named symbol `oauth2_v2` in app/integracoes/tagplus/oauth_routes.py:7", "shortDescription": {"text": "Legacy-named symbol `oauth2_v2` in app/integracoes/tagplus/oauth_routes.py: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-e406f451bf358e79", "name": "Legacy-named symbol `correcao_pedidos_service_v2` in app/integracoes/tagplus/importador_v2.py:13", "shortDescription": {"text": "Legacy-named symbol `correcao_pedidos_service_v2` in app/integracoes/tagplus/importador_v2.py: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-5af1a0a3199c76b8", "name": "Legacy-named symbol `importador_v2` in app/integracoes/tagplus/_deprecated/listar_nfs_disponiveis.py:5", "shortDescription": {"text": "Legacy-named symbol `importador_v2` in app/integracoes/tagplus/_deprecated/listar_nfs_disponiveis.py:5"}, "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-8a035c2a078633a8", "name": "Commented-code block (5 lines) in app/monitoramento/routes.py:874", "shortDescription": {"text": "Commented-code block (5 lines) in app/monitoramento/routes.py:874"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1a884c6505f85958", "name": "Legacy-named symbol `api_get_user_permissions_legacy` in backups/permissions_backup_20250728_164325/permissions/routes.p", "shortDescription": {"text": "Legacy-named symbol `api_get_user_permissions_legacy` in backups/permissions_backup_20250728_164325/permissions/routes.py:140"}, "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-154ce9bcc4b26c36", "name": "Legacy-named symbol `_batch_copy` in backups/permissions_backup_20250728_164325/permissions/api.py:520", "shortDescription": {"text": "Legacy-named symbol `_batch_copy` in backups/permissions_backup_20250728_164325/permissions/api.py:520"}, "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-0e4c1f9689cfe6d9", "name": "Legacy-named symbol `api_get_user_permissions_legacy` in backups/permissions_backup_20250728_164325/app_files/routes.py:", "shortDescription": {"text": "Legacy-named symbol `api_get_user_permissions_legacy` in backups/permissions_backup_20250728_164325/app_files/routes.py:140"}, "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-dc5b42603c073754", "name": "Stub function `init_app` (body is just `pass`/`return`) \u2014 backups/permissions_backup_20250728_164325/app_files/__init__.", "shortDescription": {"text": "Stub function `init_app` (body is just `pass`/`return`) \u2014 backups/permissions_backup_20250728_164325/app_files/__init__.py:17"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f608605d4720f99b", "name": "Legacy-named symbol `uses_old` in .claude/_deprecated/tests/test_routing_refactoring.py:261", "shortDescription": {"text": "Legacy-named symbol `uses_old` in .claude/_deprecated/tests/test_routing_refactoring.py:261"}, "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-eb154dc971f5d094", "name": "Commented-code block (5 lines) in .claude/hooks/validar-estrutura.py:27", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/hooks/validar-estrutura.py:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-261a51927d111c8f", "name": "Commented-code block (5 lines) in .claude/hooks/pad_creation_gate.py:43", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/hooks/pad_creation_gate.py:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b49b0548d351cf6d", "name": "Commented-code block (6 lines) in .claude/skills/operando-portal-atacadao/scripts/agendar_lote.py:493", "shortDescription": {"text": "Commented-code block (6 lines) in .claude/skills/operando-portal-atacadao/scripts/agendar_lote.py:493"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3d939a6f37bfb261", "name": "Commented-code block (5 lines) in .claude/skills/operando-ssw/scripts/consultar_ctrc_101.py:151", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/operando-ssw/scripts/consultar_ctrc_101.py:151"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-66a37b873fe07137", "name": "Commented-code block (5 lines) in .claude/skills/operando-ssw/scripts/emitir_cte_complementar_222.py:301", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/operando-ssw/scripts/emitir_cte_complementar_222.py:301"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ff6f0bb07d6d40ae", "name": "Commented-code block (5 lines) in .claude/skills/operando-ssw/scripts/emitir_cte_004.py:654", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/operando-ssw/scripts/emitir_cte_004.py:654"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9d658c929d99c02f", "name": "Commented-code block (5 lines) in .claude/skills/exportando-arquivos/scripts/exportar.py:45", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/exportando-arquivos/scripts/exportar.py:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0d009c64b155a89f", "name": "Commented-code block (5 lines) in .claude/skills/rastreando-odoo/scripts/rastrear.py:77", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/rastreando-odoo/scripts/rastrear.py:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-61339e5aa167143f", "name": "Commented-code block (5 lines) in .claude/skills/operando-picking-odoo/scripts/operar_picking.py:162", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/operando-picking-odoo/scripts/operar_picking.py:162"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5092f34bd180d7c3", "name": "Legacy-named symbol `existing_v2` in .claude/skills/gerindo-agente/scripts/melhorias.py:317", "shortDescription": {"text": "Legacy-named symbol `existing_v2` in .claude/skills/gerindo-agente/scripts/melhorias.py:317"}, "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-0afff9a1610c343e", "name": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in .claude/skills/planejando-pre-etapa-odoo/scripts/planejar_pr", "shortDescription": {"text": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in .claude/skills/planejando-pre-etapa-odoo/scripts/planejar_pre_etapa.py:14"}, "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-24fe0e5f9e490219", "name": "Commented-code block (5 lines) in .claude/skills/consultando-estoque-loja/scripts/consultando_estoque_loja.py:166", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/consultando-estoque-loja/scripts/consultando_estoque_loja.py:166"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ec99d46f68457632", "name": "Commented-code block (5 lines) in .claude/skills/consultando-sql/scripts/text_to_sql.py:267", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/consultando-sql/scripts/text_to_sql.py:267"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7f3635d2845f301d", "name": "Commented-code block (9 lines) in .claude/skills/consultando-sql/scripts/generate_schemas.py:414", "shortDescription": {"text": "Commented-code block (9 lines) in .claude/skills/consultando-sql/scripts/generate_schemas.py:414"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2f887c7519b9b9ee", "name": "Commented-code block (7 lines) in .claude/skills/transferindo-interno-odoo/scripts/transferir_para_indisp_em_lote.py:440", "shortDescription": {"text": "Commented-code block (7 lines) in .claude/skills/transferindo-interno-odoo/scripts/transferir_para_indisp_em_lote.py:440"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5920bcb88845f20", "name": "Legacy-named symbol `transferir_entre_lotes_v2` in .claude/skills/transferindo-interno-odoo/scripts/transferir.py:3", "shortDescription": {"text": "Legacy-named symbol `transferir_entre_lotes_v2` in .claude/skills/transferindo-interno-odoo/scripts/transferir.py:3"}, "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-ba83d1695920d1c8", "name": "Commented-code block (6 lines) in .claude/skills/transferindo-interno-odoo/scripts/transferir.py:64", "shortDescription": {"text": "Commented-code block (6 lines) in .claude/skills/transferindo-interno-odoo/scripts/transferir.py:64"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-37df77a6cbdd2902", "name": "Commented-code block (5 lines) in azure-functions/frete-bot/bot.py:1243", "shortDescription": {"text": "Commented-code block (5 lines) in azure-functions/frete-bot/bot.py:1243"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3c06aaa58d813238", "name": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/aa92bac3c410_merge_multiple_heads_for_permi", "shortDescription": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/aa92bac3c410_merge_multiple_heads_for_permissions.py:19"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ab07977746bec177", "name": "Legacy-named symbol `permission_system_v1` in migrations/versions/safe_permission_update.py:4", "shortDescription": {"text": "Legacy-named symbol `permission_system_v1` in migrations/versions/safe_permission_update.py:4"}, "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-4b9b4a71e6767490", "name": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/89f8f20d3a04_merge_multiple_permission_head", "shortDescription": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/89f8f20d3a04_merge_multiple_permission_heads.py:19"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e9b07b69aa8f6ed", "name": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/ca53350e4914_merge_heads.py:19", "shortDescription": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/ca53350e4914_merge_heads.py:19"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5632eeac6f3341d4", "name": "Legacy-named symbol `permission_system_v1` in migrations/versions/permission_system_migration.py:3", "shortDescription": {"text": "Legacy-named symbol `permission_system_v1` in migrations/versions/permission_system_migration.py:3"}, "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-420c1b5814806615", "name": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/4ae2a285649c_merge_multiple_heads.py:19", "shortDescription": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/4ae2a285649c_merge_multiple_heads.py:19"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6de33f1976be5b25", "name": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/7e880edbf40a_merge_all_heads_20250808.py:19", "shortDescription": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/7e880edbf40a_merge_all_heads_20250808.py:19"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d13d4b9c97ccc26c", "name": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/2ff2d45b36ff_merge_heads_hora_agendamento_e", "shortDescription": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/2ff2d45b36ff_merge_heads_hora_agendamento_e_peso_.py:19"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d70e6f177df61925", "name": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/10a83c683c02_merge_all_permission_system_he", "shortDescription": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/10a83c683c02_merge_all_permission_system_heads.py:19"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f341860ab6a90be6", "name": "Near-duplicate function bodies in 17 places", "shortDescription": {"text": "Near-duplicate function bodies in 17 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ndocs/industrializacao-fb-lf/scripts/g4_estudo_server_action_grounding.py:m2o, docs/industrializacao-fb-lf/scripts/g4_analise_universo_j847.py:m2o, docs/industrializacao-fb-lf/scripts/g4_g5a_grounding_header.py:m2o, docs/industrializacao-fb-lf/scripts/g5a_experimento_entrada_runif.py:m2o\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9dad557909b86499", "name": "Near-duplicate function bodies in 10 places", "shortDescription": {"text": "Near-duplicate function bodies in 10 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ndocs/industrializacao-fb-lf/scripts/g4_estudo_server_action_grounding.py:main, docs/industrializacao-fb-lf/scripts/g4_analise_universo_j847.py:main, docs/industrializacao-fb-lf/scripts/g4_g5a_grounding_header.py:main, docs/industrializacao-fb-lf/scripts/g4_g5a_grounding_risco.py:main\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ndocs/industrializacao-fb-lf/scripts/g4_estudo_server_action_grounding.py:can, docs/industrializacao-fb-lf/scripts/s8b_server_action_grounding.py:can\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-89915ea02f2b6005", "name": "Near-duplicate function bodies in 23 places", "shortDescription": {"text": "Near-duplicate function bodies in 23 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ndocs/industrializacao-fb-lf/scripts/s57_diag_cobranca_pagamento.py:main, docs/industrializacao-fb-lf/scripts/s48_diag_transmissao_via_sa.py:main, docs/industrializacao-fb-lf/scripts/s29_diag_tax_lines_total_zero.py:main, docs/industrializacao-fb-lf/scripts/s56_estado_pos_crash.py:main\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02525d39071dd2c7", "name": "Near-duplicate function bodies in 5 places", "shortDescription": {"text": "Near-duplicate function bodies in 5 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ndocs/industrializacao-fb-lf/scripts/g4_analise_universo_j847.py:cf, docs/industrializacao-fb-lf/scripts/g4_g5a_grounding_header.py:cf, docs/industrializacao-fb-lf/scripts/g4_g5a_grounding_gaps.py:cf, docs/industrializacao-fb-lf/scripts/g4_g5a_grounding_ops_lf.py:cf\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ndocs/industrializacao-fb-lf/scripts/s8c_gate0_mapear.py:out, docs/industrializacao-fb-lf/scripts/s8b_server_action_grounding.py:out, docs/industrializacao-fb-lf/scripts/s9_grounding_desenho.py:out\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-33a6b62e30ce7ab4", "name": "Near-duplicate function bodies in 6 places", "shortDescription": {"text": "Near-duplicate function bodies in 6 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ndocs/industrializacao-fb-lf/scripts/s8c_gate0_mapear.py:m2o, docs/industrializacao-fb-lf/scripts/s8b_server_action_grounding.py:m2o, docs/industrializacao-fb-lf/scripts/s23_estrutura_solucao.py:m2o, docs/industrializacao-fb-lf/scripts/s22_picking_remessa_origem.py:m2o\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0952e0962f0306de", "name": "Flask mutation route `api_atualizar_ctrc_cte_complementar` without `@login_required` \u2014 app/carvia/routes/api_routes.py:9", "shortDescription": {"text": "Flask mutation route `api_atualizar_ctrc_cte_complementar` without `@login_required` \u2014 app/carvia/routes/api_routes.py:939"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d7af683dfbbb5cad", "name": "Flask mutation route `vincular_ce_cte_complementar` without `@login_required` \u2014 app/carvia/routes/cte_complementar_route", "shortDescription": {"text": "Flask mutation route `vincular_ce_cte_complementar` without `@login_required` \u2014 app/carvia/routes/cte_complementar_routes.py:662"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fe445bd354e51f24", "name": "Flask mutation route `desvincular_ce_cte_complementar` without `@login_required` \u2014 app/carvia/routes/cte_complementar_ro", "shortDescription": {"text": "Flask mutation route `desvincular_ce_cte_complementar` without `@login_required` \u2014 app/carvia/routes/cte_complementar_routes.py:706"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-38c900beccb1618c", "name": "Flask mutation route `api_mesclar_enderecos` without `@login_required` \u2014 app/carvia/routes/cliente_routes.py:336", "shortDescription": {"text": "Flask mutation route `api_mesclar_enderecos` without `@login_required` \u2014 app/carvia/routes/cliente_routes.py:336"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e9999e52f5601187", "name": "Flask mutation route `api_migrar_e_remover_endereco` without `@login_required` \u2014 app/carvia/routes/cliente_routes.py:372", "shortDescription": {"text": "Flask mutation route `api_migrar_e_remover_endereco` without `@login_required` \u2014 app/carvia/routes/cliente_routes.py:372"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-06e205d1d4d76c70", "name": "Flask mutation route `upload_anexo_carvia` without `@login_required` \u2014 app/carvia/routes/anexo_routes.py:29", "shortDescription": {"text": "Flask mutation route `upload_anexo_carvia` without `@login_required` \u2014 app/carvia/routes/anexo_routes.py:29"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5231fee74e9bcc69", "name": "Flask mutation route `retry_emissao_cte_complementar` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes", "shortDescription": {"text": "Flask mutation route `retry_emissao_cte_complementar` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:845"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f08a5b5fe292ab31", "name": "Flask mutation route `vincular_custos_entrega_fatura` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes", "shortDescription": {"text": "Flask mutation route `vincular_custos_entrega_fatura` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:1247"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4162e5312471916b", "name": "Flask mutation route `criar_despesa_por_frete_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes", "shortDescription": {"text": "Flask mutation route `criar_despesa_por_frete_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:1430"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b7da81d3f91cdadf", "name": "Flask mutation route `nova_despesa_do_frete_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.p", "shortDescription": {"text": "Flask mutation route `nova_despesa_do_frete_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:1557"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e3880b364b3636d4", "name": "Flask mutation route `criar_despesa_por_cte_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.p", "shortDescription": {"text": "Flask mutation route `criar_despesa_por_cte_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:1674"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1c1e678ff625f901", "name": "Flask mutation route `editar_documento_despesa_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_route", "shortDescription": {"text": "Flask mutation route `editar_documento_despesa_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:1802"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-85a04fb2b36b37ae", "name": "Flask mutation route `excluir_despesa_extra_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.p", "shortDescription": {"text": "Flask mutation route `excluir_despesa_extra_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:1872"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-05e08a5d22149be6", "name": "Flask mutation route `vincular_cte_comp_despesa_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_rout", "shortDescription": {"text": "Flask mutation route `vincular_cte_comp_despesa_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:1944"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-53175594e7e6fa87", "name": "Flask mutation route `desvincular_cte_comp_despesa_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_r", "shortDescription": {"text": "Flask mutation route `desvincular_cte_comp_despesa_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:2018"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3101a26ab8587de3", "name": "Flask mutation route `vincular_despesa_fatura_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes", "shortDescription": {"text": "Flask mutation route `vincular_despesa_fatura_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:2053"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a40d7012a6189c27", "name": "Flask mutation route `api_registrar_saldo_inicial_cc` without `@login_required` \u2014 app/carvia/routes/conta_corrente_route", "shortDescription": {"text": "Flask mutation route `api_registrar_saldo_inicial_cc` without `@login_required` \u2014 app/carvia/routes/conta_corrente_routes.py:57"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b38b1e199f92a16f", "name": "Flask mutation route `desconsiderar_mov_carvia` without `@login_required` \u2014 app/carvia/routes/conta_corrente_routes.py:2", "shortDescription": {"text": "Flask mutation route `desconsiderar_mov_carvia` without `@login_required` \u2014 app/carvia/routes/conta_corrente_routes.py:231"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cda5f6da54c23ce0", "name": "Flask mutation route `aprovar_subcontrato` without `@login_required` \u2014 app/carvia/routes/aprovacao_routes.py:180", "shortDescription": {"text": "Flask mutation route `aprovar_subcontrato` without `@login_required` \u2014 app/carvia/routes/aprovacao_routes.py:180"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e52809af0c46cea5", "name": "Flask mutation route `rejeitar_subcontrato` without `@login_required` \u2014 app/carvia/routes/aprovacao_routes.py:230", "shortDescription": {"text": "Flask mutation route `rejeitar_subcontrato` without `@login_required` \u2014 app/carvia/routes/aprovacao_routes.py:230"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0f70a7e20fef2a34", "name": "Flask mutation route `solicitar_aprovacao_subcontrato_manual` without `@login_required` \u2014 app/carvia/routes/aprovacao_ro", "shortDescription": {"text": "Flask mutation route `solicitar_aprovacao_subcontrato_manual` without `@login_required` \u2014 app/carvia/routes/aprovacao_routes.py:270"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8bd1a862b1820b4a", "name": "Flask mutation route `aprovar_conferencia_fatura_transportadora` without `@login_required` \u2014 app/carvia/routes/fatura_ro", "shortDescription": {"text": "Flask mutation route `aprovar_conferencia_fatura_transportadora` without `@login_required` \u2014 app/carvia/routes/fatura_routes.py:2368"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-010073b501d96fbe", "name": "Flask mutation route `api_recalcular_valor_fatura_cliente` without `@login_required` \u2014 app/carvia/routes/fatura_routes.p", "shortDescription": {"text": "Flask mutation route `api_recalcular_valor_fatura_cliente` without `@login_required` \u2014 app/carvia/routes/fatura_routes.py:2970"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-44a234b221866003", "name": "Flask mutation route `<anonymous>` without `@login_required` \u2014 app/carvia/routes/admin_routes.py:159", "shortDescription": {"text": "Flask mutation route `<anonymous>` without `@login_required` \u2014 app/carvia/routes/admin_routes.py:159"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b7c114876e82fdc6", "name": "Flask mutation route `api_cascade_cancelar` without `@login_required` \u2014 app/carvia/routes/operacao_routes.py:784", "shortDescription": {"text": "Flask mutation route `api_cascade_cancelar` without `@login_required` \u2014 app/carvia/routes/operacao_routes.py:784"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c168c49ce620830a", "name": "Flask mutation route `messages` without `@login_required` \u2014 azure-functions/frete-bot/function_app.py:25", "shortDescription": {"text": "Flask mutation route `messages` without `@login_required` \u2014 azure-functions/frete-bot/function_app.py:25"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-75f4df8e92aa4bdd", "name": "Flask mutation route `notify` without `@login_required` \u2014 azure-functions/frete-bot/function_app.py:71", "shortDescription": {"text": "Flask mutation route `notify` without `@login_required` \u2014 azure-functions/frete-bot/function_app.py:71"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ccfd8bd321b205a6", "name": "Dangling fetch: POST /portal/api/solicitar-agendamento-nf-async (app/static/js/portal-async-integration.js:312)", "shortDescription": {"text": "Dangling fetch: POST /portal/api/solicitar-agendamento-nf-async (app/static/js/portal-async-integration.js:312)"}, "fullDescription": {"text": "`app/static/js/portal-async-integration.js:312` calls `POST /portal/api/solicitar-agendamento-nf-async` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/api/solicitar-agendamento-nf-async`\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-30db10f8c7e5d125", "name": "Dangling fetch: GET /portal/api/status-filas (app/static/js/portal-async-integration.js:613)", "shortDescription": {"text": "Dangling fetch: GET /portal/api/status-filas (app/static/js/portal-async-integration.js:613)"}, "fullDescription": {"text": "`app/static/js/portal-async-integration.js:613` calls `GET /portal/api/status-filas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/api/status-filas`\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-091b1fbe7d9143b0", "name": "Dangling fetch: GET /carteira/programacao-lote/api/analisar-ruptura-cnpj/${cnpjEncoded} (app/static/js/programacao-lote.", "shortDescription": {"text": "Dangling fetch: GET /carteira/programacao-lote/api/analisar-ruptura-cnpj/${cnpjEncoded} (app/static/js/programacao-lote.js:126)"}, "fullDescription": {"text": "`app/static/js/programacao-lote.js:126` calls `GET /carteira/programacao-lote/api/analisar-ruptura-cnpj/${cnpjEncoded}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/programacao-lote/api/analisar-ruptura-cnpj/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-493ddf8355a15cc7", "name": "Dangling fetch: GET /carteira/programacao-lote/api/analisar-estoques/${rede} (app/static/js/programacao-lote.js:256)", "shortDescription": {"text": "Dangling fetch: GET /carteira/programacao-lote/api/analisar-estoques/${rede} (app/static/js/programacao-lote.js:256)"}, "fullDescription": {"text": "`app/static/js/programacao-lote.js:256` calls `GET /carteira/programacao-lote/api/analisar-estoques/${rede}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/programacao-lote/api/analisar-estoques/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-13bb9935acfe1d7f", "name": "Dangling fetch: POST /carteira/programacao-lote/api/sugerir-datas/${rede} (app/static/js/programacao-lote.js:340)", "shortDescription": {"text": "Dangling fetch: POST /carteira/programacao-lote/api/sugerir-datas/${rede} (app/static/js/programacao-lote.js:340)"}, "fullDescription": {"text": "`app/static/js/programacao-lote.js:340` calls `POST /carteira/programacao-lote/api/sugerir-datas/${rede}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/programacao-lote/api/sugerir-datas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b606ba91382e383b", "name": "Dangling fetch: GET /carteira/programacao-lote/api/analisar-ruptura-cnpj/${cnpjEncoded} (app/static/js/programacao-lote.", "shortDescription": {"text": "Dangling fetch: GET /carteira/programacao-lote/api/analisar-ruptura-cnpj/${cnpjEncoded} (app/static/js/programacao-lote.js:506)"}, "fullDescription": {"text": "`app/static/js/programacao-lote.js:506` calls `GET /carteira/programacao-lote/api/analisar-ruptura-cnpj/${cnpjEncoded}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/programacao-lote/api/analisar-ruptura-cnpj/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-14696189aa4b1f39", "name": "Dangling fetch: GET /carteira/programacao-lote/api/status-job-sendas/${jobId} (app/static/js/programacao-lote.js:1432)", "shortDescription": {"text": "Dangling fetch: GET /carteira/programacao-lote/api/status-job-sendas/${jobId} (app/static/js/programacao-lote.js:1432)"}, "fullDescription": {"text": "`app/static/js/programacao-lote.js:1432` calls `GET /carteira/programacao-lote/api/status-job-sendas/${jobId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/programacao-lote/api/status-job-sendas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7780802a2451c6d9", "name": "Dangling fetch: POST /embarques/excluir_item/${itemId} (app/static/js/embarque.js:25)", "shortDescription": {"text": "Dangling fetch: POST /embarques/excluir_item/${itemId} (app/static/js/embarque.js:25)"}, "fullDescription": {"text": "`app/static/js/embarque.js:25` calls `POST /embarques/excluir_item/${itemId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/embarques/excluir_item/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-061cd50c8ba02700", "name": "Dangling fetch: GET /manufatura/analise-producao/${producaoId}/componentes (app/static/js/analise_producao_componentes.j", "shortDescription": {"text": "Dangling fetch: GET /manufatura/analise-producao/${producaoId}/componentes (app/static/js/analise_producao_componentes.js:50)"}, "fullDescription": {"text": "`app/static/js/analise_producao_componentes.js:50` calls `GET /manufatura/analise-producao/${producaoId}/componentes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/analise-producao/<p>/componentes`\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-744316d0de4b6f99", "name": "Dangling fetch: GET /manufatura/analise-producao/componentes-grupo?ordem_producao=${encodeURIComponent(ordemProducao)}&c", "shortDescription": {"text": "Dangling fetch: GET /manufatura/analise-producao/componentes-grupo?ordem_producao=${encodeURIComponent(ordemProducao)}&cod_produto=${encodeURIComponent(codProduto)} (app/static/js/analise_producao_componentes.js:79)"}, "fullDescription": {"text": "`app/static/js/analise_producao_componentes.js:79` calls `GET /manufatura/analise-producao/componentes-grupo?ordem_producao=${encodeURIComponent(ordemProducao)}&cod_produto=${encodeURIComponent(codProduto)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/analise-producao/componentes-grupo`\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-216eaf7c7cbdb223", "name": "Dangling fetch: GET /manufatura/analise-producao/buscar-produtos?q=${encodeURIComponent(termo)} (app/static/js/analise_p", "shortDescription": {"text": "Dangling fetch: GET /manufatura/analise-producao/buscar-produtos?q=${encodeURIComponent(termo)} (app/static/js/analise_producao_componentes.js:288)"}, "fullDescription": {"text": "`app/static/js/analise_producao_componentes.js:288` calls `GET /manufatura/analise-producao/buscar-produtos?q=${encodeURIComponent(termo)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/analise-producao/buscar-produtos`\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-2abf347edbcf3fab", "name": "Dangling fetch: GET /financeiro/contas-receber/api/${contaId}/comparativo (app/static/js/contas_receber_comparativo.js:7", "shortDescription": {"text": "Dangling fetch: GET /financeiro/contas-receber/api/${contaId}/comparativo (app/static/js/contas_receber_comparativo.js:71)"}, "fullDescription": {"text": "`app/static/js/contas_receber_comparativo.js:71` calls `GET /financeiro/contas-receber/api/${contaId}/comparativo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/financeiro/contas-receber/api/<p>/comparativo`\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-1867497a3f7e0e15", "name": "Dangling fetch: POST /financeiro/contas-receber/api/${comparativoContaId}/importar-baixas (app/static/js/contas_receber_", "shortDescription": {"text": "Dangling fetch: POST /financeiro/contas-receber/api/${comparativoContaId}/importar-baixas (app/static/js/contas_receber_comparativo.js:279)"}, "fullDescription": {"text": "`app/static/js/contas_receber_comparativo.js:279` calls `POST /financeiro/contas-receber/api/${comparativoContaId}/importar-baixas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/financeiro/contas-receber/api/<p>/importar-baixas`\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-f3033ce5a3207888", "name": "Dangling fetch: POST /financeiro/contas-receber/api/${comparativoContaId}/vincular-pendentes (app/static/js/contas_receb", "shortDescription": {"text": "Dangling fetch: POST /financeiro/contas-receber/api/${comparativoContaId}/vincular-pendentes (app/static/js/contas_receber_comparativo.js:324)"}, "fullDescription": {"text": "`app/static/js/contas_receber_comparativo.js:324` calls `POST /financeiro/contas-receber/api/${comparativoContaId}/vincular-pendentes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/financeiro/contas-receber/api/<p>/vincular-pendentes`\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-420167cf0cb004c9", "name": "Dangling fetch: GET /financeiro/contas-receber/api/${comparativoContaId}/reconciliacoes-disponiveis?abatimento_id=${abat", "shortDescription": {"text": "Dangling fetch: GET /financeiro/contas-receber/api/${comparativoContaId}/reconciliacoes-disponiveis?abatimento_id=${abatimentoId} (app/static/js/contas_receber_comparativo.js:356)"}, "fullDescription": {"text": "`app/static/js/contas_receber_comparativo.js:356` calls `GET /financeiro/contas-receber/api/${comparativoContaId}/reconciliacoes-disponiveis?abatimento_id=${abatimentoId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/financeiro/contas-receber/api/<p>/reconciliacoes-disponiveis`\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-3a88d78ea4d7f34c", "name": "Dangling fetch: POST /financeiro/contas-receber/api/abatimento/${abatimentoId}/vincular (app/static/js/contas_receber_co", "shortDescription": {"text": "Dangling fetch: POST /financeiro/contas-receber/api/abatimento/${abatimentoId}/vincular (app/static/js/contas_receber_comparativo.js:399)"}, "fullDescription": {"text": "`app/static/js/contas_receber_comparativo.js:399` calls `POST /financeiro/contas-receber/api/abatimento/${abatimentoId}/vincular` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/financeiro/contas-receber/api/abatimento/<p>/vincular`\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-7f9176b3d8bec3fe", "name": "Dangling fetch: POST /financeiro/contas-receber/api/abatimento/${abatimentoId}/desvincular (app/static/js/contas_receber", "shortDescription": {"text": "Dangling fetch: POST /financeiro/contas-receber/api/abatimento/${abatimentoId}/desvincular (app/static/js/contas_receber_comparativo.js:438)"}, "fullDescription": {"text": "`app/static/js/contas_receber_comparativo.js:438` calls `POST /financeiro/contas-receber/api/abatimento/${abatimentoId}/desvincular` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/financeiro/contas-receber/api/abatimento/<p>/desvincular`\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-d7c09a7383b9f1a6", "name": "Dangling fetch: DELETE /financeiro/contas-receber/api/abatimentos/${abatimentoId} (app/static/js/contas_receber_comparat", "shortDescription": {"text": "Dangling fetch: DELETE /financeiro/contas-receber/api/abatimentos/${abatimentoId} (app/static/js/contas_receber_comparativo.js:479)"}, "fullDescription": {"text": "`app/static/js/contas_receber_comparativo.js:479` calls `DELETE /financeiro/contas-receber/api/abatimentos/${abatimentoId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/financeiro/contas-receber/api/abatimentos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ddac3e0a8dc3cac", "name": "Dangling fetch: POST /financeiro/contas-receber/api/${comparativoContaId}/abatimentos (app/static/js/contas_receber_comp", "shortDescription": {"text": "Dangling fetch: POST /financeiro/contas-receber/api/${comparativoContaId}/abatimentos (app/static/js/contas_receber_comparativo.js:535)"}, "fullDescription": {"text": "`app/static/js/contas_receber_comparativo.js:535` calls `POST /financeiro/contas-receber/api/${comparativoContaId}/abatimentos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/financeiro/contas-receber/api/<p>/abatimentos`\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-28963513f8e4a6f9", "name": "Dangling fetch: GET /carteira/simples/api/autocomplete-produtos?termo=${encodeURIComponent(termo)}&limit=20 (app/static/", "shortDescription": {"text": "Dangling fetch: GET /carteira/simples/api/autocomplete-produtos?termo=${encodeURIComponent(termo)}&limit=20 (app/static/js/carteira-simples.js:265)"}, "fullDescription": {"text": "`app/static/js/carteira-simples.js:265` calls `GET /carteira/simples/api/autocomplete-produtos?termo=${encodeURIComponent(termo)}&limit=20` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/simples/api/autocomplete-produtos`\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-0fcfe507c75580a0", "name": "Dangling fetch: GET /carteira/simples/api/dados?${params} (app/static/js/carteira-simples.js:365)", "shortDescription": {"text": "Dangling fetch: GET /carteira/simples/api/dados?${params} (app/static/js/carteira-simples.js:365)"}, "fullDescription": {"text": "`app/static/js/carteira-simples.js:365` calls `GET /carteira/simples/api/dados?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/simples/api/dados`\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-94376955ca349556", "name": "Dangling fetch: POST /carteira/simples/api/atualizar-qtd-separacao (app/static/js/carteira-simples.js:2018)", "shortDescription": {"text": "Dangling fetch: POST /carteira/simples/api/atualizar-qtd-separacao (app/static/js/carteira-simples.js:2018)"}, "fullDescription": {"text": "`app/static/js/carteira-simples.js:2018` calls `POST /carteira/simples/api/atualizar-qtd-separacao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/simples/api/atualizar-qtd-separacao`\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-a03fa70756516120", "name": "Dangling fetch: POST /carteira/simples/api/atualizar-separacao-lote (app/static/js/carteira-simples.js:2294)", "shortDescription": {"text": "Dangling fetch: POST /carteira/simples/api/atualizar-separacao-lote (app/static/js/carteira-simples.js:2294)"}, "fullDescription": {"text": "`app/static/js/carteira-simples.js:2294` calls `POST /carteira/simples/api/atualizar-separacao-lote` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/simples/api/atualizar-separacao-lote`\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-420806c2f8fa038d", "name": "Dangling fetch: GET /carteira/simples/api/totais-protocolo?protocolo=${encodeURIComponent(protocolo)} (app/static/js/car", "shortDescription": {"text": "Dangling fetch: GET /carteira/simples/api/totais-protocolo?protocolo=${encodeURIComponent(protocolo)} (app/static/js/carteira-simples.js:2442)"}, "fullDescription": {"text": "`app/static/js/carteira-simples.js:2442` calls `GET /carteira/simples/api/totais-protocolo?protocolo=${encodeURIComponent(protocolo)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/simples/api/totais-protocolo`\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-45c19b09a6f8d17b", "name": "Dangling fetch: POST /carteira/simples/api/verificar-separacoes-existentes (app/static/js/carteira-simples.js:2559)", "shortDescription": {"text": "Dangling fetch: POST /carteira/simples/api/verificar-separacoes-existentes (app/static/js/carteira-simples.js:2559)"}, "fullDescription": {"text": "`app/static/js/carteira-simples.js:2559` calls `POST /carteira/simples/api/verificar-separacoes-existentes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/simples/api/verificar-separacoes-existentes`\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-5e6eb08c98ecc311", "name": "Dangling fetch: POST /carteira/simples/api/gerar-separacao (app/static/js/carteira-simples.js:2600)", "shortDescription": {"text": "Dangling fetch: POST /carteira/simples/api/gerar-separacao (app/static/js/carteira-simples.js:2600)"}, "fullDescription": {"text": "`app/static/js/carteira-simples.js:2600` calls `POST /carteira/simples/api/gerar-separacao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/simples/api/gerar-separacao`\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-43a873d2c6e1bbe6", "name": "Dangling fetch: POST /carteira/simples/api/adicionar-itens-separacao (app/static/js/carteira-simples.js:2817)", "shortDescription": {"text": "Dangling fetch: POST /carteira/simples/api/adicionar-itens-separacao (app/static/js/carteira-simples.js:2817)"}, "fullDescription": {"text": "`app/static/js/carteira-simples.js:2817` calls `POST /carteira/simples/api/adicionar-itens-separacao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/simples/api/adicionar-itens-separacao`\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-9fe7207afbe602c8", "name": "Dangling fetch: POST /carteira/api/standby/criar (app/static/js/carteira-simples.js:3640)", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/standby/criar (app/static/js/carteira-simples.js:3640)"}, "fullDescription": {"text": "`app/static/js/carteira-simples.js:3640` calls `POST /carteira/api/standby/criar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/standby/criar`\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-3b342444e19d8432", "name": "Dangling fetch: GET /carteira/simples/api/rastrear-produto?cod_produto=${encodeURIComponent(codProduto)} (app/static/js/", "shortDescription": {"text": "Dangling fetch: GET /carteira/simples/api/rastrear-produto?cod_produto=${encodeURIComponent(codProduto)} (app/static/js/carteira-simples.js:3809)"}, "fullDescription": {"text": "`app/static/js/carteira-simples.js:3809` calls `GET /carteira/simples/api/rastrear-produto?cod_produto=${encodeURIComponent(codProduto)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/simples/api/rastrear-produto`\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-b7af817d534b5569", "name": "Dangling fetch: GET /devolucao/frete/api/ufs (app/static/js/devolucao/ocorrencia-detalhe.js:149)", "shortDescription": {"text": "Dangling fetch: GET /devolucao/frete/api/ufs (app/static/js/devolucao/ocorrencia-detalhe.js:149)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:149` calls `GET /devolucao/frete/api/ufs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/frete/api/ufs`\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-5537426468ee97da", "name": "Dangling fetch: GET /devolucao/frete/api/cidades/${uf} (app/static/js/devolucao/ocorrencia-detalhe.js:205)", "shortDescription": {"text": "Dangling fetch: GET /devolucao/frete/api/cidades/${uf} (app/static/js/devolucao/ocorrencia-detalhe.js:205)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:205` calls `GET /devolucao/frete/api/cidades/${uf}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/frete/api/cidades/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c5e0a4338152d398", "name": "Dangling fetch: GET /devolucao/frete/api/transportadoras (app/static/js/devolucao/ocorrencia-detalhe.js:244)", "shortDescription": {"text": "Dangling fetch: GET /devolucao/frete/api/transportadoras (app/static/js/devolucao/ocorrencia-detalhe.js:244)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:244` calls `GET /devolucao/frete/api/transportadoras` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/frete/api/transportadoras`\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-c89d2d321aa01981", "name": "Dangling fetch: GET /devolucao/frete/api/${ocorrenciaId}/calcular-peso (app/static/js/devolucao/ocorrencia-detalhe.js:28", "shortDescription": {"text": "Dangling fetch: GET /devolucao/frete/api/${ocorrenciaId}/calcular-peso (app/static/js/devolucao/ocorrencia-detalhe.js:289)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:289` calls `GET /devolucao/frete/api/${ocorrenciaId}/calcular-peso` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/frete/api/<p>/calcular-peso`\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-8730eae1caa1c2db", "name": "Dangling fetch: GET /devolucao/frete/api/${ocorrenciaId}/calcular-peso (app/static/js/devolucao/ocorrencia-detalhe.js:32", "shortDescription": {"text": "Dangling fetch: GET /devolucao/frete/api/${ocorrenciaId}/calcular-peso (app/static/js/devolucao/ocorrencia-detalhe.js:320)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:320` calls `GET /devolucao/frete/api/${ocorrenciaId}/calcular-peso` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/frete/api/<p>/calcular-peso`\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-8c3ef5f2b8d18504", "name": "Dangling fetch: POST /devolucao/frete/api/${ocorrenciaId}/estimar-retorno (app/static/js/devolucao/ocorrencia-detalhe.js", "shortDescription": {"text": "Dangling fetch: POST /devolucao/frete/api/${ocorrenciaId}/estimar-retorno (app/static/js/devolucao/ocorrencia-detalhe.js:362)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:362` calls `POST /devolucao/frete/api/${ocorrenciaId}/estimar-retorno` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/frete/api/<p>/estimar-retorno`\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-a043fdc84cd43eaf", "name": "Dangling fetch: PUT /devolucao/ocorrencias/api/${ocorrenciaId}/logistica (app/static/js/devolucao/ocorrencia-detalhe.js:", "shortDescription": {"text": "Dangling fetch: PUT /devolucao/ocorrencias/api/${ocorrenciaId}/logistica (app/static/js/devolucao/ocorrencia-detalhe.js:488)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:488` calls `PUT /devolucao/ocorrencias/api/${ocorrenciaId}/logistica` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/ocorrencias/api/<p>/logistica`\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-9026650cb5d61403", "name": "Dangling fetch: PUT /devolucao/ocorrencias/api/${ocorrenciaId}/comercial (app/static/js/devolucao/ocorrencia-detalhe.js:", "shortDescription": {"text": "Dangling fetch: PUT /devolucao/ocorrencias/api/${ocorrenciaId}/comercial (app/static/js/devolucao/ocorrencia-detalhe.js:544)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:544` calls `PUT /devolucao/ocorrencias/api/${ocorrenciaId}/comercial` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/ocorrencias/api/<p>/comercial`\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-f484046c626cf706", "name": "Dangling fetch: POST /devolucao/ocorrencias/api/${ocorrenciaId}/anexos (app/static/js/devolucao/ocorrencia-detalhe.js:73", "shortDescription": {"text": "Dangling fetch: POST /devolucao/ocorrencias/api/${ocorrenciaId}/anexos (app/static/js/devolucao/ocorrencia-detalhe.js:732)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:732` calls `POST /devolucao/ocorrencias/api/${ocorrenciaId}/anexos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/ocorrencias/api/<p>/anexos`\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-d2a43377c7b470d5", "name": "Dangling fetch: DELETE /devolucao/ocorrencias/api/${ocorrenciaId}/anexos/${anexoId} (app/static/js/devolucao/ocorrencia-", "shortDescription": {"text": "Dangling fetch: DELETE /devolucao/ocorrencias/api/${ocorrenciaId}/anexos/${anexoId} (app/static/js/devolucao/ocorrencia-detalhe.js:777)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:777` calls `DELETE /devolucao/ocorrencias/api/${ocorrenciaId}/anexos/${anexoId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/ocorrencias/api/<p>/anexos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6ec93acdd1fbc386", "name": "Dangling fetch: POST /devolucao/frete/api/${ocorrenciaId}/fretes (app/static/js/devolucao/ocorrencia-detalhe.js:828)", "shortDescription": {"text": "Dangling fetch: POST /devolucao/frete/api/${ocorrenciaId}/fretes (app/static/js/devolucao/ocorrencia-detalhe.js:828)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:828` calls `POST /devolucao/frete/api/${ocorrenciaId}/fretes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/frete/api/<p>/fretes`\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-729da28950ca0951", "name": "Dangling fetch: DELETE /devolucao/frete/api/frete/${freteId} (app/static/js/devolucao/ocorrencia-detalhe.js:866)", "shortDescription": {"text": "Dangling fetch: DELETE /devolucao/frete/api/frete/${freteId} (app/static/js/devolucao/ocorrencia-detalhe.js:866)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:866` calls `DELETE /devolucao/frete/api/frete/${freteId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/frete/api/frete/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e79b6acefc96ec22", "name": "Dangling fetch: PUT /devolucao/frete/api/frete/${freteId}/status (app/static/js/devolucao/ocorrencia-detalhe.js:888)", "shortDescription": {"text": "Dangling fetch: PUT /devolucao/frete/api/frete/${freteId}/status (app/static/js/devolucao/ocorrencia-detalhe.js:888)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:888` calls `PUT /devolucao/frete/api/frete/${freteId}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/frete/api/frete/<p>/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-9acbdfbb9b26af8f", "name": "Dangling fetch: POST /devolucao/frete/api/${ocorrenciaId}/descartes (app/static/js/devolucao/ocorrencia-detalhe.js:1009)", "shortDescription": {"text": "Dangling fetch: POST /devolucao/frete/api/${ocorrenciaId}/descartes (app/static/js/devolucao/ocorrencia-detalhe.js:1009)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:1009` calls `POST /devolucao/frete/api/${ocorrenciaId}/descartes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/frete/api/<p>/descartes`\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-21087d4bbcd4b2df", "name": "Dangling fetch: DELETE /devolucao/frete/api/descarte/${descarteId} (app/static/js/devolucao/ocorrencia-detalhe.js:1047)", "shortDescription": {"text": "Dangling fetch: DELETE /devolucao/frete/api/descarte/${descarteId} (app/static/js/devolucao/ocorrencia-detalhe.js:1047)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:1047` calls `DELETE /devolucao/frete/api/descarte/${descarteId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/frete/api/descarte/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-94dcf90da29e2827", "name": "Dangling fetch: PUT /devolucao/frete/api/descarte/${descarteId}/status (app/static/js/devolucao/ocorrencia-detalhe.js:10", "shortDescription": {"text": "Dangling fetch: PUT /devolucao/frete/api/descarte/${descarteId}/status (app/static/js/devolucao/ocorrencia-detalhe.js:1069)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:1069` calls `PUT /devolucao/frete/api/descarte/${descarteId}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/frete/api/descarte/<p>/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-f66aaa84221bc079", "name": "Dangling fetch: POST /devolucao/frete/api/descarte/${descarteId}/upload/${tipo} (app/static/js/devolucao/ocorrencia-deta", "shortDescription": {"text": "Dangling fetch: POST /devolucao/frete/api/descarte/${descarteId}/upload/${tipo} (app/static/js/devolucao/ocorrencia-detalhe.js:1126)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:1126` calls `POST /devolucao/frete/api/descarte/${descarteId}/upload/${tipo}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/frete/api/descarte/<p>/upload/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8e9ed7e59470bce2", "name": "Dangling fetch: GET /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas (app/static/js/devolucao/ocorrencia-detalhe.js:", "shortDescription": {"text": "Dangling fetch: GET /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas (app/static/js/devolucao/ocorrencia-detalhe.js:1164)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:1164` calls `GET /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/vinculacao/api/<p>/nfs-referenciadas`\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-b48971ae9fb4aecb", "name": "Dangling fetch: POST /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas (app/static/js/devolucao/ocorrencia-detalhe.js", "shortDescription": {"text": "Dangling fetch: POST /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas (app/static/js/devolucao/ocorrencia-detalhe.js:1209)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:1209` calls `POST /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/vinculacao/api/<p>/nfs-referenciadas`\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-7705a9c65de6a302", "name": "Dangling fetch: DELETE /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas/${refId} (app/static/js/devolucao/ocorrencia", "shortDescription": {"text": "Dangling fetch: DELETE /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas/${refId} (app/static/js/devolucao/ocorrencia-detalhe.js:1247)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:1247` calls `DELETE /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas/${refId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/vinculacao/api/<p>/nfs-referenciadas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3e8c0ac6ffdafdfa", "name": "Dangling fetch: GET /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas (app/static/js/devolucao/ocorrencia-detalhe.js:", "shortDescription": {"text": "Dangling fetch: GET /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas (app/static/js/devolucao/ocorrencia-detalhe.js:1269)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:1269` calls `GET /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/vinculacao/api/<p>/nfs-referenciadas`\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-ecb5afe06fca6c73", "name": "Dangling fetch: GET /devolucao/ocorrencias/api/${ocorrenciaId}/comparar-nf-venda (app/static/js/devolucao/ocorrencia-det", "shortDescription": {"text": "Dangling fetch: GET /devolucao/ocorrencias/api/${ocorrenciaId}/comparar-nf-venda (app/static/js/devolucao/ocorrencia-detalhe.js:1322)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:1322` calls `GET /devolucao/ocorrencias/api/${ocorrenciaId}/comparar-nf-venda` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/ocorrencias/api/<p>/comparar-nf-venda`\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-c973411892be2084", "name": "Dangling fetch: POST /devolucao/ai/api/resolver-produto (app/static/js/devolucao/ocorrencia-detalhe.js:1458)", "shortDescription": {"text": "Dangling fetch: POST /devolucao/ai/api/resolver-produto (app/static/js/devolucao/ocorrencia-detalhe.js:1458)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:1458` calls `POST /devolucao/ai/api/resolver-produto` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/ai/api/resolver-produto`\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-d0b8493e5801c769", "name": "Dangling fetch: GET /devolucao/ai/api/produtos/buscar?q=${encodeURIComponent(query)}&limit=15 (app/static/js/devolucao/o", "shortDescription": {"text": "Dangling fetch: GET /devolucao/ai/api/produtos/buscar?q=${encodeURIComponent(query)}&limit=15 (app/static/js/devolucao/ocorrencia-detalhe.js:1575)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:1575` calls `GET /devolucao/ai/api/produtos/buscar?q=${encodeURIComponent(query)}&limit=15` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/ai/api/produtos/buscar`\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-a186dbefe77083c0", "name": "Dangling fetch: POST /devolucao/ai/api/linha/${linhaId}/confirmar (app/static/js/devolucao/ocorrencia-detalhe.js:1662)", "shortDescription": {"text": "Dangling fetch: POST /devolucao/ai/api/linha/${linhaId}/confirmar (app/static/js/devolucao/ocorrencia-detalhe.js:1662)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:1662` calls `POST /devolucao/ai/api/linha/${linhaId}/confirmar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/ai/api/linha/<p>/confirmar`\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-d2e39c3dacfb9c32", "name": "Dangling fetch: POST /devolucao/ai/api/nfd/${nfdId}/resolver-linhas (app/static/js/devolucao/ocorrencia-detalhe.js:1740)", "shortDescription": {"text": "Dangling fetch: POST /devolucao/ai/api/nfd/${nfdId}/resolver-linhas (app/static/js/devolucao/ocorrencia-detalhe.js:1740)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:1740` calls `POST /devolucao/ai/api/nfd/${nfdId}/resolver-linhas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/ai/api/nfd/<p>/resolver-linhas`\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-052ea6b4aa62816f", "name": "Dangling fetch: POST /devolucao/ai/api/linha/${r.linha_id}/confirmar (app/static/js/devolucao/ocorrencia-detalhe.js:1883", "shortDescription": {"text": "Dangling fetch: POST /devolucao/ai/api/linha/${r.linha_id}/confirmar (app/static/js/devolucao/ocorrencia-detalhe.js:1883)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:1883` calls `POST /devolucao/ai/api/linha/${r.linha_id}/confirmar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/ai/api/linha/<p>/confirmar`\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-fa3114bee403232a", "name": "Dangling fetch: GET /devolucao/cadastros/api/permissoes (app/static/js/devolucao/ocorrencia-detalhe.js:2011)", "shortDescription": {"text": "Dangling fetch: GET /devolucao/cadastros/api/permissoes (app/static/js/devolucao/ocorrencia-detalhe.js:2011)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:2011` calls `GET /devolucao/cadastros/api/permissoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/cadastros/api/permissoes`\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-ff2918614dcc4858", "name": "Dangling fetch: POST /devolucao/cadastros/api/permissoes (app/static/js/devolucao/ocorrencia-detalhe.js:2072)", "shortDescription": {"text": "Dangling fetch: POST /devolucao/cadastros/api/permissoes (app/static/js/devolucao/ocorrencia-detalhe.js:2072)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:2072` calls `POST /devolucao/cadastros/api/permissoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/cadastros/api/permissoes`\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-5900414a60bbc5f5", "name": "Dangling fetch: DELETE /devolucao/cadastros/api/permissoes/${permId} (app/static/js/devolucao/ocorrencia-detalhe.js:2108", "shortDescription": {"text": "Dangling fetch: DELETE /devolucao/cadastros/api/permissoes/${permId} (app/static/js/devolucao/ocorrencia-detalhe.js:2108)"}, "fullDescription": {"text": "`app/static/js/devolucao/ocorrencia-detalhe.js:2108` calls `DELETE /devolucao/cadastros/api/permissoes/${permId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/devolucao/cadastros/api/permissoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0688b1d62a70cd10", "name": "Dangling fetch: POST /inventario/ajustes/${CICLO_ID}/upsert (app/static/js/inventario/confronto.js:131)", "shortDescription": {"text": "Dangling fetch: POST /inventario/ajustes/${CICLO_ID}/upsert (app/static/js/inventario/confronto.js:131)"}, "fullDescription": {"text": "`app/static/js/inventario/confronto.js:131` calls `POST /inventario/ajustes/${CICLO_ID}/upsert` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/inventario/ajustes/<p>/upsert`\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-c18371079b3e0408", "name": "Dangling fetch: GET /inventario/confronto/${CICLO_ID}/api (app/static/js/inventario/confronto.js:216)", "shortDescription": {"text": "Dangling fetch: GET /inventario/confronto/${CICLO_ID}/api (app/static/js/inventario/confronto.js:216)"}, "fullDescription": {"text": "`app/static/js/inventario/confronto.js:216` calls `GET /inventario/confronto/${CICLO_ID}/api` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/inventario/confronto/<p>/api`\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-65a56e3ca43aa887", "name": "Dangling fetch: GET /inventario/snapshot/${CICLO_ID}/status/${jobId} (app/static/js/inventario/confronto.js:230)", "shortDescription": {"text": "Dangling fetch: GET /inventario/snapshot/${CICLO_ID}/status/${jobId} (app/static/js/inventario/confronto.js:230)"}, "fullDescription": {"text": "`app/static/js/inventario/confronto.js:230` calls `GET /inventario/snapshot/${CICLO_ID}/status/${jobId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/inventario/snapshot/<p>/status/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f0188628b447f787", "name": "Dangling fetch: POST /inventario/snapshot/${CICLO_ID}/refresh (app/static/js/inventario/confronto.js:251)", "shortDescription": {"text": "Dangling fetch: POST /inventario/snapshot/${CICLO_ID}/refresh (app/static/js/inventario/confronto.js:251)"}, "fullDescription": {"text": "`app/static/js/inventario/confronto.js:251` calls `POST /inventario/snapshot/${CICLO_ID}/refresh` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/inventario/snapshot/<p>/refresh`\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-133a32fb491fec79", "name": "Dangling fetch: GET /comercial/api/margem/filtros (app/static/js/comercial/margem.js:49)", "shortDescription": {"text": "Dangling fetch: GET /comercial/api/margem/filtros (app/static/js/comercial/margem.js:49)"}, "fullDescription": {"text": "`app/static/js/comercial/margem.js:49` calls `GET /comercial/api/margem/filtros` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/comercial/api/margem/filtros`\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-8378bb9eaa2966c7", "name": "Dangling fetch: GET /comercial/api/margem/dados?${params} (app/static/js/comercial/margem.js:107)", "shortDescription": {"text": "Dangling fetch: GET /comercial/api/margem/dados?${params} (app/static/js/comercial/margem.js:107)"}, "fullDescription": {"text": "`app/static/js/comercial/margem.js:107` calls `GET /comercial/api/margem/dados?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/comercial/api/margem/dados`\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-451ef3a68e151537", "name": "Dangling fetch: GET /comercial/api/margem/cliente/${encodeURIComponent(cnpj)}/historico (app/static/js/comercial/margem.", "shortDescription": {"text": "Dangling fetch: GET /comercial/api/margem/cliente/${encodeURIComponent(cnpj)}/historico (app/static/js/comercial/margem.js:433)"}, "fullDescription": {"text": "`app/static/js/comercial/margem.js:433` calls `GET /comercial/api/margem/cliente/${encodeURIComponent(cnpj)}/historico` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/comercial/api/margem/cliente/<p>/historico`\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-8d21284d776bc5ec", "name": "Dangling fetch: GET /comercial/api/margem/pedido/${encodeURIComponent(numPedido)}/itens (app/static/js/comercial/margem.", "shortDescription": {"text": "Dangling fetch: GET /comercial/api/margem/pedido/${encodeURIComponent(numPedido)}/itens (app/static/js/comercial/margem.js:488)"}, "fullDescription": {"text": "`app/static/js/comercial/margem.js:488` calls `GET /comercial/api/margem/pedido/${encodeURIComponent(numPedido)}/itens` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/comercial/api/margem/pedido/<p>/itens`\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-e9eabb2bceeb6cab", "name": "Dangling fetch: GET /comercial/api/margem/calculo/${encodeURIComponent(numPedido)}/${encodeURIComponent(codProduto)} (ap", "shortDescription": {"text": "Dangling fetch: GET /comercial/api/margem/calculo/${encodeURIComponent(numPedido)}/${encodeURIComponent(codProduto)} (app/static/js/comercial/margem.js:572)"}, "fullDescription": {"text": "`app/static/js/comercial/margem.js:572` calls `GET /comercial/api/margem/calculo/${encodeURIComponent(numPedido)}/${encodeURIComponent(codProduto)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/comercial/api/margem/calculo/<p>/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8932ad1ac24263e9", "name": "Dangling fetch: GET /comercial/api/margem/dados?${params} (app/static/js/comercial/margem.js:657)", "shortDescription": {"text": "Dangling fetch: GET /comercial/api/margem/dados?${params} (app/static/js/comercial/margem.js:657)"}, "fullDescription": {"text": "`app/static/js/comercial/margem.js:657` calls `GET /comercial/api/margem/dados?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/comercial/api/margem/dados`\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-99489d2ee3d2b91b", "name": "Dangling fetch: POST /pedidos/verificar_monitoramento (app/static/js/pedidos/lista-nf.js:67)", "shortDescription": {"text": "Dangling fetch: POST /pedidos/verificar_monitoramento (app/static/js/pedidos/lista-nf.js:67)"}, "fullDescription": {"text": "`app/static/js/pedidos/lista-nf.js:67` calls `POST /pedidos/verificar_monitoramento` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/pedidos/verificar_monitoramento`\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-8db1c77d1951c0cb", "name": "Dangling fetch: GET /api/alertas-separacao/card-html (app/static/js/pedidos/lista-alertas.js:11)", "shortDescription": {"text": "Dangling fetch: GET /api/alertas-separacao/card-html (app/static/js/pedidos/lista-alertas.js:11)"}, "fullDescription": {"text": "`app/static/js/pedidos/lista-alertas.js:11` calls `GET /api/alertas-separacao/card-html` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/alertas-separacao/card-html`\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-3eaf4442dd9ebbbe", "name": "Dangling fetch: POST /cotacao/verificar_nf_cd (app/static/js/pedidos/lista-cotacao.js:37)", "shortDescription": {"text": "Dangling fetch: POST /cotacao/verificar_nf_cd (app/static/js/pedidos/lista-cotacao.js:37)"}, "fullDescription": {"text": "`app/static/js/pedidos/lista-cotacao.js:37` calls `POST /cotacao/verificar_nf_cd` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/cotacao/verificar_nf_cd`\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-df336a56e1c106bd", "name": "Dangling fetch: GET /api/recebimento/dfe/${dfeId}/pos-candidatos (app/static/js/recebimento/divergencias_shared.js:89)", "shortDescription": {"text": "Dangling fetch: GET /api/recebimento/dfe/${dfeId}/pos-candidatos (app/static/js/recebimento/divergencias_shared.js:89)"}, "fullDescription": {"text": "`app/static/js/recebimento/divergencias_shared.js:89` calls `GET /api/recebimento/dfe/${dfeId}/pos-candidatos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/recebimento/dfe/<p>/pos-candidatos`\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-7072f9f0125c016f", "name": "Dangling fetch: POST /api/recebimento/divergencias-nf-po/${id}/aprovar (app/static/js/recebimento/divergencias_shared.js", "shortDescription": {"text": "Dangling fetch: POST /api/recebimento/divergencias-nf-po/${id}/aprovar (app/static/js/recebimento/divergencias_shared.js:444)"}, "fullDescription": {"text": "`app/static/js/recebimento/divergencias_shared.js:444` calls `POST /api/recebimento/divergencias-nf-po/${id}/aprovar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/recebimento/divergencias-nf-po/<p>/aprovar`\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-e9a4a378b50ca361", "name": "Dangling fetch: POST /api/recebimento/divergencias-nf-po/${id}/rejeitar (app/static/js/recebimento/divergencias_shared.j", "shortDescription": {"text": "Dangling fetch: POST /api/recebimento/divergencias-nf-po/${id}/rejeitar (app/static/js/recebimento/divergencias_shared.js:471)"}, "fullDescription": {"text": "`app/static/js/recebimento/divergencias_shared.js:471` calls `POST /api/recebimento/divergencias-nf-po/${id}/rejeitar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/recebimento/divergencias-nf-po/<p>/rejeitar`\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-d175df34a3a4697e", "name": "Dangling fetch: GET /api/recebimento/buscar-produto-odoo?cod_produto=${encodeURIComponent(cod)} (app/static/js/recebimen", "shortDescription": {"text": "Dangling fetch: GET /api/recebimento/buscar-produto-odoo?cod_produto=${encodeURIComponent(cod)} (app/static/js/recebimento/divergencias_shared.js:554)"}, "fullDescription": {"text": "`app/static/js/recebimento/divergencias_shared.js:554` calls `GET /api/recebimento/buscar-produto-odoo?cod_produto=${encodeURIComponent(cod)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/recebimento/buscar-produto-odoo`\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-6e22bad6e68c467b", "name": "Dangling fetch: POST /api/recebimento/divergencias-nf-po/${id}/criar-depara (app/static/js/recebimento/divergencias_shar", "shortDescription": {"text": "Dangling fetch: POST /api/recebimento/divergencias-nf-po/${id}/criar-depara (app/static/js/recebimento/divergencias_shared.js:623)"}, "fullDescription": {"text": "`app/static/js/recebimento/divergencias_shared.js:623` calls `POST /api/recebimento/divergencias-nf-po/${id}/criar-depara` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/recebimento/divergencias-nf-po/<p>/criar-depara`\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-44a53ce59828f5e6", "name": "Dangling fetch: POST /api/recebimento/executar-validacao (app/static/js/recebimento/divergencias_nf_po.js:42)", "shortDescription": {"text": "Dangling fetch: POST /api/recebimento/executar-validacao (app/static/js/recebimento/divergencias_nf_po.js:42)"}, "fullDescription": {"text": "`app/static/js/recebimento/divergencias_nf_po.js:42` calls `POST /api/recebimento/executar-validacao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/recebimento/executar-validacao`\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-72c701ca7dc3cdcf", "name": "Dangling fetch: GET /api/recebimento/autocomplete-produtos?termo=${encodeURIComponent(termo)}&limit=15 (app/static/js/re", "shortDescription": {"text": "Dangling fetch: GET /api/recebimento/autocomplete-produtos?termo=${encodeURIComponent(termo)}&limit=15 (app/static/js/recebimento/divergencias_nf_po.js:159)"}, "fullDescription": {"text": "`app/static/js/recebimento/divergencias_nf_po.js:159` calls `GET /api/recebimento/autocomplete-produtos?termo=${encodeURIComponent(termo)}&limit=15` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/recebimento/autocomplete-produtos`\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-7a688a99f0d7645a", "name": "Dangling fetch: GET /api/recebimento/validacoes-nf-po/${id} (app/static/js/recebimento/validacoes_nf_po.js:34)", "shortDescription": {"text": "Dangling fetch: GET /api/recebimento/validacoes-nf-po/${id} (app/static/js/recebimento/validacoes_nf_po.js:34)"}, "fullDescription": {"text": "`app/static/js/recebimento/validacoes_nf_po.js:34` calls `GET /api/recebimento/validacoes-nf-po/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/recebimento/validacoes-nf-po/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0a436191e9e1e824", "name": "Dangling fetch: POST /api/recebimento/validar-nf-po/${dfeId} (app/static/js/recebimento/validacoes_nf_po.js:307)", "shortDescription": {"text": "Dangling fetch: POST /api/recebimento/validar-nf-po/${dfeId} (app/static/js/recebimento/validacoes_nf_po.js:307)"}, "fullDescription": {"text": "`app/static/js/recebimento/validacoes_nf_po.js:307` calls `POST /api/recebimento/validar-nf-po/${dfeId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/recebimento/validar-nf-po/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-20113e0569d512ab", "name": "Dangling fetch: POST /api/recebimento/consolidar-pos/${validacaoId} (app/static/js/recebimento/validacoes_nf_po.js:354)", "shortDescription": {"text": "Dangling fetch: POST /api/recebimento/consolidar-pos/${validacaoId} (app/static/js/recebimento/validacoes_nf_po.js:354)"}, "fullDescription": {"text": "`app/static/js/recebimento/validacoes_nf_po.js:354` calls `POST /api/recebimento/consolidar-pos/${validacaoId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/recebimento/consolidar-pos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-41ecb900df2ac28e", "name": "Dangling fetch: POST /api/recebimento/reverter-consolidacao/${validacaoId} (app/static/js/recebimento/validacoes_nf_po.j", "shortDescription": {"text": "Dangling fetch: POST /api/recebimento/reverter-consolidacao/${validacaoId} (app/static/js/recebimento/validacoes_nf_po.js:376)"}, "fullDescription": {"text": "`app/static/js/recebimento/validacoes_nf_po.js:376` calls `POST /api/recebimento/reverter-consolidacao/${validacaoId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/recebimento/reverter-consolidacao/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1f95c44830e62ef5", "name": "Dangling fetch: POST /api/recebimento/executar-validacao (app/static/js/recebimento/validacoes_nf_po.js:425)", "shortDescription": {"text": "Dangling fetch: POST /api/recebimento/executar-validacao (app/static/js/recebimento/validacoes_nf_po.js:425)"}, "fullDescription": {"text": "`app/static/js/recebimento/validacoes_nf_po.js:425` calls `POST /api/recebimento/executar-validacao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/recebimento/executar-validacao`\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-1cf8edf8b20b02fe", "name": "Dangling fetch: GET /api/recebimento/validacoes-nf-po/${validacaoId} (app/static/js/recebimento/validacoes_nf_po.js:516)", "shortDescription": {"text": "Dangling fetch: GET /api/recebimento/validacoes-nf-po/${validacaoId} (app/static/js/recebimento/validacoes_nf_po.js:516)"}, "fullDescription": {"text": "`app/static/js/recebimento/validacoes_nf_po.js:516` calls `GET /api/recebimento/validacoes-nf-po/${validacaoId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/recebimento/validacoes-nf-po/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6047ab187beeebde", "name": "Dangling fetch: GET /carvia/api/simulador-carga/catalogo (app/static/js/simulador-carga/simulador-ui.js:58)", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/simulador-carga/catalogo (app/static/js/simulador-carga/simulador-ui.js:58)"}, "fullDescription": {"text": "`app/static/js/simulador-carga/simulador-ui.js:58` calls `GET /carvia/api/simulador-carga/catalogo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/simulador-carga/catalogo`\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-4c8e1086c703b831", "name": "Dangling fetch: GET /custeio/api/parametros/listar (app/static/js/custeio/parametros.js:27)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/parametros/listar (app/static/js/custeio/parametros.js:27)"}, "fullDescription": {"text": "`app/static/js/custeio/parametros.js:27` calls `GET /custeio/api/parametros/listar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/parametros/listar`\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-bf016af945301ed7", "name": "Dangling fetch: GET /custeio/api/parametros/obter/CUSTO_OPERACAO_PERCENTUAL (app/static/js/custeio/parametros.js:44)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/parametros/obter/CUSTO_OPERACAO_PERCENTUAL (app/static/js/custeio/parametros.js:44)"}, "fullDescription": {"text": "`app/static/js/custeio/parametros.js:44` calls `GET /custeio/api/parametros/obter/CUSTO_OPERACAO_PERCENTUAL` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/parametros/obter/custo_operacao_percentual`\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-d3b35041c9a58dfb", "name": "Dangling fetch: GET /custeio/api/parametros/obter/CUSTO_FINANCEIRO_PERCENTUAL (app/static/js/custeio/parametros.js:57)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/parametros/obter/CUSTO_FINANCEIRO_PERCENTUAL (app/static/js/custeio/parametros.js:57)"}, "fullDescription": {"text": "`app/static/js/custeio/parametros.js:57` calls `GET /custeio/api/parametros/obter/CUSTO_FINANCEIRO_PERCENTUAL` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/parametros/obter/custo_financeiro_percentual`\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-dee5efd96a5da2ea", "name": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/parametros.js:128)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/parametros.js:128)"}, "fullDescription": {"text": "`app/static/js/custeio/parametros.js:128` calls `POST /custeio/api/parametros/salvar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/parametros/salvar`\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-a93031911eb541d1", "name": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/parametros.js:173)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/parametros.js:173)"}, "fullDescription": {"text": "`app/static/js/custeio/parametros.js:173` calls `POST /custeio/api/parametros/salvar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/parametros/salvar`\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-36e305397429028e", "name": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/parametros.js:249)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/parametros.js:249)"}, "fullDescription": {"text": "`app/static/js/custeio/parametros.js:249` calls `POST /custeio/api/parametros/salvar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/parametros/salvar`\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-72a2a8953234b918", "name": "Dangling fetch: DELETE /custeio/api/parametros/excluir/${id} (app/static/js/custeio/parametros.js:287)", "shortDescription": {"text": "Dangling fetch: DELETE /custeio/api/parametros/excluir/${id} (app/static/js/custeio/parametros.js:287)"}, "fullDescription": {"text": "`app/static/js/custeio/parametros.js:287` calls `DELETE /custeio/api/parametros/excluir/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/parametros/excluir/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ba999a574ef0ed34", "name": "Dangling fetch: POST /custeio/api/parametros/importar (app/static/js/custeio/parametros.js:320)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/parametros/importar (app/static/js/custeio/parametros.js:320)"}, "fullDescription": {"text": "`app/static/js/custeio/parametros.js:320` calls `POST /custeio/api/parametros/importar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/parametros/importar`\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-b6938ebe01a09a47", "name": "Dangling fetch: GET /custeio/api/mensal/listar?mes=${mes}&ano=${ano}&tipo=${tipo} (app/static/js/custeio/mensal.js:34)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/mensal/listar?mes=${mes}&ano=${ano}&tipo=${tipo} (app/static/js/custeio/mensal.js:34)"}, "fullDescription": {"text": "`app/static/js/custeio/mensal.js:34` calls `GET /custeio/api/mensal/listar?mes=${mes}&ano=${ano}&tipo=${tipo}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/mensal/listar`\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-4863d61575385054", "name": "Dangling fetch: GET /custeio/api/mensal/detalhe-bom/${codProduto}?mes=${mes}&ano=${ano} (app/static/js/custeio/mensal.js", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/mensal/detalhe-bom/${codProduto}?mes=${mes}&ano=${ano} (app/static/js/custeio/mensal.js:194)"}, "fullDescription": {"text": "`app/static/js/custeio/mensal.js:194` calls `GET /custeio/api/mensal/detalhe-bom/${codProduto}?mes=${mes}&ano=${ano}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/mensal/detalhe-bom/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-86fd66f36103c2a8", "name": "Dangling fetch: GET /custeio/api/mensal/simular?mes=${mes}&ano=${ano} (app/static/js/custeio/mensal.js:316)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/mensal/simular?mes=${mes}&ano=${ano} (app/static/js/custeio/mensal.js:316)"}, "fullDescription": {"text": "`app/static/js/custeio/mensal.js:316` calls `GET /custeio/api/mensal/simular?mes=${mes}&ano=${ano}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/mensal/simular`\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-777fda67623ad568", "name": "Dangling fetch: GET /custeio/api/mensal/listar?mes=${mes}&ano=${ano} (app/static/js/custeio/custeio.js:67)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/mensal/listar?mes=${mes}&ano=${ano} (app/static/js/custeio/custeio.js:67)"}, "fullDescription": {"text": "`app/static/js/custeio/custeio.js:67` calls `GET /custeio/api/mensal/listar?mes=${mes}&ano=${ano}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/mensal/listar`\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-a52ee9a06871e91c", "name": "Dangling fetch: GET /custeio/api/considerado/listar (app/static/js/custeio/custeio.js:88)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/considerado/listar (app/static/js/custeio/custeio.js:88)"}, "fullDescription": {"text": "`app/static/js/custeio/custeio.js:88` calls `GET /custeio/api/considerado/listar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/considerado/listar`\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-2e8d38f32f47b95e", "name": "Dangling fetch: GET /custeio/api/estatisticas (app/static/js/custeio/custeio.js:104)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/estatisticas (app/static/js/custeio/custeio.js:104)"}, "fullDescription": {"text": "`app/static/js/custeio/custeio.js:104` calls `GET /custeio/api/estatisticas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/estatisticas`\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-88ff76442bbee984", "name": "Dangling fetch: POST /custeio/api/considerado/alterar-tipo (app/static/js/custeio/custeio.js:229)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/considerado/alterar-tipo (app/static/js/custeio/custeio.js:229)"}, "fullDescription": {"text": "`app/static/js/custeio/custeio.js:229` calls `POST /custeio/api/considerado/alterar-tipo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/considerado/alterar-tipo`\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-ab13935529cd2550", "name": "Dangling fetch: GET /custeio/api/mensal/simular?mes=${mes}&ano=${ano} (app/static/js/custeio/custeio.js:269)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/mensal/simular?mes=${mes}&ano=${ano} (app/static/js/custeio/custeio.js:269)"}, "fullDescription": {"text": "`app/static/js/custeio/custeio.js:269` calls `GET /custeio/api/mensal/simular?mes=${mes}&ano=${ano}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/mensal/simular`\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-b0ba27997f98edaf", "name": "Dangling fetch: GET /custeio/api/frete/listar?apenas_vigentes=false (app/static/js/custeio/custeio.js:417)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/frete/listar?apenas_vigentes=false (app/static/js/custeio/custeio.js:417)"}, "fullDescription": {"text": "`app/static/js/custeio/custeio.js:417` calls `GET /custeio/api/frete/listar?apenas_vigentes=false` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/frete/listar`\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-ff4d0446e701a664", "name": "Dangling fetch: POST /custeio/api/frete/salvar (app/static/js/custeio/custeio.js:505)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/frete/salvar (app/static/js/custeio/custeio.js:505)"}, "fullDescription": {"text": "`app/static/js/custeio/custeio.js:505` calls `POST /custeio/api/frete/salvar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/frete/salvar`\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-844140b2215781d8", "name": "Dangling fetch: DELETE /custeio/api/frete/excluir/${id} (app/static/js/custeio/custeio.js:541)", "shortDescription": {"text": "Dangling fetch: DELETE /custeio/api/frete/excluir/${id} (app/static/js/custeio/custeio.js:541)"}, "fullDescription": {"text": "`app/static/js/custeio/custeio.js:541` calls `DELETE /custeio/api/frete/excluir/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/frete/excluir/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5e40842417728957", "name": "Dangling fetch: GET /custeio/api/parametros/listar (app/static/js/custeio/custeio.js:570)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/parametros/listar (app/static/js/custeio/custeio.js:570)"}, "fullDescription": {"text": "`app/static/js/custeio/custeio.js:570` calls `GET /custeio/api/parametros/listar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/parametros/listar`\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-176412bf462ce720", "name": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/custeio.js:650)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/custeio.js:650)"}, "fullDescription": {"text": "`app/static/js/custeio/custeio.js:650` calls `POST /custeio/api/parametros/salvar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/parametros/salvar`\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-394422dfe1335bfc", "name": "Dangling fetch: POST /custeio/api/frete/importar (app/static/js/custeio/custeio.js:693)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/frete/importar (app/static/js/custeio/custeio.js:693)"}, "fullDescription": {"text": "`app/static/js/custeio/custeio.js:693` calls `POST /custeio/api/frete/importar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/frete/importar`\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-4a999a0ac925b811", "name": "Dangling fetch: POST /custeio/api/parametros/importar (app/static/js/custeio/custeio.js:734)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/parametros/importar (app/static/js/custeio/custeio.js:734)"}, "fullDescription": {"text": "`app/static/js/custeio/custeio.js:734` calls `POST /custeio/api/parametros/importar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/parametros/importar`\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-2a699acc035d802a", "name": "Dangling fetch: GET /custeio/api/produtos/buscar?termo=${encodeURIComponent(termo)} (app/static/js/custeio/custeio.js:80", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/produtos/buscar?termo=${encodeURIComponent(termo)} (app/static/js/custeio/custeio.js:801)"}, "fullDescription": {"text": "`app/static/js/custeio/custeio.js:801` calls `GET /custeio/api/produtos/buscar?termo=${encodeURIComponent(termo)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/produtos/buscar`\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-dd710d1d7e4ac780", "name": "Dangling fetch: POST /custeio/api/considerado/cadastrar (app/static/js/custeio/custeio.js:872)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/considerado/cadastrar (app/static/js/custeio/custeio.js:872)"}, "fullDescription": {"text": "`app/static/js/custeio/custeio.js:872` calls `POST /custeio/api/considerado/cadastrar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/considerado/cadastrar`\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-a71cd0064307cf46", "name": "Dangling fetch: GET /custeio/api/comissao/grupos (app/static/js/custeio/comissao.js:46)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/comissao/grupos (app/static/js/custeio/comissao.js:46)"}, "fullDescription": {"text": "`app/static/js/custeio/comissao.js:46` calls `GET /custeio/api/comissao/grupos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/comissao/grupos`\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-8492745ee4930dc1", "name": "Dangling fetch: GET /custeio/api/comissao/vendedores (app/static/js/custeio/comissao.js:54)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/comissao/vendedores (app/static/js/custeio/comissao.js:54)"}, "fullDescription": {"text": "`app/static/js/custeio/comissao.js:54` calls `GET /custeio/api/comissao/vendedores` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/comissao/vendedores`\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-8935510920919c91", "name": "Dangling fetch: POST /custeio/api/comissao/salvar (app/static/js/custeio/comissao.js:449)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/comissao/salvar (app/static/js/custeio/comissao.js:449)"}, "fullDescription": {"text": "`app/static/js/custeio/comissao.js:449` calls `POST /custeio/api/comissao/salvar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/comissao/salvar`\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-e4fa74a8b79fe677", "name": "Dangling fetch: DELETE /custeio/api/comissao/excluir/${id} (app/static/js/custeio/comissao.js:482)", "shortDescription": {"text": "Dangling fetch: DELETE /custeio/api/comissao/excluir/${id} (app/static/js/custeio/comissao.js:482)"}, "fullDescription": {"text": "`app/static/js/custeio/comissao.js:482` calls `DELETE /custeio/api/comissao/excluir/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/comissao/excluir/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-aed054dd52b8159b", "name": "Dangling fetch: POST /custeio/api/margem/recalcular (app/static/js/custeio/comissao.js:550)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/margem/recalcular (app/static/js/custeio/comissao.js:550)"}, "fullDescription": {"text": "`app/static/js/custeio/comissao.js:550` calls `POST /custeio/api/margem/recalcular` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/margem/recalcular`\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-092a7f30ec547efe", "name": "Dangling fetch: POST /custeio/api/comissao/importar (app/static/js/custeio/comissao.js:608)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/comissao/importar (app/static/js/custeio/comissao.js:608)"}, "fullDescription": {"text": "`app/static/js/custeio/comissao.js:608` calls `POST /custeio/api/comissao/importar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/comissao/importar`\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-df7eb57aae08d2ff", "name": "Dangling fetch: GET /custeio/api/dashboard/estatisticas (app/static/js/custeio/dashboard.js:18)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/dashboard/estatisticas (app/static/js/custeio/dashboard.js:18)"}, "fullDescription": {"text": "`app/static/js/custeio/dashboard.js:18` calls `GET /custeio/api/dashboard/estatisticas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/dashboard/estatisticas`\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-adfb0c58f926ed8c", "name": "Dangling fetch: GET /custeio/api/parametros/obter/CUSTO_OPERACAO_PERCENTUAL (app/static/js/custeio/dashboard.js:64)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/parametros/obter/CUSTO_OPERACAO_PERCENTUAL (app/static/js/custeio/dashboard.js:64)"}, "fullDescription": {"text": "`app/static/js/custeio/dashboard.js:64` calls `GET /custeio/api/parametros/obter/CUSTO_OPERACAO_PERCENTUAL` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/parametros/obter/custo_operacao_percentual`\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-378a49b9b32db854", "name": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/dashboard.js:97)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/dashboard.js:97)"}, "fullDescription": {"text": "`app/static/js/custeio/dashboard.js:97` calls `POST /custeio/api/parametros/salvar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/parametros/salvar`\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-f45dfd5f7bfcd070", "name": "Dangling fetch: GET /custeio/api/producao/listar?tipo=${tipo} (app/static/js/custeio/producao.js:26)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/producao/listar?tipo=${tipo} (app/static/js/custeio/producao.js:26)"}, "fullDescription": {"text": "`app/static/js/custeio/producao.js:26` calls `GET /custeio/api/producao/listar?tipo=${tipo}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/producao/listar`\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-38213877fb77233d", "name": "Dangling fetch: POST /custeio/api/producao/salvar (app/static/js/custeio/producao.js:153)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/producao/salvar (app/static/js/custeio/producao.js:153)"}, "fullDescription": {"text": "`app/static/js/custeio/producao.js:153` calls `POST /custeio/api/producao/salvar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/producao/salvar`\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-218877df1b28996b", "name": "Dangling fetch: POST /custeio/api/producao/importar (app/static/js/custeio/producao.js:224)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/producao/importar (app/static/js/custeio/producao.js:224)"}, "fullDescription": {"text": "`app/static/js/custeio/producao.js:224` calls `POST /custeio/api/producao/importar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/producao/importar`\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-a7246ae31c31d330", "name": "Dangling fetch: GET /custeio/api/definicao/listar?tipo=${tipo}&termo=${termo} (app/static/js/custeio/definicao.js:36)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/definicao/listar?tipo=${tipo}&termo=${termo} (app/static/js/custeio/definicao.js:36)"}, "fullDescription": {"text": "`app/static/js/custeio/definicao.js:36` calls `GET /custeio/api/definicao/listar?tipo=${tipo}&termo=${termo}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/definicao/listar`\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-d380060c86bf9b05", "name": "Dangling fetch: GET /custeio/api/definicao/bom/${codProduto}?criterio=${tipoValor} (app/static/js/custeio/definicao.js:2", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/definicao/bom/${codProduto}?criterio=${tipoValor} (app/static/js/custeio/definicao.js:253)"}, "fullDescription": {"text": "`app/static/js/custeio/definicao.js:253` calls `GET /custeio/api/definicao/bom/${codProduto}?criterio=${tipoValor}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/definicao/bom/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9b401c8596b9bc02", "name": "Dangling fetch: POST /custeio/api/definicao/salvar (app/static/js/custeio/definicao.js:571)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/definicao/salvar (app/static/js/custeio/definicao.js:571)"}, "fullDescription": {"text": "`app/static/js/custeio/definicao.js:571` calls `POST /custeio/api/definicao/salvar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/definicao/salvar`\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-fa2feb5a86e68ade", "name": "Dangling fetch: POST /custeio/api/definicao/importar (app/static/js/custeio/definicao.js:644)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/definicao/importar (app/static/js/custeio/definicao.js:644)"}, "fullDescription": {"text": "`app/static/js/custeio/definicao.js:644` calls `POST /custeio/api/definicao/importar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/definicao/importar`\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-eaf84d098234dc2a", "name": "Dangling fetch: GET /custeio/api/definicao/custo-detalhes/${codProduto}?tipo=${tipoCusto} (app/static/js/custeio/definic", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/definicao/custo-detalhes/${codProduto}?tipo=${tipoCusto} (app/static/js/custeio/definicao.js:717)"}, "fullDescription": {"text": "`app/static/js/custeio/definicao.js:717` calls `GET /custeio/api/definicao/custo-detalhes/${codProduto}?tipo=${tipoCusto}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/definicao/custo-detalhes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ef6ad8e92d4936c", "name": "Dangling fetch: GET /custeio/api/definicao/custo-detalhes/${codProduto}?tipo=${tipoCusto}&historico=${modalHistoricoAtiv", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/definicao/custo-detalhes/${codProduto}?tipo=${tipoCusto}&historico=${modalHistoricoAtivo} (app/static/js/custeio/definicao.js:764)"}, "fullDescription": {"text": "`app/static/js/custeio/definicao.js:764` calls `GET /custeio/api/definicao/custo-detalhes/${codProduto}?tipo=${tipoCusto}&historico=${modalHistoricoAtivo}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/definicao/custo-detalhes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1d5ff73d3fdadec4", "name": "Dangling fetch: GET /custeio/api/frete/listar?apenas_vigentes=${apenasVigentes} (app/static/js/custeio/frete.js:43)", "shortDescription": {"text": "Dangling fetch: GET /custeio/api/frete/listar?apenas_vigentes=${apenasVigentes} (app/static/js/custeio/frete.js:43)"}, "fullDescription": {"text": "`app/static/js/custeio/frete.js:43` calls `GET /custeio/api/frete/listar?apenas_vigentes=${apenasVigentes}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/frete/listar`\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-c0401971f870a096", "name": "Dangling fetch: POST /custeio/api/frete/salvar (app/static/js/custeio/frete.js:166)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/frete/salvar (app/static/js/custeio/frete.js:166)"}, "fullDescription": {"text": "`app/static/js/custeio/frete.js:166` calls `POST /custeio/api/frete/salvar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/frete/salvar`\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-4c3397b1d4858281", "name": "Dangling fetch: DELETE /custeio/api/frete/excluir/${id} (app/static/js/custeio/frete.js:206)", "shortDescription": {"text": "Dangling fetch: DELETE /custeio/api/frete/excluir/${id} (app/static/js/custeio/frete.js:206)"}, "fullDescription": {"text": "`app/static/js/custeio/frete.js:206` calls `DELETE /custeio/api/frete/excluir/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/frete/excluir/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e212bc4275116ef2", "name": "Dangling fetch: POST /custeio/api/frete/importar (app/static/js/custeio/frete.js:248)", "shortDescription": {"text": "Dangling fetch: POST /custeio/api/frete/importar (app/static/js/custeio/frete.js:248)"}, "fullDescription": {"text": "`app/static/js/custeio/frete.js:248` calls `POST /custeio/api/frete/importar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/custeio/api/frete/importar`\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-79bc79c974fb7e9e", "name": "Dangling fetch: GET /api/chat/ui/drawer (app/static/chat/js/chat_ui.js:167)", "shortDescription": {"text": "Dangling fetch: GET /api/chat/ui/drawer (app/static/chat/js/chat_ui.js:167)"}, "fullDescription": {"text": "`app/static/chat/js/chat_ui.js:167` calls `GET /api/chat/ui/drawer` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/chat/ui/drawer`\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-54d3f75ce2305814", "name": "Dangling fetch: GET /api/chat/bootstrap (app/static/chat/js/chat_client.js:176)", "shortDescription": {"text": "Dangling fetch: GET /api/chat/bootstrap (app/static/chat/js/chat_client.js:176)"}, "fullDescription": {"text": "`app/static/chat/js/chat_client.js:176` calls `GET /api/chat/bootstrap` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/chat/bootstrap`\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-96b759a61729d44d", "name": "Dangling fetch: POST /api/chat/threads/${encodeURIComponent(thread_id)}/read (app/static/chat/js/chat_client.js:223)", "shortDescription": {"text": "Dangling fetch: POST /api/chat/threads/${encodeURIComponent(thread_id)}/read (app/static/chat/js/chat_client.js:223)"}, "fullDescription": {"text": "`app/static/chat/js/chat_client.js:223` calls `POST /api/chat/threads/${encodeURIComponent(thread_id)}/read` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/chat/threads/<p>/read`\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-f34968183436efee", "name": "Dangling fetch: GET /agente/api/sessions/${targetSessionId}/messages (app/static/agente/js/chat.js:134)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/sessions/${targetSessionId}/messages (app/static/agente/js/chat.js:134)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:134` calls `GET /agente/api/sessions/${targetSessionId}/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions/<p>/messages`\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-2b2fc3cbfef73c7a", "name": "Dangling fetch: POST /agente/api/interrupt (app/static/agente/js/chat.js:233)", "shortDescription": {"text": "Dangling fetch: POST /agente/api/interrupt (app/static/agente/js/chat.js:233)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:233` calls `POST /agente/api/interrupt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/interrupt`\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-d6225ccd84bed699", "name": "Dangling fetch: GET /agente/api/user-preferences (app/static/agente/js/chat.js:464)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/user-preferences (app/static/agente/js/chat.js:464)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:464` calls `GET /agente/api/user-preferences` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/user-preferences`\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-36b134e60f2b4fdb", "name": "Dangling fetch: POST /agente/api/user-preferences (app/static/agente/js/chat.js:483)", "shortDescription": {"text": "Dangling fetch: POST /agente/api/user-preferences (app/static/agente/js/chat.js:483)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:483` calls `POST /agente/api/user-preferences` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/user-preferences`\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-c7a0c114f71e8492", "name": "Dangling fetch: GET /agente/api/sessions/${capturedSessionId}/subagents/${agentId}/summary (app/static/agente/js/chat.js", "shortDescription": {"text": "Dangling fetch: GET /agente/api/sessions/${capturedSessionId}/subagents/${agentId}/summary (app/static/agente/js/chat.js:1514)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:1514` calls `GET /agente/api/sessions/${capturedSessionId}/subagents/${agentId}/summary` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions/<p>/subagents/<p>/summary`\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-bd8a4246fd880fbc", "name": "Dangling fetch: GET /agente/api/sessions/${sid}/subagents/${agentId}/summary (app/static/agente/js/chat.js:1672)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/sessions/${sid}/subagents/${agentId}/summary (app/static/agente/js/chat.js:1672)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:1672` calls `GET /agente/api/sessions/${sid}/subagents/${agentId}/summary` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions/<p>/subagents/<p>/summary`\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-7b836e768b0b5c39", "name": "Dangling fetch: GET /agente/api/sessions/${sid}/subagents/${agentId}/transcript (app/static/agente/js/chat.js:1691)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/sessions/${sid}/subagents/${agentId}/transcript (app/static/agente/js/chat.js:1691)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:1691` calls `GET /agente/api/sessions/${sid}/subagents/${agentId}/transcript` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions/<p>/subagents/<p>/transcript`\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-796ba082813b870c", "name": "Dangling fetch: POST /agente/api/sessions/${sessionId}/subagents/${_currentModalAgentId}/pii-toggle (app/static/agente/j", "shortDescription": {"text": "Dangling fetch: POST /agente/api/sessions/${sessionId}/subagents/${_currentModalAgentId}/pii-toggle (app/static/agente/js/chat.js:1900)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:1900` calls `POST /agente/api/sessions/${sessionId}/subagents/${_currentModalAgentId}/pii-toggle` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions/<p>/subagents/<p>/pii-toggle`\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-85b0ba465ee062af", "name": "Dangling fetch: PATCH /agente/api/sessions/${sessionId}/subagents/${agentId} (app/static/agente/js/chat.js:1978)", "shortDescription": {"text": "Dangling fetch: PATCH /agente/api/sessions/${sessionId}/subagents/${agentId} (app/static/agente/js/chat.js:1978)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:1978` calls `PATCH /agente/api/sessions/${sessionId}/subagents/${agentId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions/<p>/subagents/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-584f566bf5dafb6e", "name": "Dangling fetch: PATCH /agente/api/sessions/${sessionId}/subagents/${agentId} (app/static/agente/js/chat.js:2023)", "shortDescription": {"text": "Dangling fetch: PATCH /agente/api/sessions/${sessionId}/subagents/${agentId} (app/static/agente/js/chat.js:2023)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:2023` calls `PATCH /agente/api/sessions/${sessionId}/subagents/${agentId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions/<p>/subagents/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2b2555b1fae5db30", "name": "Dangling fetch: GET /agente/api/sessions?limit=50 (app/static/agente/js/chat.js:3586)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/sessions?limit=50 (app/static/agente/js/chat.js:3586)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:3586` calls `GET /agente/api/sessions?limit=50` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-933ddebcbe8770b0", "name": "Dangling fetch: POST /agente/api/sessions/${encodeURIComponent(sourceSessionId)}/fork (app/static/agente/js/chat.js:3780", "shortDescription": {"text": "Dangling fetch: POST /agente/api/sessions/${encodeURIComponent(sourceSessionId)}/fork (app/static/agente/js/chat.js:3780)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:3780` calls `POST /agente/api/sessions/${encodeURIComponent(sourceSessionId)}/fork` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions/<p>/fork`\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-3ab8efecc2a4c294", "name": "Dangling fetch: GET /agente/api/sessions/${sessionId}/messages (app/static/agente/js/chat.js:3922)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/sessions/${sessionId}/messages (app/static/agente/js/chat.js:3922)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:3922` calls `GET /agente/api/sessions/${sessionId}/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions/<p>/messages`\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-e24941097ec950b7", "name": "Dangling fetch: PUT /agente/api/sessions/${id}/rename (app/static/agente/js/chat.js:3999)", "shortDescription": {"text": "Dangling fetch: PUT /agente/api/sessions/${id}/rename (app/static/agente/js/chat.js:3999)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:3999` calls `PUT /agente/api/sessions/${id}/rename` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions/<p>/rename`\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-37de3cffd9b5ffda", "name": "Dangling fetch: DELETE /agente/api/sessions/${id} (app/static/agente/js/chat.js:4040)", "shortDescription": {"text": "Dangling fetch: DELETE /agente/api/sessions/${id} (app/static/agente/js/chat.js:4040)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:4040` calls `DELETE /agente/api/sessions/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-58752cb4dedd2dee", "name": "Dangling fetch: POST /agente/api/upload (app/static/agente/js/chat.js:4147)", "shortDescription": {"text": "Dangling fetch: POST /agente/api/upload (app/static/agente/js/chat.js:4147)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:4147` calls `POST /agente/api/upload` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/upload`\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-cf8259a0b6e9486c", "name": "Dangling fetch: GET /agente/api/sessions?limit=1 (app/static/agente/js/chat.js:4472)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/sessions?limit=1 (app/static/agente/js/chat.js:4472)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:4472` calls `GET /agente/api/sessions?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: `/agente/api/sessions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1b75e1e82d68961b", "name": "Dangling fetch: GET /agente/api/sessions?limit=50 (app/static/agente/js/chat.js:4481)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/sessions?limit=50 (app/static/agente/js/chat.js:4481)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:4481` calls `GET /agente/api/sessions?limit=50` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-47feb89af8de5754", "name": "Dangling fetch: GET /agente/api/health (app/static/agente/js/chat.js:4497)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/health (app/static/agente/js/chat.js:4497)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:4497` calls `GET /agente/api/health` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/health`\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-749f3559894678ad", "name": "Dangling fetch: GET /agente/api/csrf-token (app/static/agente/js/chat.js:4516)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/csrf-token (app/static/agente/js/chat.js:4516)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:4516` calls `GET /agente/api/csrf-token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/csrf-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-8b7e5ca2edbb0ad3", "name": "Dangling fetch: GET /agente/api/memories/users (app/static/agente/js/chat.js:4659)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/memories/users (app/static/agente/js/chat.js:4659)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:4659` calls `GET /agente/api/memories/users` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/memories/users`\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-748a5ef3b9acfed5", "name": "Dangling fetch: PUT /agente/api/memories/${memoryId} (app/static/agente/js/chat.js:4842)", "shortDescription": {"text": "Dangling fetch: PUT /agente/api/memories/${memoryId} (app/static/agente/js/chat.js:4842)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:4842` calls `PUT /agente/api/memories/${memoryId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/memories/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b0996dcee35c9720", "name": "Dangling fetch: DELETE /agente/api/memories/${memoryId} (app/static/agente/js/chat.js:4872)", "shortDescription": {"text": "Dangling fetch: DELETE /agente/api/memories/${memoryId} (app/static/agente/js/chat.js:4872)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:4872` calls `DELETE /agente/api/memories/${memoryId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/memories/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bec11c598c2e9faa", "name": "Dangling fetch: GET /agente/api/sessions/summaries?limit=20 (app/static/agente/js/chat.js:4915)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/sessions/summaries?limit=20 (app/static/agente/js/chat.js:4915)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:4915` calls `GET /agente/api/sessions/summaries?limit=20` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions/summaries`\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-7a34ef646a9ea78b", "name": "Dangling fetch: GET /agente/api/briefing (app/static/agente/js/chat.js:5016)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/briefing (app/static/agente/js/chat.js:5016)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:5016` calls `GET /agente/api/briefing` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/briefing`\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-080004bdcb6b5a06", "name": "Dangling fetch: GET /agente/api/sessions/${sessionIdToExport}/messages (app/static/agente/js/chat.js:5254)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/sessions/${sessionIdToExport}/messages (app/static/agente/js/chat.js:5254)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:5254` calls `GET /agente/api/sessions/${sessionIdToExport}/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/sessions/<p>/messages`\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-47dbc2997c1ca1ca", "name": "Dangling fetch: PUT /agente/api/improvement-dialogue/${itemId}/respond (app/static/agente/js/chat.js:5504)", "shortDescription": {"text": "Dangling fetch: PUT /agente/api/improvement-dialogue/${itemId}/respond (app/static/agente/js/chat.js:5504)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:5504` calls `PUT /agente/api/improvement-dialogue/${itemId}/respond` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/improvement-dialogue/<p>/respond`\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-62bbf928eff73152", "name": "Dangling fetch: PUT /agente/api/memories/${memoryId}/review (app/static/agente/js/chat.js:5530)", "shortDescription": {"text": "Dangling fetch: PUT /agente/api/memories/${memoryId}/review (app/static/agente/js/chat.js:5530)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:5530` calls `PUT /agente/api/memories/${memoryId}/review` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/memories/<p>/review`\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-9d6532f619bf5d20", "name": "Dangling fetch: GET /agente/api/artifacts?limit=100 (app/static/agente/js/chat.js:6421)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/artifacts?limit=100 (app/static/agente/js/chat.js:6421)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:6421` calls `GET /agente/api/artifacts?limit=100` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/artifacts`\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-7ff3540641f08a0d", "name": "Dangling fetch: GET /agente/api/artifacts?limit=100 (app/static/agente/js/chat.js:6537)", "shortDescription": {"text": "Dangling fetch: GET /agente/api/artifacts?limit=100 (app/static/agente/js/chat.js:6537)"}, "fullDescription": {"text": "`app/static/agente/js/chat.js:6537` calls `GET /agente/api/artifacts?limit=100` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/agente/api/artifacts`\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-374617adbedba197", "name": "Dangling fetch: POST /motos-assai/faturamento/sep/${sepId}/expedicao (app/static/motos_assai/js/upload_nf_modal_expedica", "shortDescription": {"text": "Dangling fetch: POST /motos-assai/faturamento/sep/${sepId}/expedicao (app/static/motos_assai/js/upload_nf_modal_expedicao.js:48)"}, "fullDescription": {"text": "`app/static/motos_assai/js/upload_nf_modal_expedicao.js:48` calls `POST /motos-assai/faturamento/sep/${sepId}/expedicao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/motos-assai/faturamento/sep/<p>/expedicao`\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-4b058cd50c0a8458", "name": "Dangling fetch: GET /manufatura/recursos/api/separacoes-estoque?${params} (app/static/manufatura/necessidade_producao/js", "shortDescription": {"text": "Dangling fetch: GET /manufatura/recursos/api/separacoes-estoque?${params} (app/static/manufatura/necessidade_producao/js/necessidade-producao.js:886)"}, "fullDescription": {"text": "`app/static/manufatura/necessidade_producao/js/necessidade-producao.js:886` calls `GET /manufatura/recursos/api/separacoes-estoque?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/recursos/api/separacoes-estoque`\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-bc8d0b0b4995f945", "name": "Dangling fetch: GET /manufatura/api/necessidade-producao/bom-recursiva-estoque?cod_produto=${codProduto} (app/static/man", "shortDescription": {"text": "Dangling fetch: GET /manufatura/api/necessidade-producao/bom-recursiva-estoque?cod_produto=${codProduto} (app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1394)"}, "fullDescription": {"text": "`app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1394` calls `GET /manufatura/api/necessidade-producao/bom-recursiva-estoque?cod_produto=${codProduto}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/necessidade-producao/bom-recursiva-estoque`\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-81bf1810ee4648c8", "name": "Dangling fetch: POST /manufatura/api/necessidade-producao/adicionar-programacao (app/static/manufatura/necessidade_produ", "shortDescription": {"text": "Dangling fetch: POST /manufatura/api/necessidade-producao/adicionar-programacao (app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1548)"}, "fullDescription": {"text": "`app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1548` calls `POST /manufatura/api/necessidade-producao/adicionar-programacao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/necessidade-producao/adicionar-programacao`\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-91ac61a347254af6", "name": "Dangling fetch: GET /manufatura/recursos/api/separacoes-estoque?${params} (app/static/manufatura/necessidade_producao/js", "shortDescription": {"text": "Dangling fetch: GET /manufatura/recursos/api/separacoes-estoque?${params} (app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1580)"}, "fullDescription": {"text": "`app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1580` calls `GET /manufatura/recursos/api/separacoes-estoque?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/recursos/api/separacoes-estoque`\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-f8d2fba3487f7536", "name": "Dangling fetch: PUT /manufatura/api/necessidade-producao/editar-programacao/${programacaoId} (app/static/manufatura/nece", "shortDescription": {"text": "Dangling fetch: PUT /manufatura/api/necessidade-producao/editar-programacao/${programacaoId} (app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1622)"}, "fullDescription": {"text": "`app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1622` calls `PUT /manufatura/api/necessidade-producao/editar-programacao/${programacaoId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/necessidade-producao/editar-programacao/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-05d4fd39e1356c4c", "name": "Dangling fetch: DELETE /manufatura/api/necessidade-producao/excluir-programacao/${programacaoId} (app/static/manufatura/", "shortDescription": {"text": "Dangling fetch: DELETE /manufatura/api/necessidade-producao/excluir-programacao/${programacaoId} (app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1673)"}, "fullDescription": {"text": "`app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1673` calls `DELETE /manufatura/api/necessidade-producao/excluir-programacao/${programacaoId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/necessidade-producao/excluir-programacao/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3cc7a13493a76972", "name": "Dangling fetch: GET /manufatura/api/necessidade-producao/recursos-produtivos?${params} (app/static/manufatura/necessidad", "shortDescription": {"text": "Dangling fetch: GET /manufatura/api/necessidade-producao/recursos-produtivos?${params} (app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivos.js:54)"}, "fullDescription": {"text": "`app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivos.js:54` calls `GET /manufatura/api/necessidade-producao/recursos-produtivos?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/necessidade-producao/recursos-produtivos`\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-64189c28b4cb1342", "name": "Dangling fetch: GET /manufatura/api/requisicoes-compras/${linhaId}/projecao (app/static/manufatura/requisicoes_compras/j", "shortDescription": {"text": "Dangling fetch: GET /manufatura/api/requisicoes-compras/${linhaId}/projecao (app/static/manufatura/requisicoes_compras/js/requisicoes-compras.js:115)"}, "fullDescription": {"text": "`app/static/manufatura/requisicoes_compras/js/requisicoes-compras.js:115` calls `GET /manufatura/api/requisicoes-compras/${linhaId}/projecao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/requisicoes-compras/<p>/projecao`\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-9683a7604df4bb0f", "name": "Dangling fetch: GET /manufatura/projecao-estoque/api/projetar-consolidado (app/static/manufatura/projecao_estoque/js/pro", "shortDescription": {"text": "Dangling fetch: GET /manufatura/projecao-estoque/api/projetar-consolidado (app/static/manufatura/projecao_estoque/js/projecao-consolidado.js:101)"}, "fullDescription": {"text": "`app/static/manufatura/projecao_estoque/js/projecao-consolidado.js:101` calls `GET /manufatura/projecao-estoque/api/projetar-consolidado` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/projecao-estoque/api/projetar-consolidado`\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-1efb9579038d8d1e", "name": "Dangling fetch: DELETE /manufatura/recursos/api/programacao/${id} (app/static/manufatura/programacao_linhas/js/programac", "shortDescription": {"text": "Dangling fetch: DELETE /manufatura/recursos/api/programacao/${id} (app/static/manufatura/programacao_linhas/js/programacao-linhas-table-view.js:208)"}, "fullDescription": {"text": "`app/static/manufatura/programacao_linhas/js/programacao-linhas-table-view.js:208` calls `DELETE /manufatura/recursos/api/programacao/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/recursos/api/programacao/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4ebdb609661385e9", "name": "Dangling fetch: GET /manufatura/recursos/api/programacao-linhas/dados?${params} (app/static/manufatura/programacao_linha", "shortDescription": {"text": "Dangling fetch: GET /manufatura/recursos/api/programacao-linhas/dados?${params} (app/static/manufatura/programacao_linhas/js/programacao-linhas.js:60)"}, "fullDescription": {"text": "`app/static/manufatura/programacao_linhas/js/programacao-linhas.js:60` calls `GET /manufatura/recursos/api/programacao-linhas/dados?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/recursos/api/programacao-linhas/dados`\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-7ba68894342e2703", "name": "Dangling fetch: GET /manufatura/recursos/api/separacoes-estoque?${params} (app/static/manufatura/programacao_linhas/js/p", "shortDescription": {"text": "Dangling fetch: GET /manufatura/recursos/api/separacoes-estoque?${params} (app/static/manufatura/programacao_linhas/js/programacao-linhas.js:324)"}, "fullDescription": {"text": "`app/static/manufatura/programacao_linhas/js/programacao-linhas.js:324` calls `GET /manufatura/recursos/api/separacoes-estoque?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/recursos/api/separacoes-estoque`\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-87cc5e00d2d28264", "name": "Dangling fetch: GET /manufatura/api/necessidade-producao/autocomplete-produtos?termo=${encodeURIComponent(termo)} (app/s", "shortDescription": {"text": "Dangling fetch: GET /manufatura/api/necessidade-producao/autocomplete-produtos?termo=${encodeURIComponent(termo)} (app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js:76)"}, "fullDescription": {"text": "`app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js:76` calls `GET /manufatura/api/necessidade-producao/autocomplete-produtos?termo=${encodeURIComponent(termo)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/necessidade-producao/autocomplete-produtos`\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-e9e06609e14e512c", "name": "Dangling fetch: GET /manufatura/api/lista-materiais/produtos-produzidos (app/static/manufatura/programacao_linhas/js/mod", "shortDescription": {"text": "Dangling fetch: GET /manufatura/api/lista-materiais/produtos-produzidos (app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js:133)"}, "fullDescription": {"text": "`app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js:133` calls `GET /manufatura/api/lista-materiais/produtos-produzidos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/lista-materiais/produtos-produzidos`\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-3f1da95d653a8c3b", "name": "Dangling fetch: GET /manufatura/recursos/api/listar?search=${encodeURIComponent(codProduto)} (app/static/manufatura/prog", "shortDescription": {"text": "Dangling fetch: GET /manufatura/recursos/api/listar?search=${encodeURIComponent(codProduto)} (app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js:182)"}, "fullDescription": {"text": "`app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js:182` calls `GET /manufatura/recursos/api/listar?search=${encodeURIComponent(codProduto)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/recursos/api/listar`\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-4b5df79946114ebd", "name": "Dangling fetch: POST /manufatura/api/necessidade-producao/adicionar-programacao (app/static/manufatura/programacao_linha", "shortDescription": {"text": "Dangling fetch: POST /manufatura/api/necessidade-producao/adicionar-programacao (app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js:261)"}, "fullDescription": {"text": "`app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js:261` calls `POST /manufatura/api/necessidade-producao/adicionar-programacao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/necessidade-producao/adicionar-programacao`\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-6941e25933d8e755", "name": "Dangling fetch: PUT /manufatura/recursos/api/programacao/${id} (app/static/manufatura/programacao_linhas/js/programacao-", "shortDescription": {"text": "Dangling fetch: PUT /manufatura/recursos/api/programacao/${id} (app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamentos.js:681)"}, "fullDescription": {"text": "`app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamentos.js:681` calls `PUT /manufatura/recursos/api/programacao/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/recursos/api/programacao/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-970ac80d86ed4728", "name": "Dangling fetch: PUT /manufatura/recursos/api/programacao/${id} (app/static/manufatura/programacao_linhas/js/programacao-", "shortDescription": {"text": "Dangling fetch: PUT /manufatura/recursos/api/programacao/${id} (app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamentos.js:706)"}, "fullDescription": {"text": "`app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamentos.js:706` calls `PUT /manufatura/recursos/api/programacao/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/recursos/api/programacao/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3a881f462b97ac1f", "name": "Dangling fetch: DELETE /manufatura/recursos/api/programacao/${id} (app/static/manufatura/programacao_linhas/js/programac", "shortDescription": {"text": "Dangling fetch: DELETE /manufatura/recursos/api/programacao/${id} (app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamentos.js:733)"}, "fullDescription": {"text": "`app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamentos.js:733` calls `DELETE /manufatura/recursos/api/programacao/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/recursos/api/programacao/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ecf66dc654e13e52", "name": "Dangling fetch: GET /manufatura/api/lista-materiais/produtos-produzidos?busca=${encodeURIComponent(busca)} (app/static/m", "shortDescription": {"text": "Dangling fetch: GET /manufatura/api/lista-materiais/produtos-produzidos?busca=${encodeURIComponent(busca)} (app/static/manufatura/lista_materiais/js/lista_materiais.js:69)"}, "fullDescription": {"text": "`app/static/manufatura/lista_materiais/js/lista_materiais.js:69` calls `GET /manufatura/api/lista-materiais/produtos-produzidos?busca=${encodeURIComponent(busca)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/lista-materiais/produtos-produzidos`\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-d2efac52a6381807", "name": "Dangling fetch: GET /manufatura/api/lista-materiais/${codProduto} (app/static/manufatura/lista_materiais/js/lista_materi", "shortDescription": {"text": "Dangling fetch: GET /manufatura/api/lista-materiais/${codProduto} (app/static/manufatura/lista_materiais/js/lista_materiais.js:539)"}, "fullDescription": {"text": "`app/static/manufatura/lista_materiais/js/lista_materiais.js:539` calls `GET /manufatura/api/lista-materiais/${codProduto}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/lista-materiais/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dbe340bd0913a32b", "name": "Dangling fetch: GET /manufatura/api/lista-materiais/${codProduto} (app/static/manufatura/lista_materiais/js/lista_materi", "shortDescription": {"text": "Dangling fetch: GET /manufatura/api/lista-materiais/${codProduto} (app/static/manufatura/lista_materiais/js/lista_materiais.js:614)"}, "fullDescription": {"text": "`app/static/manufatura/lista_materiais/js/lista_materiais.js:614` calls `GET /manufatura/api/lista-materiais/${codProduto}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/lista-materiais/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-14030976bc18c11d", "name": "Dangling fetch: GET /manufatura/api/lista-materiais/produtos-produzidos?busca=${codigo} (app/static/manufatura/lista_mat", "shortDescription": {"text": "Dangling fetch: GET /manufatura/api/lista-materiais/produtos-produzidos?busca=${codigo} (app/static/manufatura/lista_materiais/js/lista_materiais.js:861)"}, "fullDescription": {"text": "`app/static/manufatura/lista_materiais/js/lista_materiais.js:861` calls `GET /manufatura/api/lista-materiais/produtos-produzidos?busca=${codigo}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/lista-materiais/produtos-produzidos`\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-a3ed1db9bcc8958a", "name": "Dangling fetch: DELETE /manufatura/api/lista-materiais/${componenteId} (app/static/manufatura/lista_materiais/js/lista_m", "shortDescription": {"text": "Dangling fetch: DELETE /manufatura/api/lista-materiais/${componenteId} (app/static/manufatura/lista_materiais/js/lista_materiais.js:949)"}, "fullDescription": {"text": "`app/static/manufatura/lista_materiais/js/lista_materiais.js:949` calls `DELETE /manufatura/api/lista-materiais/${componenteId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/lista-materiais/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-93855772ec0f2b77", "name": "Dangling fetch: GET /manufatura/api/lista-materiais/validar/${this.produtoAtual} (app/static/manufatura/lista_materiais/", "shortDescription": {"text": "Dangling fetch: GET /manufatura/api/lista-materiais/validar/${this.produtoAtual} (app/static/manufatura/lista_materiais/js/lista_materiais.js:1087)"}, "fullDescription": {"text": "`app/static/manufatura/lista_materiais/js/lista_materiais.js:1087` calls `GET /manufatura/api/lista-materiais/validar/${this.produtoAtual}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/api/lista-materiais/validar/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8ea1ffce30a88bac", "name": "Dangling fetch: GET /manufatura/sugestao-compras/api/calcular (app/static/manufatura/sugestao_compras/js/sugestao.js:26)", "shortDescription": {"text": "Dangling fetch: GET /manufatura/sugestao-compras/api/calcular (app/static/manufatura/sugestao_compras/js/sugestao.js:26)"}, "fullDescription": {"text": "`app/static/manufatura/sugestao_compras/js/sugestao.js:26` calls `GET /manufatura/sugestao-compras/api/calcular` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/manufatura/sugestao-compras/api/calcular`\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-bdd04d989e52ea66", "name": "Dangling fetch: GET /carvia/api/cotacoes/enderecos-cliente/${clienteId} (app/templates/carvia/js/cotacoes/detalhe.js:159", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/cotacoes/enderecos-cliente/${clienteId} (app/templates/carvia/js/cotacoes/detalhe.js:159)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/detalhe.js:159` calls `GET /carvia/api/cotacoes/enderecos-cliente/${clienteId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/cotacoes/enderecos-cliente/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-64c31c3bc3741dba", "name": "Dangling fetch: POST /carvia/api/cotacoes/destino-provisorio (app/templates/carvia/js/cotacoes/detalhe.js:369)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/cotacoes/destino-provisorio (app/templates/carvia/js/cotacoes/detalhe.js:369)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/detalhe.js:369` calls `POST /carvia/api/cotacoes/destino-provisorio` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/cotacoes/destino-provisorio`\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-4521a53975ff7dfd", "name": "Dangling fetch: GET /carvia/api/cotacoes/origens-globais (app/templates/carvia/js/cotacoes/detalhe.js:699)", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/cotacoes/origens-globais (app/templates/carvia/js/cotacoes/detalhe.js:699)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/detalhe.js:699` calls `GET /carvia/api/cotacoes/origens-globais` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/cotacoes/origens-globais`\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-5f96840e741c77cb", "name": "Dangling fetch: POST /carvia/api/cotacoes/${cotacaoId}/nf (app/templates/carvia/js/cotacoes/detalhe.js:730)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/cotacoes/${cotacaoId}/nf (app/templates/carvia/js/cotacoes/detalhe.js:730)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/detalhe.js:730` calls `POST /carvia/api/cotacoes/${cotacaoId}/nf` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/cotacoes/<p>/nf`\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-38432ef68791c215", "name": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/preview-emissao-cte (app/templates/carvia/js/cotacoes/detalhe.js:9", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/preview-emissao-cte (app/templates/carvia/js/cotacoes/detalhe.js:945)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/detalhe.js:945` calls `GET /carvia/api/cotacoes/${cotacaoId}/preview-emissao-cte` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/cotacoes/<p>/preview-emissao-cte`\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-0c619527c2b847fd", "name": "Dangling fetch: POST /carvia/api/cotacoes/${cotacaoId}/emitir-cte (app/templates/carvia/js/cotacoes/detalhe.js:1043)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/cotacoes/${cotacaoId}/emitir-cte (app/templates/carvia/js/cotacoes/detalhe.js:1043)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/detalhe.js:1043` calls `POST /carvia/api/cotacoes/${cotacaoId}/emitir-cte` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/cotacoes/<p>/emitir-cte`\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-09e1017589e7e9fd", "name": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/calcular-preco (app/templates/carvia/js/cotacoes/detalhe.js:523)", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/calcular-preco (app/templates/carvia/js/cotacoes/detalhe.js:523)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/detalhe.js:523` calls `GET /carvia/api/cotacoes/${cotacaoId}/calcular-preco` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:apiCall\nNormalized path used for matching: `/carvia/api/cotacoes/<p>/calcular-preco`\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-a287ca1b2c3e1fa7", "name": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/enviar (app/templates/carvia/js/cotacoes/detalhe.js:619)", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/enviar (app/templates/carvia/js/cotacoes/detalhe.js:619)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/detalhe.js:619` calls `GET /carvia/api/cotacoes/${cotacaoId}/enviar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:apiCall\nNormalized path used for matching: `/carvia/api/cotacoes/<p>/enviar`\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-6d1b63e49799fbe9", "name": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/aprovar-cliente (app/templates/carvia/js/cotacoes/detalhe.js:620)", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/aprovar-cliente (app/templates/carvia/js/cotacoes/detalhe.js:620)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/detalhe.js:620` calls `GET /carvia/api/cotacoes/${cotacaoId}/aprovar-cliente` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:apiCall\nNormalized path used for matching: `/carvia/api/cotacoes/<p>/aprovar-cliente`\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-c768c2be46e77a3e", "name": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/recusar-cliente (app/templates/carvia/js/cotacoes/detalhe.js:621)", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/recusar-cliente (app/templates/carvia/js/cotacoes/detalhe.js:621)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/detalhe.js:621` calls `GET /carvia/api/cotacoes/${cotacaoId}/recusar-cliente` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:apiCall\nNormalized path used for matching: `/carvia/api/cotacoes/<p>/recusar-cliente`\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-d0b12424cbed5ca7", "name": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/cancelar (app/templates/carvia/js/cotacoes/detalhe.js:628)", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/cancelar (app/templates/carvia/js/cotacoes/detalhe.js:628)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/detalhe.js:628` calls `GET /carvia/api/cotacoes/${cotacaoId}/cancelar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:apiCall\nNormalized path used for matching: `/carvia/api/cotacoes/<p>/cancelar`\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-ba7dcb24a2fb5d59", "name": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/reabrir (app/templates/carvia/js/cotacoes/detalhe.js:630)", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/reabrir (app/templates/carvia/js/cotacoes/detalhe.js:630)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/detalhe.js:630` calls `GET /carvia/api/cotacoes/${cotacaoId}/reabrir` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:apiCall\nNormalized path used for matching: `/carvia/api/cotacoes/<p>/reabrir`\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-1d1f6308a41d0357", "name": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/admin-aprovar (app/templates/carvia/js/cotacoes/detalhe.js:631)", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/admin-aprovar (app/templates/carvia/js/cotacoes/detalhe.js:631)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/detalhe.js:631` calls `GET /carvia/api/cotacoes/${cotacaoId}/admin-aprovar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:apiCall\nNormalized path used for matching: `/carvia/api/cotacoes/<p>/admin-aprovar`\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-1f50d66ffc78a115", "name": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/admin-rejeitar (app/templates/carvia/js/cotacoes/detalhe.js:632)", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/admin-rejeitar (app/templates/carvia/js/cotacoes/detalhe.js:632)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/detalhe.js:632` calls `GET /carvia/api/cotacoes/${cotacaoId}/admin-rejeitar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:apiCall\nNormalized path used for matching: `/carvia/api/cotacoes/<p>/admin-rejeitar`\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-b30d85544b57310f", "name": "Dangling fetch: GET /carvia/api/cotacoes/enderecos-cliente/${clienteId} (app/templates/carvia/js/cotacoes/criar.js:13)", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/cotacoes/enderecos-cliente/${clienteId} (app/templates/carvia/js/cotacoes/criar.js:13)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/criar.js:13` calls `GET /carvia/api/cotacoes/enderecos-cliente/${clienteId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/cotacoes/enderecos-cliente/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-354e9a7870a23f85", "name": "Dangling fetch: POST /carvia/api/cotacoes/setup-nf (app/templates/carvia/js/cotacoes/criar.js:184)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/cotacoes/setup-nf (app/templates/carvia/js/cotacoes/criar.js:184)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/criar.js:184` calls `POST /carvia/api/cotacoes/setup-nf` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/cotacoes/setup-nf`\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-7185f83b2ec040e8", "name": "Dangling fetch: POST /carvia/api/cotacoes/criar-cliente-rapido (app/templates/carvia/js/cotacoes/criar.js:428)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/cotacoes/criar-cliente-rapido (app/templates/carvia/js/cotacoes/criar.js:428)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/criar.js:428` calls `POST /carvia/api/cotacoes/criar-cliente-rapido` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/cotacoes/criar-cliente-rapido`\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-f278e39785bee65f", "name": "Dangling fetch: POST /carvia/api/cotacoes/criar-cliente-rapido (app/templates/carvia/js/cotacoes/criar.js:499)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/cotacoes/criar-cliente-rapido (app/templates/carvia/js/cotacoes/criar.js:499)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/criar.js:499` calls `POST /carvia/api/cotacoes/criar-cliente-rapido` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/cotacoes/criar-cliente-rapido`\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-89bde6dd21f33b1d", "name": "Dangling fetch: POST /carvia/api/cotacoes/destino-provisorio (app/templates/carvia/js/cotacoes/criar.js:751)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/cotacoes/destino-provisorio (app/templates/carvia/js/cotacoes/criar.js:751)"}, "fullDescription": {"text": "`app/templates/carvia/js/cotacoes/criar.js:751` calls `POST /carvia/api/cotacoes/destino-provisorio` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/cotacoes/destino-provisorio`\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-161187598406b966", "name": "Dangling fetch: GET /carvia/api/conciliacao/documentos-elegiveis?tipo=receber (app/templates/carvia/js/conciliacao/conci", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/conciliacao/documentos-elegiveis?tipo=receber (app/templates/carvia/js/conciliacao/conciliacao.js:42)"}, "fullDescription": {"text": "`app/templates/carvia/js/conciliacao/conciliacao.js:42` calls `GET /carvia/api/conciliacao/documentos-elegiveis?tipo=receber` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/conciliacao/documentos-elegiveis`\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-f5652ea2a7d6c7fb", "name": "Dangling fetch: GET /carvia/api/conciliacao/documentos-elegiveis?tipo=${tipoMatchAtual}${linhaParam}${filtrosServer} (ap", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/conciliacao/documentos-elegiveis?tipo=${tipoMatchAtual}${linhaParam}${filtrosServer} (app/templates/carvia/js/conciliacao/conciliacao.js:214)"}, "fullDescription": {"text": "`app/templates/carvia/js/conciliacao/conciliacao.js:214` calls `GET /carvia/api/conciliacao/documentos-elegiveis?tipo=${tipoMatchAtual}${linhaParam}${filtrosServer}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/conciliacao/documentos-elegiveis`\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-27988a6d138c8bd0", "name": "Dangling fetch: POST /carvia/api/importacao/editar-item (app/templates/carvia/js/importar/resultado.js:48)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/importacao/editar-item (app/templates/carvia/js/importar/resultado.js:48)"}, "fullDescription": {"text": "`app/templates/carvia/js/importar/resultado.js:48` calls `POST /carvia/api/importacao/editar-item` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/importacao/editar-item`\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-225eb797e9a0f186", "name": "Dangling fetch: POST /carvia/api/importacao/editar-item (app/templates/carvia/js/importar/resultado.js:100)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/importacao/editar-item (app/templates/carvia/js/importar/resultado.js:100)"}, "fullDescription": {"text": "`app/templates/carvia/js/importar/resultado.js:100` calls `POST /carvia/api/importacao/editar-item` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/importacao/editar-item`\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-1058c3d4755823f4", "name": "Dangling fetch: POST /carvia/api/importacao/editar-item-detalhe (app/templates/carvia/js/importar/resultado.js:160)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/importacao/editar-item-detalhe (app/templates/carvia/js/importar/resultado.js:160)"}, "fullDescription": {"text": "`app/templates/carvia/js/importar/resultado.js:160` calls `POST /carvia/api/importacao/editar-item-detalhe` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/importacao/editar-item-detalhe`\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-8f5d1aed76a0a498", "name": "Dangling fetch: POST /carvia/api/importacao/adicionar-item-detalhe (app/templates/carvia/js/importar/resultado.js:195)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/importacao/adicionar-item-detalhe (app/templates/carvia/js/importar/resultado.js:195)"}, "fullDescription": {"text": "`app/templates/carvia/js/importar/resultado.js:195` calls `POST /carvia/api/importacao/adicionar-item-detalhe` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/importacao/adicionar-item-detalhe`\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-f534ee9f80646320", "name": "Dangling fetch: POST /carvia/api/importacao/remover-item-detalhe (app/templates/carvia/js/importar/resultado.js:229)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/importacao/remover-item-detalhe (app/templates/carvia/js/importar/resultado.js:229)"}, "fullDescription": {"text": "`app/templates/carvia/js/importar/resultado.js:229` calls `POST /carvia/api/importacao/remover-item-detalhe` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/importacao/remover-item-detalhe`\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-c201845c6b74aed3", "name": "Dangling fetch: POST /carvia/api/importacao/remover-item (app/templates/carvia/js/importar/resultado.js:263)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/importacao/remover-item (app/templates/carvia/js/importar/resultado.js:263)"}, "fullDescription": {"text": "`app/templates/carvia/js/importar/resultado.js:263` calls `POST /carvia/api/importacao/remover-item` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/importacao/remover-item`\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-33849995c7eaf544", "name": "Dangling fetch: POST /carvia/api/importacao/reclassificar-cte (app/templates/carvia/js/importar/resultado.js:299)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/importacao/reclassificar-cte (app/templates/carvia/js/importar/resultado.js:299)"}, "fullDescription": {"text": "`app/templates/carvia/js/importar/resultado.js:299` calls `POST /carvia/api/importacao/reclassificar-cte` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/importacao/reclassificar-cte`\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-f714fd84efd29437", "name": "Dangling fetch: POST /carvia/api/importacao/reclassificar-fatura (app/templates/carvia/js/importar/resultado.js:320)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/importacao/reclassificar-fatura (app/templates/carvia/js/importar/resultado.js:320)"}, "fullDescription": {"text": "`app/templates/carvia/js/importar/resultado.js:320` calls `POST /carvia/api/importacao/reclassificar-fatura` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/importacao/reclassificar-fatura`\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-1532d61f15551067", "name": "Dangling fetch: POST /carvia/api/cadastrar-transportadora (app/templates/carvia/js/importar/resultado.js:406)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/cadastrar-transportadora (app/templates/carvia/js/importar/resultado.js:406)"}, "fullDescription": {"text": "`app/templates/carvia/js/importar/resultado.js:406` calls `POST /carvia/api/cadastrar-transportadora` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/cadastrar-transportadora`\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-fc126c699704eef5", "name": "Dangling fetch: POST /carvia/api/importacao/selecionar-custo-entrega-cte-comp (app/templates/carvia/js/importar/resultad", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/importacao/selecionar-custo-entrega-cte-comp (app/templates/carvia/js/importar/resultado.js:459)"}, "fullDescription": {"text": "`app/templates/carvia/js/importar/resultado.js:459` calls `POST /carvia/api/importacao/selecionar-custo-entrega-cte-comp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/importacao/selecionar-custo-entrega-cte-comp`\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-ac3f299eb84c40c0", "name": "Dangling fetch: POST /carvia/api/importacao/editar-item (app/templates/carvia/js/importar/resultado.js:495)", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/importacao/editar-item (app/templates/carvia/js/importar/resultado.js:495)"}, "fullDescription": {"text": "`app/templates/carvia/js/importar/resultado.js:495` calls `POST /carvia/api/importacao/editar-item` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/importacao/editar-item`\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-d991f270e7f6256f", "name": "Dangling fetch: POST /carvia/api/importacao/marcar-verificar-ctrc-ssw (app/templates/carvia/js/importar/resultado.js:531", "shortDescription": {"text": "Dangling fetch: POST /carvia/api/importacao/marcar-verificar-ctrc-ssw (app/templates/carvia/js/importar/resultado.js:531)"}, "fullDescription": {"text": "`app/templates/carvia/js/importar/resultado.js:531` calls `POST /carvia/api/importacao/marcar-verificar-ctrc-ssw` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/importacao/marcar-verificar-ctrc-ssw`\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-4835c2aab24dc649", "name": "Dangling fetch: GET /carvia/api/fatura-transportadora/${faturaId}/pdf (app/templates/carvia/js/faturas_transportadora/vi", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/fatura-transportadora/${faturaId}/pdf (app/templates/carvia/js/faturas_transportadora/visualizar.js:8)"}, "fullDescription": {"text": "`app/templates/carvia/js/faturas_transportadora/visualizar.js:8` calls `GET /carvia/api/fatura-transportadora/${faturaId}/pdf` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/fatura-transportadora/<p>/pdf`\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-f307bb9361c4d277", "name": "Dangling fetch: GET /carvia/api/subcontratos-disponiveis/${CARVIA_DATA.transportadoraId} (app/templates/carvia/js/fatura", "shortDescription": {"text": "Dangling fetch: GET /carvia/api/subcontratos-disponiveis/${CARVIA_DATA.transportadoraId} (app/templates/carvia/js/faturas_transportadora/visualizar.js:41)"}, "fullDescription": {"text": "`app/templates/carvia/js/faturas_transportadora/visualizar.js:41` calls `GET /carvia/api/subcontratos-disponiveis/${CARVIA_DATA.transportadoraId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/api/subcontratos-disponiveis/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6440e5a1e9862a4a", "name": "Dangling fetch: POST /carvia/faturas-transportadora/${CARVIA_DATA.faturaId}/anexar-subcontratos (app/templates/carvia/js", "shortDescription": {"text": "Dangling fetch: POST /carvia/faturas-transportadora/${CARVIA_DATA.faturaId}/anexar-subcontratos (app/templates/carvia/js/faturas_transportadora/visualizar.js:120)"}, "fullDescription": {"text": "`app/templates/carvia/js/faturas_transportadora/visualizar.js:120` calls `POST /carvia/faturas-transportadora/${CARVIA_DATA.faturaId}/anexar-subcontratos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/faturas-transportadora/<p>/anexar-subcontratos`\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-f72ccda696410b28", "name": "Dangling fetch: POST /carvia/faturas-transportadora/${CARVIA_DATA.faturaId}/desanexar-subcontrato/${subId} (app/template", "shortDescription": {"text": "Dangling fetch: POST /carvia/faturas-transportadora/${CARVIA_DATA.faturaId}/desanexar-subcontrato/${subId} (app/templates/carvia/js/faturas_transportadora/visualizar.js:156)"}, "fullDescription": {"text": "`app/templates/carvia/js/faturas_transportadora/visualizar.js:156` calls `POST /carvia/faturas-transportadora/${CARVIA_DATA.faturaId}/desanexar-subcontrato/${subId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carvia/faturas-transportadora/<p>/desanexar-subcontrato/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0d89ab6424282fbf", "name": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/detalhes-completo (app/templates/carteira/js/modal-pedido-detalhes", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/detalhes-completo (app/templates/carteira/js/modal-pedido-detalhes.js:20)"}, "fullDescription": {"text": "`app/templates/carteira/js/modal-pedido-detalhes.js:20` calls `GET /carteira/api/pedido/${numPedido}/detalhes-completo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/pedido/<p>/detalhes-completo`\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-ac5868c06eb2f29b", "name": "Dangling fetch: GET /carteira/api/ruptura/sem-cache/analisar-pedido/${numPedido} (app/templates/carteira/js/modal-pedido", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/ruptura/sem-cache/analisar-pedido/${numPedido} (app/templates/carteira/js/modal-pedido-detalhes.js:471)"}, "fullDescription": {"text": "`app/templates/carteira/js/modal-pedido-detalhes.js:471` calls `GET /carteira/api/ruptura/sem-cache/analisar-pedido/${numPedido}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/ruptura/sem-cache/analisar-pedido/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-deb4466f7661abfe", "name": "Dangling fetch: POST /carteira/api/pedido/${numPedido}/gerar-separacao-completa (app/templates/carteira/js/separacao-man", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/pedido/${numPedido}/gerar-separacao-completa (app/templates/carteira/js/separacao-manager.js:148)"}, "fullDescription": {"text": "`app/templates/carteira/js/separacao-manager.js:148` calls `POST /carteira/api/pedido/${numPedido}/gerar-separacao-completa` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/pedido/<p>/gerar-separacao-completa`\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-76fc0474c1a8ee53", "name": "Dangling fetch: POST /carteira/api/separacao/${loteId}/alterar-status (app/templates/carteira/js/separacao-manager.js:31", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/separacao/${loteId}/alterar-status (app/templates/carteira/js/separacao-manager.js:310)"}, "fullDescription": {"text": "`app/templates/carteira/js/separacao-manager.js:310` calls `POST /carteira/api/separacao/${loteId}/alterar-status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/separacao/<p>/alterar-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-64e7dc6b851be961", "name": "Dangling fetch: DELETE /carteira/api/separacao/${loteId}/excluir (app/templates/carteira/js/separacao-manager.js:384)", "shortDescription": {"text": "Dangling fetch: DELETE /carteira/api/separacao/${loteId}/excluir (app/templates/carteira/js/separacao-manager.js:384)"}, "fullDescription": {"text": "`app/templates/carteira/js/separacao-manager.js:384` calls `DELETE /carteira/api/separacao/${loteId}/excluir` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/separacao/<p>/excluir`\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-5489078b47e1542a", "name": "Dangling fetch: GET /carteira/api/contadores (app/templates/carteira/js/separacao-manager.js:505)", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/contadores (app/templates/carteira/js/separacao-manager.js:505)"}, "fullDescription": {"text": "`app/templates/carteira/js/separacao-manager.js:505` calls `GET /carteira/api/contadores` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/contadores`\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-b816e96f4bf7affb", "name": "Dangling fetch: POST /carteira/api/separacao/salvar (app/templates/carteira/js/separacao-manager.js:799)", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/separacao/salvar (app/templates/carteira/js/separacao-manager.js:799)"}, "fullDescription": {"text": "`app/templates/carteira/js/separacao-manager.js:799` calls `POST /carteira/api/separacao/salvar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/separacao/salvar`\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-f7cd1f081a44cd56", "name": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/separacoes?status=${status} (app/templates/carteira/js/separacao-m", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/separacoes?status=${status} (app/templates/carteira/js/separacao-manager.js:833)"}, "fullDescription": {"text": "`app/templates/carteira/js/separacao-manager.js:833` calls `GET /carteira/api/pedido/${numPedido}/separacoes?status=${status}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/pedido/<p>/separacoes`\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-e72517a717f7c25c", "name": "Dangling fetch: POST /carteira/api/separacao/${loteId}/alterar-status (app/templates/carteira/js/separacao-manager.js:86", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/separacao/${loteId}/alterar-status (app/templates/carteira/js/separacao-manager.js:862)"}, "fullDescription": {"text": "`app/templates/carteira/js/separacao-manager.js:862` calls `POST /carteira/api/separacao/${loteId}/alterar-status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/separacao/<p>/alterar-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-8c7b87db8cf39af2", "name": "Dangling fetch: POST /carteira/api/separacao/${loteId}/alterar-status (app/templates/carteira/js/workspace-montagem.js:9", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/separacao/${loteId}/alterar-status (app/templates/carteira/js/workspace-montagem.js:973)"}, "fullDescription": {"text": "`app/templates/carteira/js/workspace-montagem.js:973` calls `POST /carteira/api/separacao/${loteId}/alterar-status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/separacao/<p>/alterar-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-691c17e0099db315", "name": "Dangling fetch: GET /carteira/api/separacao/${loteId}/detalhes (app/templates/carteira/js/workspace-montagem.js:1109)", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/separacao/${loteId}/detalhes (app/templates/carteira/js/workspace-montagem.js:1109)"}, "fullDescription": {"text": "`app/templates/carteira/js/workspace-montagem.js:1109` calls `GET /carteira/api/separacao/${loteId}/detalhes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/separacao/<p>/detalhes`\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-dd762522044eb972", "name": "Dangling fetch: POST /portal/api/solicitar-agendamento-async (app/templates/carteira/js/workspace-montagem.js:1382)", "shortDescription": {"text": "Dangling fetch: POST /portal/api/solicitar-agendamento-async (app/templates/carteira/js/workspace-montagem.js:1382)"}, "fullDescription": {"text": "`app/templates/carteira/js/workspace-montagem.js:1382` calls `POST /portal/api/solicitar-agendamento-async` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/api/solicitar-agendamento-async`\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-344d1deafd1f14d9", "name": "Dangling fetch: GET /carteira/api/produto/${codProduto}/cardex (app/templates/carteira/js/modal-cardex.js:20)", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/produto/${codProduto}/cardex (app/templates/carteira/js/modal-cardex.js:20)"}, "fullDescription": {"text": "`app/templates/carteira/js/modal-cardex.js:20` calls `GET /carteira/api/produto/${codProduto}/cardex` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/produto/<p>/cardex`\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-8b921db85888d715", "name": "Dangling fetch: GET /estoque/api/cardex/${codProduto}/pedidos-previstos (app/templates/carteira/js/modal-cardex.js:454)", "shortDescription": {"text": "Dangling fetch: GET /estoque/api/cardex/${codProduto}/pedidos-previstos (app/templates/carteira/js/modal-cardex.js:454)"}, "fullDescription": {"text": "`app/templates/carteira/js/modal-cardex.js:454` calls `GET /estoque/api/cardex/${codProduto}/pedidos-previstos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/api/cardex/<p>/pedidos-previstos`\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-2f14e6ffda30cb90", "name": "Dangling fetch: POST /carteira/simples/api/atualizar-qtd-separacao (app/templates/carteira/js/lote-manager.js:467)", "shortDescription": {"text": "Dangling fetch: POST /carteira/simples/api/atualizar-qtd-separacao (app/templates/carteira/js/lote-manager.js:467)"}, "fullDescription": {"text": "`app/templates/carteira/js/lote-manager.js:467` calls `POST /carteira/simples/api/atualizar-qtd-separacao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/simples/api/atualizar-qtd-separacao`\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-a10d85b9c02b3b35", "name": "Dangling fetch: DELETE /carteira/api/separacao/${separacaoId}/remover (app/templates/carteira/js/lote-manager.js:725)", "shortDescription": {"text": "Dangling fetch: DELETE /carteira/api/separacao/${separacaoId}/remover (app/templates/carteira/js/lote-manager.js:725)"}, "fullDescription": {"text": "`app/templates/carteira/js/lote-manager.js:725` calls `DELETE /carteira/api/separacao/${separacaoId}/remover` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/separacao/<p>/remover`\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-430c9cc5d404003a", "name": "Dangling fetch: POST /carteira/api/separacao/salvar (app/templates/carteira/js/lote-manager.js:816)", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/separacao/salvar (app/templates/carteira/js/lote-manager.js:816)"}, "fullDescription": {"text": "`app/templates/carteira/js/lote-manager.js:816` calls `POST /carteira/api/separacao/salvar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/separacao/salvar`\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-cf9f2429c178dd4b", "name": "Dangling fetch: GET /carteira/api/ruptura/sem-cache/analisar-pedido/${numPedido} (app/templates/carteira/js/ruptura-esto", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/ruptura/sem-cache/analisar-pedido/${numPedido} (app/templates/carteira/js/ruptura-estoque.js:327)"}, "fullDescription": {"text": "`app/templates/carteira/js/ruptura-estoque.js:327` calls `GET /carteira/api/ruptura/sem-cache/analisar-pedido/${numPedido}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/ruptura/sem-cache/analisar-pedido/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-317f238ed8994fba", "name": "Dangling fetch: GET /carteira/api/ruptura/sem-cache/analisar-pedido/${numPedido} (app/templates/carteira/js/ruptura-esto", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/ruptura/sem-cache/analisar-pedido/${numPedido} (app/templates/carteira/js/ruptura-estoque.js:407)"}, "fullDescription": {"text": "`app/templates/carteira/js/ruptura-estoque.js:407` calls `GET /carteira/api/ruptura/sem-cache/analisar-pedido/${numPedido}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/ruptura/sem-cache/analisar-pedido/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b98c663130050665", "name": "Dangling fetch: POST /carteira/api/ruptura/atualizar-visual-separacao (app/templates/carteira/js/ruptura-estoque.js:996)", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/ruptura/atualizar-visual-separacao (app/templates/carteira/js/ruptura-estoque.js:996)"}, "fullDescription": {"text": "`app/templates/carteira/js/ruptura-estoque.js:996` calls `POST /carteira/api/ruptura/atualizar-visual-separacao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/ruptura/atualizar-visual-separacao`\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-c763840692c95177", "name": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/endereco (app/templates/carteira/js/modal-endereco.js:23)", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/endereco (app/templates/carteira/js/modal-endereco.js:23)"}, "fullDescription": {"text": "`app/templates/carteira/js/modal-endereco.js:23` calls `GET /carteira/api/pedido/${numPedido}/endereco` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/pedido/<p>/endereco`\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-321a8ff224a51ca6", "name": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/separacoes-completas (app/templates/carteira/js/modal-separacoes.j", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/separacoes-completas (app/templates/carteira/js/modal-separacoes.js:48)"}, "fullDescription": {"text": "`app/templates/carteira/js/modal-separacoes.js:48` calls `GET /carteira/api/pedido/${numPedido}/separacoes-completas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/pedido/<p>/separacoes-completas`\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-f31e2d8da46c3257", "name": "Dangling fetch: POST /portal/atacadao/depara/api/criar (app/templates/carteira/js/modal-separacoes.js:523)", "shortDescription": {"text": "Dangling fetch: POST /portal/atacadao/depara/api/criar (app/templates/carteira/js/modal-separacoes.js:523)"}, "fullDescription": {"text": "`app/templates/carteira/js/modal-separacoes.js:523` calls `POST /portal/atacadao/depara/api/criar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/atacadao/depara/api/criar`\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-9aac272dcfd18e4d", "name": "Dangling fetch: GET /portal/api/comparar-portal/${loteId} (app/templates/carteira/js/modal-separacoes.js:609)", "shortDescription": {"text": "Dangling fetch: GET /portal/api/comparar-portal/${loteId} (app/templates/carteira/js/modal-separacoes.js:609)"}, "fullDescription": {"text": "`app/templates/carteira/js/modal-separacoes.js:609` calls `GET /portal/api/comparar-portal/${loteId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/api/comparar-portal/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-63a282f524e0bad0", "name": "Dangling fetch: GET /portal/api/extrair-confirmacoes (app/templates/carteira/js/modal-separacoes.js:746)", "shortDescription": {"text": "Dangling fetch: GET /portal/api/extrair-confirmacoes (app/templates/carteira/js/modal-separacoes.js:746)"}, "fullDescription": {"text": "`app/templates/carteira/js/modal-separacoes.js:746` calls `GET /portal/api/extrair-confirmacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/api/extrair-confirmacoes`\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-0f9824941ccef263", "name": "Dangling fetch: POST /carteira/api/verificar-protocolo-portal (app/templates/carteira/js/modal-separacoes.js:790)", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/verificar-protocolo-portal (app/templates/carteira/js/modal-separacoes.js:790)"}, "fullDescription": {"text": "`app/templates/carteira/js/modal-separacoes.js:790` calls `POST /carteira/api/verificar-protocolo-portal` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/verificar-protocolo-portal`\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-95518270cd173ea6", "name": "Dangling fetch: POST /carteira/api/atualizar-status-separacao (app/templates/carteira/js/modal-separacoes.js:995)", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/atualizar-status-separacao (app/templates/carteira/js/modal-separacoes.js:995)"}, "fullDescription": {"text": "`app/templates/carteira/js/modal-separacoes.js:995` calls `POST /carteira/api/atualizar-status-separacao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/atualizar-status-separacao`\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-fff0edc3548456f0", "name": "Dangling fetch: POST /carteira/api/separacoes-compactas-lote (app/templates/carteira/js/carteira-agrupada.js:900)", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/separacoes-compactas-lote (app/templates/carteira/js/carteira-agrupada.js:900)"}, "fullDescription": {"text": "`app/templates/carteira/js/carteira-agrupada.js:900` calls `POST /carteira/api/separacoes-compactas-lote` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/separacoes-compactas-lote`\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-39e592466467e981", "name": "Dangling fetch: POST /carteira/api/separacoes-compactas-lote (app/templates/carteira/js/carteira-agrupada.js:1063)", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/separacoes-compactas-lote (app/templates/carteira/js/carteira-agrupada.js:1063)"}, "fullDescription": {"text": "`app/templates/carteira/js/carteira-agrupada.js:1063` calls `POST /carteira/api/separacoes-compactas-lote` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/separacoes-compactas-lote`\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-faa57a7cf5f44e1b", "name": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/estoque (app/templates/carteira/js/carteira-agrupada.js:1299)", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/estoque (app/templates/carteira/js/carteira-agrupada.js:1299)"}, "fullDescription": {"text": "`app/templates/carteira/js/carteira-agrupada.js:1299` calls `GET /carteira/api/pedido/${numPedido}/estoque` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/pedido/<p>/estoque`\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-842cf4926edbfbd4", "name": "Dangling fetch: GET /carteira/api/separacao/${loteId}/detalhes (app/templates/carteira/js/carteira-agrupada.js:1395)", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/separacao/${loteId}/detalhes (app/templates/carteira/js/carteira-agrupada.js:1395)"}, "fullDescription": {"text": "`app/templates/carteira/js/carteira-agrupada.js:1395` calls `GET /carteira/api/separacao/${loteId}/detalhes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/separacao/<p>/detalhes`\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-09f0b2d925493080", "name": "Dangling fetch: POST /carteira/api/separacao/${loteId}/alterar-status (app/templates/carteira/js/carteira-agrupada.js:14", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/separacao/${loteId}/alterar-status (app/templates/carteira/js/carteira-agrupada.js:1416)"}, "fullDescription": {"text": "`app/templates/carteira/js/carteira-agrupada.js:1416` calls `POST /carteira/api/separacao/${loteId}/alterar-status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/separacao/<p>/alterar-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-0c930053a3af7341", "name": "Dangling fetch: DELETE /carteira/api/separacao/${loteId}/excluir (app/templates/carteira/js/carteira-agrupada.js:1512)", "shortDescription": {"text": "Dangling fetch: DELETE /carteira/api/separacao/${loteId}/excluir (app/templates/carteira/js/carteira-agrupada.js:1512)"}, "fullDescription": {"text": "`app/templates/carteira/js/carteira-agrupada.js:1512` calls `DELETE /carteira/api/separacao/${loteId}/excluir` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/separacao/<p>/excluir`\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-90c936118da48d60", "name": "Dangling fetch: POST /portal/api/verificar-agendas-lote (app/templates/carteira/js/carteira-agrupada.js:1614)", "shortDescription": {"text": "Dangling fetch: POST /portal/api/verificar-agendas-lote (app/templates/carteira/js/carteira-agrupada.js:1614)"}, "fullDescription": {"text": "`app/templates/carteira/js/carteira-agrupada.js:1614` calls `POST /portal/api/verificar-agendas-lote` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/api/verificar-agendas-lote`\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-168c91818d596b2d", "name": "Dangling fetch: GET /portal/api/status-verificacao/${taskId} (app/templates/carteira/js/carteira-agrupada.js:1674)", "shortDescription": {"text": "Dangling fetch: GET /portal/api/status-verificacao/${taskId} (app/templates/carteira/js/carteira-agrupada.js:1674)"}, "fullDescription": {"text": "`app/templates/carteira/js/carteira-agrupada.js:1674` calls `GET /portal/api/status-verificacao/${taskId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/api/status-verificacao/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8b26e91c5fc0c3ba", "name": "Dangling fetch: GET /portal/api/buscar-protocolos-pendentes (app/templates/carteira/js/carteira-agrupada.js:1799)", "shortDescription": {"text": "Dangling fetch: GET /portal/api/buscar-protocolos-pendentes (app/templates/carteira/js/carteira-agrupada.js:1799)"}, "fullDescription": {"text": "`app/templates/carteira/js/carteira-agrupada.js:1799` calls `GET /portal/api/buscar-protocolos-pendentes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/api/buscar-protocolos-pendentes`\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-804f391fed84b0a0", "name": "Dangling fetch: GET /portal/api/buscar-protocolos-pendentes (app/templates/carteira/js/carteira-agrupada.js:1820)", "shortDescription": {"text": "Dangling fetch: GET /portal/api/buscar-protocolos-pendentes (app/templates/carteira/js/carteira-agrupada.js:1820)"}, "fullDescription": {"text": "`app/templates/carteira/js/carteira-agrupada.js:1820` calls `GET /portal/api/buscar-protocolos-pendentes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/api/buscar-protocolos-pendentes`\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-7ec6d7d476ed3ce5", "name": "Dangling fetch: POST /portal/api/verificar-todos-protocolos-pendentes (app/templates/carteira/js/carteira-agrupada.js:18", "shortDescription": {"text": "Dangling fetch: POST /portal/api/verificar-todos-protocolos-pendentes (app/templates/carteira/js/carteira-agrupada.js:1866)"}, "fullDescription": {"text": "`app/templates/carteira/js/carteira-agrupada.js:1866` calls `POST /portal/api/verificar-todos-protocolos-pendentes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/api/verificar-todos-protocolos-pendentes`\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-a3c7841e1068121d", "name": "Dangling fetch: GET /portal/api/status-verificacao-detalhado/${taskId} (app/templates/carteira/js/carteira-agrupada.js:1", "shortDescription": {"text": "Dangling fetch: GET /portal/api/status-verificacao-detalhado/${taskId} (app/templates/carteira/js/carteira-agrupada.js:1925)"}, "fullDescription": {"text": "`app/templates/carteira/js/carteira-agrupada.js:1925` calls `GET /portal/api/status-verificacao-detalhado/${taskId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/api/status-verificacao-detalhado/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-967093558d56b541", "name": "Dangling fetch: POST /carteira/api/toggle-importante (app/templates/carteira/js/carteira-agrupada.js:2231)", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/toggle-importante (app/templates/carteira/js/carteira-agrupada.js:2231)"}, "fullDescription": {"text": "`app/templates/carteira/js/carteira-agrupada.js:2231` calls `POST /carteira/api/toggle-importante` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/toggle-importante`\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-7da59bf3d6ad19a7", "name": "Dangling fetch: GET /carteira/api/standby/status/${numPedido} (app/templates/carteira/js/standby-manager.js:42)", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/standby/status/${numPedido} (app/templates/carteira/js/standby-manager.js:42)"}, "fullDescription": {"text": "`app/templates/carteira/js/standby-manager.js:42` calls `GET /carteira/api/standby/status/${numPedido}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/standby/status/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6eeb0542df281abf", "name": "Dangling fetch: GET /carteira/api/standby/status/${numPedido} (app/templates/carteira/js/standby-manager.js:83)", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/standby/status/${numPedido} (app/templates/carteira/js/standby-manager.js:83)"}, "fullDescription": {"text": "`app/templates/carteira/js/standby-manager.js:83` calls `GET /carteira/api/standby/status/${numPedido}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/standby/status/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5e902e3ca410f2fc", "name": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/detalhes (app/templates/carteira/js/standby-manager.js:113)", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/detalhes (app/templates/carteira/js/standby-manager.js:113)"}, "fullDescription": {"text": "`app/templates/carteira/js/standby-manager.js:113` calls `GET /carteira/api/pedido/${numPedido}/detalhes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/pedido/<p>/detalhes`\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-28cb46d125d14600", "name": "Dangling fetch: POST /carteira/api/standby/criar (app/templates/carteira/js/standby-manager.js:169)", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/standby/criar (app/templates/carteira/js/standby-manager.js:169)"}, "fullDescription": {"text": "`app/templates/carteira/js/standby-manager.js:169` calls `POST /carteira/api/standby/criar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/standby/criar`\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-03d68d1975a52f38", "name": "Dangling fetch: POST /portal/utils/api/identificar-portal-por-lote (app/templates/carteira/js/agendamento/destinacao-por", "shortDescription": {"text": "Dangling fetch: POST /portal/utils/api/identificar-portal-por-lote (app/templates/carteira/js/agendamento/destinacao-portais.js:65)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/destinacao-portais.js:65` calls `POST /portal/utils/api/identificar-portal-por-lote` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/utils/api/identificar-portal-por-lote`\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-65dfd971473130c8", "name": "Dangling fetch: GET /portal/atacadao/agendamento/verificar_depara/${loteId} (app/templates/carteira/js/agendamento/ataca", "shortDescription": {"text": "Dangling fetch: GET /portal/atacadao/agendamento/verificar_depara/${loteId} (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:44)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:44` calls `GET /portal/atacadao/agendamento/verificar_depara/${loteId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/atacadao/agendamento/verificar_depara/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fdeb6e63a48168c9", "name": "Dangling fetch: GET /portal/atacadao/agendamento/preparar/${loteId} (app/templates/carteira/js/agendamento/atacadao/port", "shortDescription": {"text": "Dangling fetch: GET /portal/atacadao/agendamento/preparar/${loteId} (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:92)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:92` calls `GET /portal/atacadao/agendamento/preparar/${loteId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/atacadao/agendamento/preparar/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b24a23b16f988fb9", "name": "Dangling fetch: POST /portal/api/solicitar-agendamento-async (app/templates/carteira/js/agendamento/atacadao/portal-atac", "shortDescription": {"text": "Dangling fetch: POST /portal/api/solicitar-agendamento-async (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:203)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:203` calls `POST /portal/api/solicitar-agendamento-async` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/api/solicitar-agendamento-async`\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-08358d53f8b985b7", "name": "Dangling fetch: GET /portal/atacadao/agendamento/verificar_depara/${loteId} (app/templates/carteira/js/agendamento/ataca", "shortDescription": {"text": "Dangling fetch: GET /portal/atacadao/agendamento/verificar_depara/${loteId} (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:297)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:297` calls `GET /portal/atacadao/agendamento/verificar_depara/${loteId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/atacadao/agendamento/verificar_depara/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d97e6082ff5629e8", "name": "Dangling fetch: GET /portal/atacadao/agendamento/preparar/${loteId} (app/templates/carteira/js/agendamento/atacadao/port", "shortDescription": {"text": "Dangling fetch: GET /portal/atacadao/agendamento/preparar/${loteId} (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:298)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:298` calls `GET /portal/atacadao/agendamento/preparar/${loteId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/atacadao/agendamento/preparar/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-91cc29016fbdbd47", "name": "Dangling fetch: GET /carteira/api/separacao/${loteId} (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js", "shortDescription": {"text": "Dangling fetch: GET /carteira/api/separacao/${loteId} (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:321)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:321` calls `GET /carteira/api/separacao/${loteId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/separacao/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c9df6ffc77b724cf", "name": "Dangling fetch: POST /carteira/api/verificar-protocolo-portal (app/templates/carteira/js/agendamento/atacadao/portal-ata", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/verificar-protocolo-portal (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:418)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:418` calls `POST /carteira/api/verificar-protocolo-portal` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/verificar-protocolo-portal`\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-1412f743971cae5c", "name": "Dangling fetch: POST /carteira/api/atualizar-status-separacao (app/templates/carteira/js/agendamento/atacadao/portal-ata", "shortDescription": {"text": "Dangling fetch: POST /carteira/api/atualizar-status-separacao (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:623)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:623` calls `POST /carteira/api/atualizar-status-separacao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/carteira/api/atualizar-status-separacao`\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-0bffb1feb7fab277", "name": "Dangling fetch: POST /portal/atacadao/cadastrar_depara (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.j", "shortDescription": {"text": "Dangling fetch: POST /portal/atacadao/cadastrar_depara (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:740)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:740` calls `POST /portal/atacadao/cadastrar_depara` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/atacadao/cadastrar_depara`\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-e86cc0c11e9c2daa", "name": "Dangling fetch: POST /portal/atacadao/agendamento/gravar_protocolo (app/templates/carteira/js/agendamento/atacadao/porta", "shortDescription": {"text": "Dangling fetch: POST /portal/atacadao/agendamento/gravar_protocolo (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:782)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:782` calls `POST /portal/atacadao/agendamento/gravar_protocolo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/atacadao/agendamento/gravar_protocolo`\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-8d571eb74ad401ef", "name": "Dangling fetch: POST /portal/sendas/solicitar/separacao/comparar (app/templates/carteira/js/agendamento/sendas/portal-se", "shortDescription": {"text": "Dangling fetch: POST /portal/sendas/solicitar/separacao/comparar (app/templates/carteira/js/agendamento/sendas/portal-sendas.js:54)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/sendas/portal-sendas.js:54` calls `POST /portal/sendas/solicitar/separacao/comparar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/sendas/solicitar/separacao/comparar`\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-52224d3a9f334401", "name": "Dangling fetch: POST /portal/sendas/solicitar/separacao/confirmar (app/templates/carteira/js/agendamento/sendas/portal-s", "shortDescription": {"text": "Dangling fetch: POST /portal/sendas/solicitar/separacao/confirmar (app/templates/carteira/js/agendamento/sendas/portal-sendas.js:492)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/sendas/portal-sendas.js:492` calls `POST /portal/sendas/solicitar/separacao/confirmar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/sendas/solicitar/separacao/confirmar`\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-f4f0c408a00aa025", "name": "Dangling fetch: POST /portal/sendas/solicitar/separacao/confirmar (app/templates/carteira/js/agendamento/sendas/portal-s", "shortDescription": {"text": "Dangling fetch: POST /portal/sendas/solicitar/separacao/confirmar (app/templates/carteira/js/agendamento/sendas/portal-sendas.js:657)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/sendas/portal-sendas.js:657` calls `POST /portal/sendas/solicitar/separacao/confirmar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/sendas/solicitar/separacao/confirmar`\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-85ed6288805ba170", "name": "Dangling fetch: GET /portal/sendas/fila/status (app/templates/carteira/js/agendamento/sendas/portal-sendas.js:744)", "shortDescription": {"text": "Dangling fetch: GET /portal/sendas/fila/status (app/templates/carteira/js/agendamento/sendas/portal-sendas.js:744)"}, "fullDescription": {"text": "`app/templates/carteira/js/agendamento/sendas/portal-sendas.js:744` calls `GET /portal/sendas/fila/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/sendas/fila/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-1a6d91f2236825bf", "name": "Unused endpoint: ANY /", "shortDescription": {"text": "Unused endpoint: ANY /"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /` 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-e728165aa97a80e3", "name": "Unused endpoint: ANY /cidades", "shortDescription": {"text": "Unused endpoint: ANY /cidades"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /cidades` 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-7cfcfe154de993f0", "name": "Unused endpoint: ANY /exportar_cidades", "shortDescription": {"text": "Unused endpoint: ANY /exportar_cidades"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /exportar_cidades` 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-fa110ac3e6b4e5ac", "name": "Unused endpoint: ANY /ajax/cidades_por_uf/<uf>", "shortDescription": {"text": "Unused endpoint: ANY /ajax/cidades_por_uf/<uf>"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /ajax/cidades_por_uf/<uf>` 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-72f7107cf23db334", "name": "Unused endpoint: ANY /ajax/cidades_por_uf_ibge/<uf>", "shortDescription": {"text": "Unused endpoint: ANY /ajax/cidades_por_uf_ibge/<uf>"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /ajax/cidades_por_uf_ibge/<uf>` 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-cb4925063fcb73ae", "name": "Unused endpoint: ANY /ajax/microrregioes_por_uf/<uf>", "shortDescription": {"text": "Unused endpoint: ANY /ajax/microrregioes_por_uf/<uf>"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /ajax/microrregioes_por_uf/<uf>` 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-a0b631bf0a13c379", "name": "Unused endpoint: ANY /ajax/mesorregioes_por_uf/<uf>", "shortDescription": {"text": "Unused endpoint: ANY /ajax/mesorregioes_por_uf/<uf>"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /ajax/mesorregioes_por_uf/<uf>` 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-cd03d86778043e4a", "name": "Unused endpoint: ANY /rotas", "shortDescription": {"text": "Unused endpoint: ANY /rotas"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /rotas` 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-91c98d1b02dbba61", "name": "Unused endpoint: ANY /sub-rotas", "shortDescription": {"text": "Unused endpoint: ANY /sub-rotas"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /sub-rotas` 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-d40d541982b6bd86", "name": "Unused endpoint: ANY /rotas/importar", "shortDescription": {"text": "Unused endpoint: ANY /rotas/importar"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /rotas/importar` 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-d2bd0c9834b83750", "name": "Unused endpoint: ANY /sub-rotas/importar", "shortDescription": {"text": "Unused endpoint: ANY /sub-rotas/importar"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /sub-rotas/importar` 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-26697c09f1e17a14", "name": "Unused endpoint: ANY /rotas/baixar-modelo", "shortDescription": {"text": "Unused endpoint: ANY /rotas/baixar-modelo"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /rotas/baixar-modelo` 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-2b9ac87250c3aa2f", "name": "Unused endpoint: ANY /rotas/exportar-dados", "shortDescription": {"text": "Unused endpoint: ANY /rotas/exportar-dados"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /rotas/exportar-dados` 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-ab61426698a87bed", "name": "Unused endpoint: ANY /sub-rotas/baixar-modelo", "shortDescription": {"text": "Unused endpoint: ANY /sub-rotas/baixar-modelo"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /sub-rotas/baixar-modelo` 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-3b22b63a5bcb7e5f", "name": "Unused endpoint: ANY /sub-rotas/exportar-dados", "shortDescription": {"text": "Unused endpoint: ANY /sub-rotas/exportar-dados"}, "fullDescription": {"text": "`app/localidades/routes.py` declares `ANY /sub-rotas/exportar-dados` 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-4684e14384cf3a7d", "name": "Unused endpoint: ANY /importar", "shortDescription": {"text": "Unused endpoint: ANY /importar"}, "fullDescription": {"text": "`app/transportadoras/routes.py` declares `ANY /importar` 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-6b0de3aa185ebdff", "name": "Unused endpoint: ANY /dados/<int:id>", "shortDescription": {"text": "Unused endpoint: ANY /dados/<int:id>"}, "fullDescription": {"text": "`app/transportadoras/routes.py` declares `ANY /dados/<int: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-17b0eeaef23fb0d9", "name": "Unused endpoint: ANY /editar/<int:id>", "shortDescription": {"text": "Unused endpoint: ANY /editar/<int:id>"}, "fullDescription": {"text": "`app/transportadoras/routes.py` declares `ANY /editar/<int: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-be34effd20b53938", "name": "Unused endpoint: ANY /excluir/<int:id>", "shortDescription": {"text": "Unused endpoint: ANY /excluir/<int:id>"}, "fullDescription": {"text": "`app/transportadoras/routes.py` declares `ANY /excluir/<int: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-b75e97717014306a", "name": "Unused endpoint: ANY /config-frete/<int:id>", "shortDescription": {"text": "Unused endpoint: ANY /config-frete/<int:id>"}, "fullDescription": {"text": "`app/transportadoras/routes.py` declares `ANY /config-frete/<int: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-c0d5db8a5d202180", "name": "Unused endpoint: ANY /exportar", "shortDescription": {"text": "Unused endpoint: ANY /exportar"}, "fullDescription": {"text": "`app/transportadoras/routes.py` declares `ANY /exportar` 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-a668d1e2839e901b", "name": "Unused endpoint: ANY /grupos", "shortDescription": {"text": "Unused endpoint: ANY /grupos"}, "fullDescription": {"text": "`app/transportadoras/routes.py` declares `ANY /grupos` 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-f87b3627303cd772", "name": "Unused endpoint: ANY /grupos/<int:id>", "shortDescription": {"text": "Unused endpoint: ANY /grupos/<int:id>"}, "fullDescription": {"text": "`app/transportadoras/routes.py` declares `ANY /grupos/<int: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-a15b9eab0da9b357", "name": "Unused endpoint: ANY /api/consultar-cnpj/<cnpj>", "shortDescription": {"text": "Unused endpoint: ANY /api/consultar-cnpj/<cnpj>"}, "fullDescription": {"text": "`app/transportadoras/routes.py` declares `ANY /api/consultar-cnpj/<cnpj>` 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-a42fc25210692aa0", "name": "Unused endpoint: ANY /__placeholder__", "shortDescription": {"text": "Unused endpoint: ANY /__placeholder__"}, "fullDescription": {"text": "`app/ecommerce_preview/routes.py` declares `ANY /__placeholder__` 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-e568bdfce08b33f5", "name": "Unused endpoint: ANY /<path:filename>", "shortDescription": {"text": "Unused endpoint: ANY /<path:filename>"}, "fullDescription": {"text": "`app/ecommerce_preview/routes.py` declares `ANY /<path:filename>` 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-5b264331675dd731", "name": "Unused endpoint: ANY /auditoria", "shortDescription": {"text": "Unused endpoint: ANY /auditoria"}, "fullDescription": {"text": "`app/produtos/routes.py` declares `ANY /auditoria` 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-df56410214510359", "name": "Unused endpoint: ANY /auditoria/exportar", "shortDescription": {"text": "Unused endpoint: ANY /auditoria/exportar"}, "fullDescription": {"text": "`app/produtos/routes.py` declares `ANY /auditoria/exportar` 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-dc139048450bcd97", "name": "Unused endpoint: ANY /api/produto/<path:cod_produto>", "shortDescription": {"text": "Unused endpoint: ANY /api/produto/<path:cod_produto>"}, "fullDescription": {"text": "`app/produtos/routes.py` declares `ANY /api/produto/<path:cod_produto>` 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-d410bcebdb6819ec", "name": "Unused endpoint: ANY /api/mestre", "shortDescription": {"text": "Unused endpoint: ANY /api/mestre"}, "fullDescription": {"text": "`app/produtos/routes.py` declares `ANY /api/mestre` 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-7cfac2779ce6004c", "name": "Unused endpoint: ANY /api/mestre/<path:cod_produto>", "shortDescription": {"text": "Unused endpoint: ANY /api/mestre/<path:cod_produto>"}, "fullDescription": {"text": "`app/produtos/routes.py` declares `ANY /api/mestre/<path:cod_produto>` 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-347959f93398de22", "name": "Unused endpoint: ANY /api/bom-item", "shortDescription": {"text": "Unused endpoint: ANY /api/bom-item"}, "fullDescription": {"text": "`app/produtos/routes.py` declares `ANY /api/bom-item` 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-d4bf6694f3b9d523", "name": "Unused endpoint: ANY /api/recurso", "shortDescription": {"text": "Unused endpoint: ANY /api/recurso"}, "fullDescription": {"text": "`app/produtos/routes.py` declares `ANY /api/recurso` 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-7bb32c4a76d26bbf", "name": "Unused endpoint: ANY /api/custo-considerado", "shortDescription": {"text": "Unused endpoint: ANY /api/custo-considerado"}, "fullDescription": {"text": "`app/produtos/routes.py` declares `ANY /api/custo-considerado` 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-3d1cdfa9a5581f98", "name": "Unused endpoint: ANY /<int:id>", "shortDescription": {"text": "Unused endpoint: ANY /<int:id>"}, "fullDescription": {"text": "`app/notificacoes/routes.py` declares `ANY /<int: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-8caba50af6462be2", "name": "Unused endpoint: ANY /<int:id>/lido", "shortDescription": {"text": "Unused endpoint: ANY /<int:id>/lido"}, "fullDescription": {"text": "`app/notificacoes/routes.py` declares `ANY /<int:id>/lido` 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-e77b67fd4a7b7ab1", "name": "Unused endpoint: ANY /marcar-todas-lidas", "shortDescription": {"text": "Unused endpoint: ANY /marcar-todas-lidas"}, "fullDescription": {"text": "`app/notificacoes/routes.py` declares `ANY /marcar-todas-lidas` 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-03c69619a3098f6f", "name": "Unused endpoint: ANY /api/nao-lidas", "shortDescription": {"text": "Unused endpoint: ANY /api/nao-lidas"}, "fullDescription": {"text": "`app/notificacoes/routes.py` declares `ANY /api/nao-lidas` 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-6c604cde51a1711c", "name": "Unused endpoint: ANY /api/recentes", "shortDescription": {"text": "Unused endpoint: ANY /api/recentes"}, "fullDescription": {"text": "`app/notificacoes/routes.py` declares `ANY /api/recentes` 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-b768401af1870d35", "name": "Unused endpoint: ANY /webhooks", "shortDescription": {"text": "Unused endpoint: ANY /webhooks"}, "fullDescription": {"text": "`app/notificacoes/routes.py` declares `ANY /webhooks` 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-03b587e42fd1007f", "name": "Unused endpoint: ANY /webhooks/<int:id>", "shortDescription": {"text": "Unused endpoint: ANY /webhooks/<int:id>"}, "fullDescription": {"text": "`app/notificacoes/routes.py` declares `ANY /webhooks/<int: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-226a7b5519e61f7d", "name": "Unused endpoint: ANY /webhooks/<int:id>/testar", "shortDescription": {"text": "Unused endpoint: ANY /webhooks/<int:id>/testar"}, "fullDescription": {"text": "`app/notificacoes/routes.py` declares `ANY /webhooks/<int:id>/testar` 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-14b458b46a10f00a", "name": "Unused endpoint: ANY /<int:ocorrencia_id>", "shortDescription": {"text": "Unused endpoint: ANY /<int:ocorrencia_id>"}, "fullDescription": {"text": "`app/devolucao/routes/ocorrencia_routes.py` declares `ANY /<int:ocorrencia_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-b608da163b8a71a5", "name": "Unused endpoint: ANY /api/<int:ocorrencia_id>/logistica", "shortDescription": {"text": "Unused endpoint: ANY /api/<int:ocorrencia_id>/logistica"}, "fullDescription": {"text": "`app/devolucao/routes/ocorrencia_routes.py` declares `ANY /api/<int:ocorrencia_id>/logistica` 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-f597b93a93b22a93", "name": "Unused endpoint: ANY /api/<int:ocorrencia_id>/comercial", "shortDescription": {"text": "Unused endpoint: ANY /api/<int:ocorrencia_id>/comercial"}, "fullDescription": {"text": "`app/devolucao/routes/ocorrencia_routes.py` declares `ANY /api/<int:ocorrencia_id>/comercial` 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-dae44b015cbd16d3", "name": "Unused endpoint: ANY /api/<int:ocorrencia_id>", "shortDescription": {"text": "Unused endpoint: ANY /api/<int:ocorrencia_id>"}, "fullDescription": {"text": "`app/devolucao/routes/ocorrencia_routes.py` declares `ANY /api/<int:ocorrencia_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-ec3442aa0b6ba39d", "name": "Unused endpoint: ANY /api/stats", "shortDescription": {"text": "Unused endpoint: ANY /api/stats"}, "fullDescription": {"text": "`app/devolucao/routes/ocorrencia_routes.py` declares `ANY /api/stats` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e0ca45ca5a9e10d3", "name": "Unused endpoint: ANY /api/<int:ocorrencia_id>/anexos", "shortDescription": {"text": "Unused endpoint: ANY /api/<int:ocorrencia_id>/anexos"}, "fullDescription": {"text": "`app/devolucao/routes/ocorrencia_routes.py` declares `ANY /api/<int:ocorrencia_id>/anexos` 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-bedc30f00aa200f7", "name": "Unused endpoint: ANY /api/<int:ocorrencia_id>/anexos/<int:anexo_id>/download", "shortDescription": {"text": "Unused endpoint: ANY /api/<int:ocorrencia_id>/anexos/<int:anexo_id>/download"}, "fullDescription": {"text": "`app/devolucao/routes/ocorrencia_routes.py` declares `ANY /api/<int:ocorrencia_id>/anexos/<int:anexo_id>/download` 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-06be098255538ddc", "name": "Unused endpoint: ANY /api/<int:ocorrencia_id>/anexos/download-all", "shortDescription": {"text": "Unused endpoint: ANY /api/<int:ocorrencia_id>/anexos/download-all"}, "fullDescription": {"text": "`app/devolucao/routes/ocorrencia_routes.py` declares `ANY /api/<int:ocorrencia_id>/anexos/download-all` 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/17770"}, "properties": {"repository": "Rafael-2109/frete-sistema", "repoUrl": "https://github.com/Rafael-2109/frete-sistema", "branch": "main"}, "results": [{"ruleId": "scanner-df8ad9add4a68e8f", "level": "note", "message": {"text": "Possibly dead Python function: post_fork"}, "properties": {"repobilityId": "9a8de6da8a28d13c", "scanner": "scanner-primary", "fingerprint": "df8ad9add4a68e8f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gunicorn_config_agente.py:50"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b7d170381044c8e8", "level": "note", "message": {"text": "Possibly dead Python function: worker_exit"}, "properties": {"repobilityId": "ebf7e35d19c75785", "scanner": "scanner-primary", "fingerprint": "b7d170381044c8e8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gunicorn_config_agente.py:63"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-06282f82361ef741", "level": "note", "message": {"text": "Possibly dead Python function: post_fork"}, "properties": {"repobilityId": "9a8de6da8a28d13c", "scanner": "scanner-primary", "fingerprint": "06282f82361ef741", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gunicorn_config_sistema.py:44"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3e034f18a1904930", "level": "note", "message": {"text": "Possibly dead Python function: worker_exit"}, "properties": {"repobilityId": "ebf7e35d19c75785", "scanner": "scanner-primary", "fingerprint": "3e034f18a1904930", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gunicorn_config_sistema.py:57"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-467ba3a94929ea1f", "level": "note", "message": {"text": "Possibly dead Python function: task_T02"}, "properties": {"repobilityId": "8e1b9465bbee0469", "scanner": "scanner-primary", "fingerprint": "467ba3a94929ea1f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/_deprecated/scripts/setup_s0.py:117"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-51a69fa3520ad1f7", "level": "note", "message": {"text": "Possibly dead Python function: task_T03"}, "properties": {"repobilityId": "7683c6be29acf868", "scanner": "scanner-primary", "fingerprint": "51a69fa3520ad1f7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/_deprecated/scripts/setup_s0.py:139"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d9a44791c683a7f5", "level": "note", "message": {"text": "Possibly dead Python function: task_T04"}, "properties": {"repobilityId": "c8e08e727ed4c3c6", "scanner": "scanner-primary", "fingerprint": "d9a44791c683a7f5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/_deprecated/scripts/setup_s0.py:158"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ab193efe6246cb5b", "level": "note", "message": {"text": "Possibly dead Python function: task_T05"}, "properties": {"repobilityId": "40b1361a3b291d0b", "scanner": "scanner-primary", "fingerprint": "ab193efe6246cb5b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/_deprecated/scripts/setup_s0.py:182"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6af272d9f5b5defa", "level": "note", "message": {"text": "Possibly dead Python function: task_T06"}, "properties": {"repobilityId": "0a26cabbe331de5c", "scanner": "scanner-primary", "fingerprint": "6af272d9f5b5defa", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/_deprecated/scripts/setup_s0.py:203"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84586123cf737601", "level": "note", "message": {"text": "Possibly dead Python function: task_T07"}, "properties": {"repobilityId": "665984c03710e806", "scanner": "scanner-primary", "fingerprint": "84586123cf737601", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/_deprecated/scripts/setup_s0.py:222"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fca37aea32c78027", "level": "note", "message": {"text": "Possibly dead Python function: task_T08"}, "properties": {"repobilityId": "63167945d561ee16", "scanner": "scanner-primary", "fingerprint": "fca37aea32c78027", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/_deprecated/scripts/setup_s0.py:251"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84f58da11891601a", "level": "note", "message": {"text": "Possibly dead Python function: task_T09"}, "properties": {"repobilityId": "9e96652ac318b526", "scanner": "scanner-primary", "fingerprint": "84f58da11891601a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/_deprecated/scripts/setup_s0.py:284"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-842667ca3cea04c2", "level": "note", "message": {"text": "Possibly dead Python function: task_T10"}, "properties": {"repobilityId": "5d23492bd543d5a7", "scanner": "scanner-primary", "fingerprint": "842667ca3cea04c2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/_deprecated/scripts/setup_s0.py:292"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-236f8a2c640ea782", "level": "note", "message": {"text": "Possibly dead Python function: task_T11"}, "properties": {"repobilityId": "473c00dcebe83fc7", "scanner": "scanner-primary", "fingerprint": "236f8a2c640ea782", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/_deprecated/scripts/setup_s0.py:309"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c03ac63f959c5e5b", "level": "note", "message": {"text": "Possibly dead Python function: task_T12"}, "properties": {"repobilityId": "4eac0ed2beace0da", "scanner": "scanner-primary", "fingerprint": "c03ac63f959c5e5b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/_deprecated/scripts/setup_s0.py:344"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-83ea92c8f84e53d2", "level": "note", "message": {"text": "Possibly dead Python function: task_T33"}, "properties": {"repobilityId": "a1412717185bb2c6", "scanner": "scanner-primary", "fingerprint": "83ea92c8f84e53d2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/_deprecated/scripts/setup_s0.py:362"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8d7a4e86bba5d0e9", "level": "note", "message": {"text": "Possibly dead Python function: nm"}, "properties": {"repobilityId": "7f0720c6cbb506bc", "scanner": "scanner-primary", "fingerprint": "8d7a4e86bba5d0e9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/scripts/proposta_retorno_grounding.py:16"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d0b4624fd7aaa856", "level": "note", "message": {"text": "Possibly dead Python function: modo_baseline"}, "properties": {"repobilityId": "a453784fe35331fa", "scanner": "scanner-primary", "fingerprint": "d0b4624fd7aaa856", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/scripts/e2e_piloto_validar.py:141"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e389e80adc02613b", "level": "note", "message": {"text": "Possibly dead Python function: modo_diff"}, "properties": {"repobilityId": "2467a1fe38a541b5", "scanner": "scanner-primary", "fingerprint": "e389e80adc02613b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/scripts/e2e_piloto_validar.py:160"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e10a85da367b3723", "level": "note", "message": {"text": "Possibly dead Python function: modo_preflight_lf"}, "properties": {"repobilityId": "4b66b7feb99a461c", "scanner": "scanner-primary", "fingerprint": "e10a85da367b3723", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/scripts/e2e_piloto_validar.py:182"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9e743c60f4ed0034", "level": "note", "message": {"text": "Possibly dead Python function: modo_remessa"}, "properties": {"repobilityId": "450a2bcb02d5f641", "scanner": "scanner-primary", "fingerprint": "9e743c60f4ed0034", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/scripts/e2e_piloto_validar.py:196"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1a4a9c620050b735", "level": "note", "message": {"text": "Possibly dead Python function: modo_entrada_lf"}, "properties": {"repobilityId": "32f25429c16791c2", "scanner": "scanner-primary", "fingerprint": "1a4a9c620050b735", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/scripts/e2e_piloto_validar.py:231"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6c370b55b37b35bc", "level": "note", "message": {"text": "Possibly dead Python function: modo_mo"}, "properties": {"repobilityId": "6642060c2a8f13d6", "scanner": "scanner-primary", "fingerprint": "6c370b55b37b35bc", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/scripts/e2e_piloto_validar.py:259"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a5b5afd37c37e5ee", "level": "note", "message": {"text": "Possibly dead Python function: modo_entrada_fb"}, "properties": {"repobilityId": "edf4140a62eba944", "scanner": "scanner-primary", "fingerprint": "a5b5afd37c37e5ee", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/industrializacao-fb-lf/scripts/e2e_piloto_validar.py:291"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2c397aa2066c6975", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/static/js/portal-async-integration.js:93"}, "properties": {"repobilityId": "d3bce676e71ab519", "scanner": "scanner-primary", "fingerprint": "2c397aa2066c6975", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-11b2d20568201522", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/portal-async-integration.js:297"}, "properties": {"repobilityId": "14ca1650ec132a5b", "scanner": "scanner-primary", "fingerprint": "11b2d20568201522", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5c49ede4f37d97c0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/programacao-lote.js:21"}, "properties": {"repobilityId": "a1e829e06cb7abcc", "scanner": "scanner-primary", "fingerprint": "5c49ede4f37d97c0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6f834925b9537085", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/modal-projecao-linha.js:18"}, "properties": {"repobilityId": "3d7edb93b1003fcc", "scanner": "scanner-primary", "fingerprint": "6f834925b9537085", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-540feabeb1c5ccf1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/sendas_comparacao.js:884"}, "properties": {"repobilityId": "9dd1750ec546abf4", "scanner": "scanner-primary", "fingerprint": "540feabeb1c5ccf1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-18106d3a88385ce9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/contas_receber_comparativo.js:604"}, "properties": {"repobilityId": "b764e789173cb958", "scanner": "scanner-primary", "fingerprint": "18106d3a88385ce9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b5e68176898692bb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/analises-drilldown.js:157"}, "properties": {"repobilityId": "5de19e88d6575f21", "scanner": "scanner-primary", "fingerprint": "b5e68176898692bb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-404a404e7084b49c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/carteira-simples.js:64"}, "properties": {"repobilityId": "69212e19f68b6f01", "scanner": "scanner-primary", "fingerprint": "404a404e7084b49c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-66f9048167c4fa90", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/theme-manager.js:245"}, "properties": {"repobilityId": "1358bce959bca1d8", "scanner": "scanner-primary", "fingerprint": "66f9048167c4fa90", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73f1bc311b643e52", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/pallet-unified.js:49"}, "properties": {"repobilityId": "9d2939bb6fd324a1", "scanner": "scanner-primary", "fingerprint": "73f1bc311b643e52", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e1a305cd86332e7e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/devolucao/ocorrencia-detalhe.js:325"}, "properties": {"repobilityId": "ba7cdb34e2b63562", "scanner": "scanner-primary", "fingerprint": "e1a305cd86332e7e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-20366c342d3931c8", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 app/static/js/capacitor/capacitor.js:48"}, "properties": {"repobilityId": "ceedaa7e292fc0ee", "scanner": "scanner-primary", "fingerprint": "20366c342d3931c8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-9c6eb3be72166b94", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/capacitor/gps-service-hibrido.js:69"}, "properties": {"repobilityId": "fb973d55e498bbb4", "scanner": "scanner-primary", "fingerprint": "9c6eb3be72166b94", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-078c4136d12d4339", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/capacitor/rastreamento-integration.js:85"}, "properties": {"repobilityId": "b34938d0d7a2633b", "scanner": "scanner-primary", "fingerprint": "078c4136d12d4339", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-808e9fcc8795223b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/financeiro/premium-effects.js:12"}, "properties": {"repobilityId": "b4771de25fb8e6ec", "scanner": "scanner-primary", "fingerprint": "808e9fcc8795223b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-04c7e9ccbf7ea0ae", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/js/pedidos/lista-endereco.js:73"}, "properties": {"repobilityId": "f99320f1cbcd29e5", "scanner": "scanner-primary", "fingerprint": "04c7e9ccbf7ea0ae", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-09b9d6e01b809627", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 app/static/capacitor/capacitor.js:48"}, "properties": {"repobilityId": "482a5f169cc74a12", "scanner": "scanner-primary", "fingerprint": "09b9d6e01b809627", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5a3dfe5c131981a0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/agente/js/chat.js:228"}, "properties": {"repobilityId": "bf050d3716cf3154", "scanner": "scanner-primary", "fingerprint": "5a3dfe5c131981a0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2f1ae95a5c0b0fe1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/comercial/js/lista_clientes_mobile.js:39"}, "properties": {"repobilityId": "530d6043d3b9519c", "scanner": "scanner-primary", "fingerprint": "2f1ae95a5c0b0fe1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a044b69a163fab9a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/comercial/js/modal_pedidos_mobile.js:455"}, "properties": {"repobilityId": "e8f4525e95367736", "scanner": "scanner-primary", "fingerprint": "a044b69a163fab9a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-20d2d0deffea3134", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/carteira/js/modal-relatorios.js:243"}, "properties": {"repobilityId": "d644fe92b16eeda8", "scanner": "scanner-primary", "fingerprint": "20d2d0deffea3134", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d4acdb56a5a5b5bd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/necessidade_producao/js/modal-detalhes-separacao.js:11"}, "properties": {"repobilityId": "9c74e45fa02f0df7", "scanner": "scanner-primary", "fingerprint": "d4acdb56a5a5b5bd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1679e83a3896545e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/necessidade_producao/js/necessidade-producao.js:146"}, "properties": {"repobilityId": "809529e20a08395f", "scanner": "scanner-primary", "fingerprint": "1679e83a3896545e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-26cbcf854b897a5c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/necessidade_producao/js/modals/modal-projecao.js:249"}, "properties": {"repobilityId": "1f0ed35d621b4af9", "scanner": "scanner-primary", "fingerprint": "26cbcf854b897a5c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b16a5cbfd387412", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivos.js:26"}, "properties": {"repobilityId": "5d2fb9f4b642c3b8", "scanner": "scanner-primary", "fingerprint": "1b16a5cbfd387412", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-451917be69d79164", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/requisicoes_compras/js/historico-modal.js:13"}, "properties": {"repobilityId": "d609b33c60958bcb", "scanner": "scanner-primary", "fingerprint": "451917be69d79164", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-47e3470d121b89f2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/requisicoes_compras/js/requisicoes-compras.js:17"}, "properties": {"repobilityId": "7b951d08cf03838b", "scanner": "scanner-primary", "fingerprint": "47e3470d121b89f2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c87028e9bd81a631", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-table-view.js:196"}, "properties": {"repobilityId": "51b478ab5e742949", "scanner": "scanner-primary", "fingerprint": "c87028e9bd81a631", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-89df85c6120c13d9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-table-view.js:28"}, "properties": {"repobilityId": "59b9334aaf8d8978", "scanner": "scanner-primary", "fingerprint": "89df85c6120c13d9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c09b69588091ab8e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas.js:74"}, "properties": {"repobilityId": "0a1d90b4c1c90d5e", "scanner": "scanner-primary", "fingerprint": "c09b69588091ab8e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-faa9678ac31d688f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamentos.js:87"}, "properties": {"repobilityId": "ae11519a3782a9f0", "scanner": "scanner-primary", "fingerprint": "faa9678ac31d688f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3b9dcd21e8bb04a1", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 app/static/manufatura/lista_materiais/js/lista_materiais.js:652"}, "properties": {"repobilityId": "51ec7fb54e1c064f", "scanner": "scanner-primary", "fingerprint": "3b9dcd21e8bb04a1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-14968de355aab074", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/static/manufatura/lista_materiais/js/lista_materiais.js:16"}, "properties": {"repobilityId": "1ea8595e0f313b4e", "scanner": "scanner-primary", "fingerprint": "14968de355aab074", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-474ccdfc3f82160c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/workspace-tabela.js:12"}, "properties": {"repobilityId": "a277a95edfdc7dd2", "scanner": "scanner-primary", "fingerprint": "474ccdfc3f82160c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-853ee19a8832c991", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-pedido-detalhes.js:12"}, "properties": {"repobilityId": "e3a4827841af363a", "scanner": "scanner-primary", "fingerprint": "853ee19a8832c991", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0a8b7bb2ca950055", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/separacao-manager.js:16"}, "properties": {"repobilityId": "c0d843450ca3ead2", "scanner": "scanner-primary", "fingerprint": "0a8b7bb2ca950055", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8d45fbe2c2213a0e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 app/templates/carteira/js/workspace-montagem.js:1391"}, "properties": {"repobilityId": "9c0f33b242352914", "scanner": "scanner-primary", "fingerprint": "8d45fbe2c2213a0e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-3f0434e65327f307", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/workspace-montagem.js:27"}, "properties": {"repobilityId": "c3b09adb772e83e5", "scanner": "scanner-primary", "fingerprint": "3f0434e65327f307", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-700ad4790dfe0e56", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-cardex.js:12"}, "properties": {"repobilityId": "196ddb1092395b7e", "scanner": "scanner-primary", "fingerprint": "700ad4790dfe0e56", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-89296b4b56020ec3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/workspace-quantidades.js:12"}, "properties": {"repobilityId": "318eab73c7904d72", "scanner": "scanner-primary", "fingerprint": "89296b4b56020ec3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-91a29074faebffe6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-cardex-expandido.js:12"}, "properties": {"repobilityId": "e49f35531176b1e9", "scanner": "scanner-primary", "fingerprint": "91a29074faebffe6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d12858e6198b89f5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-navigation.js:14"}, "properties": {"repobilityId": "d026800945c57c85", "scanner": "scanner-primary", "fingerprint": "d12858e6198b89f5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e4e823e93c895620", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 app/templates/carteira/js/lote-manager.js:19"}, "properties": {"repobilityId": "48ef5a14ee9dcbe2", "scanner": "scanner-primary", "fingerprint": "e4e823e93c895620", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2020ebf6f2330be6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/lote-manager.js:13"}, "properties": {"repobilityId": "a5a434302faedcc3", "scanner": "scanner-primary", "fingerprint": "2020ebf6f2330be6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-585270d59a16dff2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/ruptura-estoque.js:8"}, "properties": {"repobilityId": "c4d5c6f0195199de", "scanner": "scanner-primary", "fingerprint": "585270d59a16dff2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-041070203da9baf9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-endereco.js:12"}, "properties": {"repobilityId": "9bae516bf81b8ca3", "scanner": "scanner-primary", "fingerprint": "041070203da9baf9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e0c3d8caf6aa6f74", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/modal-separacoes.js:21"}, "properties": {"repobilityId": "443f44f23c85d2b5", "scanner": "scanner-primary", "fingerprint": "e0c3d8caf6aa6f74", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aed33156cbbc297e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/carteira-agrupada.js:29"}, "properties": {"repobilityId": "6f405856aab8cb05", "scanner": "scanner-primary", "fingerprint": "aed33156cbbc297e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ce238f0a9f158bd6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/standby-manager.js:221"}, "properties": {"repobilityId": "5f3932f21f5cc823", "scanner": "scanner-primary", "fingerprint": "ce238f0a9f158bd6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1710aaf54f0d6987", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/agendamento/destinacao-portais.js:19"}, "properties": {"repobilityId": "b48d19f1d37fdfa2", "scanner": "scanner-primary", "fingerprint": "1710aaf54f0d6987", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e28d3a0fecb15bac", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:18"}, "properties": {"repobilityId": "86207efc6ee5f1eb", "scanner": "scanner-primary", "fingerprint": "e28d3a0fecb15bac", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3e3116d6407402f3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/agendamento/sendas/portal-sendas.js:12"}, "properties": {"repobilityId": "585868126e16f06f", "scanner": "scanner-primary", "fingerprint": "3e3116d6407402f3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ada1756430429758", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/utils/security.js:212"}, "properties": {"repobilityId": "cd822f26f5bd175b", "scanner": "scanner-primary", "fingerprint": "ada1756430429758", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8c179c262590ada3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/utils/notifications.js:373"}, "properties": {"repobilityId": "fd8c73ebc6aa4212", "scanner": "scanner-primary", "fingerprint": "8c179c262590ada3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-04931f1155bd86b9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/utils/formatters.js:197"}, "properties": {"repobilityId": "a00e296a56149fac", "scanner": "scanner-primary", "fingerprint": "04931f1155bd86b9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b2f2666f70f92137", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/templates/carteira/js/workspace/workspace-api.js:77"}, "properties": {"repobilityId": "a21a1be1e53b2c99", "scanner": "scanner-primary", "fingerprint": "b2f2666f70f92137", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d9207e6a177c294", "level": "warning", "message": {"text": "Privileged port 10 in use"}, "properties": {"repobilityId": "735372d6b5594915", "scanner": "scanner-primary", "fingerprint": "0d9207e6a177c294", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render-async.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d8f51f08072888b2", "level": "warning", "message": {"text": "Privileged port 11 in use"}, "properties": {"repobilityId": "5b3038c67fabb4c8", "scanner": "scanner-primary", "fingerprint": "d8f51f08072888b2", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/operacionais/troca_nf_atacadao881/instalar_cron.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aab47b304e4e9c1a", "level": "warning", "message": {"text": "Privileged port 30 in use"}, "properties": {"repobilityId": "54f172e7d16fc662", "scanner": "scanner-primary", "fingerprint": "aab47b304e4e9c1a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/operacionais/troca_nf_atacadao881/instalar_cron.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fb6b97cefce637d1", "level": "warning", "message": {"text": "Privileged port 930 in use"}, "properties": {"repobilityId": "68e9e3a563f4856f", "scanner": "scanner-primary", "fingerprint": "fb6b97cefce637d1", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/resolvedores/cidade.py"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9ba3088957a8b670", "level": "warning", "message": {"text": "Privileged port 36 in use"}, "properties": {"repobilityId": "d1c2650d13d67a60", "scanner": "scanner-primary", "fingerprint": "9ba3088957a8b670", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/gerando-artifact/scripts/bundle-artifact.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-77f96a01ba4444d6", "level": "error", "message": {"text": "Runtime dotenv file present in repo: .env.render"}, "properties": {"repobilityId": "500b478e457ba49b", "scanner": "scanner-primary", "fingerprint": "77f96a01ba4444d6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".env.render"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8f0cee785f83c0ac", "level": "note", "message": {"text": "Insecure pattern 'debug_true' in run_local.py:20"}, "properties": {"repobilityId": "1ef9c30eba445cdb", "scanner": "scanner-primary", "fingerprint": "8f0cee785f83c0ac", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "debug_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "run_local.py"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-95c68a47d7ecce4f", "level": "note", "message": {"text": "Insecure pattern 'debug_true' in run.py:37"}, "properties": {"repobilityId": "188429209af586ce", "scanner": "scanner-primary", "fingerprint": "95c68a47d7ecce4f", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "debug_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "run.py"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-ceef382c01e7ed10", "level": "note", "message": {"text": "Insecure pattern 'debug_true' in scripts/extrator_cnpj_standalone.py:32"}, "properties": {"repobilityId": "3609a3bbc015af11", "scanner": "scanner-primary", "fingerprint": "ceef382c01e7ed10", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "debug_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/extrator_cnpj_standalone.py"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-612781716b8acd33", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/openclaw_url_watcher.py:92"}, "properties": {"repobilityId": "d5c6f68422619c31", "scanner": "scanner-primary", "fingerprint": "612781716b8acd33", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/openclaw_url_watcher.py"}, "region": {"startLine": 92}}}]}, {"ruleId": "scanner-42c81421f441c3a9", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/deploy_render.py:23"}, "properties": {"repobilityId": "bd96d29ba96016c3", "scanner": "scanner-primary", "fingerprint": "42c81421f441c3a9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/deploy_render.py"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-1ece93455a7e108e", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in scripts/migrations/pg18_post_upgrade.py:188"}, "properties": {"repobilityId": "9374e44fb81f2ee4", "scanner": "scanner-primary", "fingerprint": "1ece93455a7e108e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/migrations/pg18_post_upgrade.py"}, "region": {"startLine": 188}}}]}, {"ruleId": "scanner-aa53a60371247940", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in scripts/migrations/pg18_pre_upgrade_check.py:95"}, "properties": {"repobilityId": "7b56aed8b5ae9732", "scanner": "scanner-primary", "fingerprint": "aa53a60371247940", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/migrations/pg18_pre_upgrade_check.py"}, "region": {"startLine": 95}}}]}, {"ruleId": "scanner-c78382018c628123", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/carvia/js/anexos_widget.js:42"}, "properties": {"repobilityId": "6c43f705555ba133", "scanner": "scanner-primary", "fingerprint": "c78382018c628123", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/carvia/js/anexos_widget.js"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-dacd1c1260f89a86", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/portal-async-integration.js:90"}, "properties": {"repobilityId": "237d8b473dd6723e", "scanner": "scanner-primary", "fingerprint": "dacd1c1260f89a86", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/portal-async-integration.js"}, "region": {"startLine": 90}}}]}, {"ruleId": "scanner-a64b14a59a61c36b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/programacao-lote.js:173"}, "properties": {"repobilityId": "a1dd7f69f36f30cf", "scanner": "scanner-primary", "fingerprint": "a64b14a59a61c36b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/programacao-lote.js"}, "region": {"startLine": 173}}}]}, {"ruleId": "scanner-c818198340b6ba47", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/js/programacao-lote.js:1046"}, "properties": {"repobilityId": "a3a5a65913c2aef8", "scanner": "scanner-primary", "fingerprint": "c818198340b6ba47", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/programacao-lote.js"}, "region": {"startLine": 1046}}}]}, {"ruleId": "scanner-cd9a2e0475def9d8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/cmdk.js:253"}, "properties": {"repobilityId": "0ec989b7e9257c30", "scanner": "scanner-primary", "fingerprint": "cd9a2e0475def9d8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/cmdk.js"}, "region": {"startLine": 253}}}]}, {"ruleId": "scanner-c602e0dac940f5c7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/modal-projecao-linha.js:76"}, "properties": {"repobilityId": "510d5425ca9fd29b", "scanner": "scanner-primary", "fingerprint": "c602e0dac940f5c7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/modal-projecao-linha.js"}, "region": {"startLine": 76}}}]}, {"ruleId": "scanner-fc3ce0a32f4afccb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/analise_producao_componentes.js:41"}, "properties": {"repobilityId": "30c98ca977b7538a", "scanner": "scanner-primary", "fingerprint": "fc3ce0a32f4afccb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/analise_producao_componentes.js"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-469e12210bbcf32d", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/js/analise_producao_componentes.js:351"}, "properties": {"repobilityId": "af0e8bcb11793821", "scanner": "scanner-primary", "fingerprint": "469e12210bbcf32d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/analise_producao_componentes.js"}, "region": {"startLine": 351}}}]}, {"ruleId": "scanner-68c86331e67ba5e2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/carvia_pagamento_modal.js:95"}, "properties": {"repobilityId": "0fbfdb1f344a1f9d", "scanner": "scanner-primary", "fingerprint": "68c86331e67ba5e2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/carvia_pagamento_modal.js"}, "region": {"startLine": 95}}}]}, {"ruleId": "scanner-20d767d393ba05c7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/contas_receber.js:54"}, "properties": {"repobilityId": "f1c4eae9b4c9e582", "scanner": "scanner-primary", "fingerprint": "20d767d393ba05c7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/contas_receber.js"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-367696902e7b9a8b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/cmdk-historico-pedido.js:263"}, "properties": {"repobilityId": "493acebe4da05d0e", "scanner": "scanner-primary", "fingerprint": "367696902e7b9a8b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/cmdk-historico-pedido.js"}, "region": {"startLine": 263}}}]}, {"ruleId": "scanner-80908de1b3a8e083", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/contas_receber_comparativo.js:48"}, "properties": {"repobilityId": "b96db614e76ddce4", "scanner": "scanner-primary", "fingerprint": "80908de1b3a8e083", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/contas_receber_comparativo.js"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-9ae8a77b35e00ba5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/analises-drilldown.js:346"}, "properties": {"repobilityId": "660d886bc26a1efb", "scanner": "scanner-primary", "fingerprint": "9ae8a77b35e00ba5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/analises-drilldown.js"}, "region": {"startLine": 346}}}]}, {"ruleId": "scanner-4ff94d6087cf2fd6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/carteira-simples.js:286"}, "properties": {"repobilityId": "816871165b356587", "scanner": "scanner-primary", "fingerprint": "4ff94d6087cf2fd6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/carteira-simples.js"}, "region": {"startLine": 286}}}]}, {"ruleId": "scanner-189f3d7632be7308", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/js/carteira-simples.js:3786"}, "properties": {"repobilityId": "58bb6e1cb005f26b", "scanner": "scanner-primary", "fingerprint": "189f3d7632be7308", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/carteira-simples.js"}, "region": {"startLine": 3786}}}]}, {"ruleId": "scanner-890b2942ac98799b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pallet-unified.js:104"}, "properties": {"repobilityId": "6750dfd120f629e1", "scanner": "scanner-primary", "fingerprint": "890b2942ac98799b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/pallet-unified.js"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-b6729ef32fca2074", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/devolucao/ocorrencia-detalhe.js:156"}, "properties": {"repobilityId": "918c28c669e4fac4", "scanner": "scanner-primary", "fingerprint": "b6729ef32fca2074", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/devolucao/ocorrencia-detalhe.js"}, "region": {"startLine": 156}}}]}, {"ruleId": "scanner-b70d7b26c11a36cb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/devolucao/cadastros-modal.js:68"}, "properties": {"repobilityId": "906cebe39318b157", "scanner": "scanner-primary", "fingerprint": "b70d7b26c11a36cb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/devolucao/cadastros-modal.js"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-a889f4fd1ff6b91f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/carvia/ssw_progress.js:115"}, "properties": {"repobilityId": "610d10102323597c", "scanner": "scanner-primary", "fingerprint": "a889f4fd1ff6b91f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/carvia/ssw_progress.js"}, "region": {"startLine": 115}}}]}, {"ruleId": "scanner-bcda735a8b8fbb35", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/shared/transportadora-autocomplete.js:165"}, "properties": {"repobilityId": "3f919ee212253a2e", "scanner": "scanner-primary", "fingerprint": "bcda735a8b8fbb35", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/shared/transportadora-autocomplete.js"}, "region": {"startLine": 165}}}]}, {"ruleId": "scanner-313136fd83edcefe", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/shared/scanner-moto.js:77"}, "properties": {"repobilityId": "fb425ce2fa4aede6", "scanner": "scanner-primary", "fingerprint": "313136fd83edcefe", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/shared/scanner-moto.js"}, "region": {"startLine": 77}}}]}, {"ruleId": "scanner-83a8983b9f9e0ad8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/inventario/confronto.js:46"}, "properties": {"repobilityId": "565189dd67b8bfac", "scanner": "scanner-primary", "fingerprint": "83a8983b9f9e0ad8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/inventario/confronto.js"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-e7156c46e5dd7359", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/capacitor/rastreamento-integration.js:114"}, "properties": {"repobilityId": "a7f590d28d5d8113", "scanner": "scanner-primary", "fingerprint": "e7156c46e5dd7359", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/capacitor/rastreamento-integration.js"}, "region": {"startLine": 114}}}]}, {"ruleId": "scanner-151ce5dc96c6cc61", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/hora/autocomplete.js:107"}, "properties": {"repobilityId": "2eb1e9e6f5217212", "scanner": "scanner-primary", "fingerprint": "151ce5dc96c6cc61", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/hora/autocomplete.js"}, "region": {"startLine": 107}}}]}, {"ruleId": "scanner-8e75b2c0b2d9cc2c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/hora/devolucao_venda_novo.js:53"}, "properties": {"repobilityId": "4e14f9a3984d4b51", "scanner": "scanner-primary", "fingerprint": "8e75b2c0b2d9cc2c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/hora/devolucao_venda_novo.js"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-0e7e5430e165ca37", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/financeiro/busca-semantica.js:58"}, "properties": {"repobilityId": "3ce175e9ea0aa733", "scanner": "scanner-primary", "fingerprint": "0e7e5430e165ca37", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/financeiro/busca-semantica.js"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-abe1c2796175b1c6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/comercial/margem.js:67"}, "properties": {"repobilityId": "86f4bc40938f5d4d", "scanner": "scanner-primary", "fingerprint": "abe1c2796175b1c6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/comercial/margem.js"}, "region": {"startLine": 67}}}]}, {"ruleId": "scanner-029dd7a33706adaa", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/estoque/transferir_estoque.js:11"}, "properties": {"repobilityId": "21da7c7a0f54aa01", "scanner": "scanner-primary", "fingerprint": "029dd7a33706adaa", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/estoque/transferir_estoque.js"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-08a11249fdcec03a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-nf.js:17"}, "properties": {"repobilityId": "c9414ad6c1428aa6", "scanner": "scanner-primary", "fingerprint": "08a11249fdcec03a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/pedidos/lista-nf.js"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-ba023feb27355703", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-agendamento.js:81"}, "properties": {"repobilityId": "0166eff926865bab", "scanner": "scanner-primary", "fingerprint": "ba023feb27355703", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/pedidos/lista-agendamento.js"}, "region": {"startLine": 81}}}]}, {"ruleId": "scanner-f57faa90a9d09ed7", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/js/pedidos/lista-agendamento.js:58"}, "properties": {"repobilityId": "7c1013051472ad75", "scanner": "scanner-primary", "fingerprint": "f57faa90a9d09ed7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/pedidos/lista-agendamento.js"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-2cb6e274db99292e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-crud.js:174"}, "properties": {"repobilityId": "e7b64573a22f1a4e", "scanner": "scanner-primary", "fingerprint": "2cb6e274db99292e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/pedidos/lista-crud.js"}, "region": {"startLine": 174}}}]}, {"ruleId": "scanner-cba1ca33ffcdf5bb", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/js/pedidos/lista-crud.js:124"}, "properties": {"repobilityId": "5bb4a5ddca66b67a", "scanner": "scanner-primary", "fingerprint": "cba1ca33ffcdf5bb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/pedidos/lista-crud.js"}, "region": {"startLine": 124}}}]}, {"ruleId": "scanner-6bffa90e0ca70b68", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-modais.js:46"}, "properties": {"repobilityId": "5604c7625b591afc", "scanner": "scanner-primary", "fingerprint": "6bffa90e0ca70b68", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/pedidos/lista-modais.js"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-3619f06877704964", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-checkboxes.js:41"}, "properties": {"repobilityId": "6dbe71fc2e51c91f", "scanner": "scanner-primary", "fingerprint": "3619f06877704964", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/pedidos/lista-checkboxes.js"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-efcb9eb2f7dd6d82", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-filtros.js:63"}, "properties": {"repobilityId": "3df43f33832f1cd1", "scanner": "scanner-primary", "fingerprint": "efcb9eb2f7dd6d82", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/pedidos/lista-filtros.js"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-58b3027fe2c388b4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-endereco.js:86"}, "properties": {"repobilityId": "e37f058c5d88c5b0", "scanner": "scanner-primary", "fingerprint": "58b3027fe2c388b4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/pedidos/lista-endereco.js"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-6722009d8820bead", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-alertas.js:20"}, "properties": {"repobilityId": "8859133279622d23", "scanner": "scanner-primary", "fingerprint": "6722009d8820bead", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/pedidos/lista-alertas.js"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-4a50a3c3f891157a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/pedidos/lista-cotacao.js:34"}, "properties": {"repobilityId": "44de02ffa031090d", "scanner": "scanner-primary", "fingerprint": "4a50a3c3f891157a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/pedidos/lista-cotacao.js"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-2f45a0c460228018", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/recebimento/divergencias_shared.js:82"}, "properties": {"repobilityId": "f91d9d1c309b4095", "scanner": "scanner-primary", "fingerprint": "2f45a0c460228018", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/recebimento/divergencias_shared.js"}, "region": {"startLine": 82}}}]}, {"ruleId": "scanner-f7169ee417bd356b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/recebimento/divergencias_nf_po.js:39"}, "properties": {"repobilityId": "fa50a351dbc801f6", "scanner": "scanner-primary", "fingerprint": "f7169ee417bd356b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/recebimento/divergencias_nf_po.js"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-985b444f911a1a44", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/recebimento/validacoes_nf_po.js:25"}, "properties": {"repobilityId": "9384cc5223b2cc42", "scanner": "scanner-primary", "fingerprint": "985b444f911a1a44", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/recebimento/validacoes_nf_po.js"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-6c7bf7577ac370e8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/simulador-carga/simulador-ui.js:83"}, "properties": {"repobilityId": "2a489eeecf290d44", "scanner": "scanner-primary", "fingerprint": "6c7bf7577ac370e8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/simulador-carga/simulador-ui.js"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-6c84da192c8aa325", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/parametros.js:77"}, "properties": {"repobilityId": "daf8bf44d50b3d5a", "scanner": "scanner-primary", "fingerprint": "6c84da192c8aa325", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/custeio/parametros.js"}, "region": {"startLine": 77}}}]}, {"ruleId": "scanner-e84a9597d808fc8b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/mensal.js:83"}, "properties": {"repobilityId": "d6f50e66cd33cf19", "scanner": "scanner-primary", "fingerprint": "e84a9597d808fc8b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/custeio/mensal.js"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-5bbfbaf9b5b44dbe", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/custeio.js:129"}, "properties": {"repobilityId": "a1b98f291eed5f69", "scanner": "scanner-primary", "fingerprint": "5bbfbaf9b5b44dbe", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/custeio/custeio.js"}, "region": {"startLine": 129}}}]}, {"ruleId": "scanner-887e0518f82cb34d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/comissao.js:69"}, "properties": {"repobilityId": "ef642e63a33c4206", "scanner": "scanner-primary", "fingerprint": "887e0518f82cb34d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/custeio/comissao.js"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-591ce9d6f00d13b6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/dashboard.js:34"}, "properties": {"repobilityId": "164a428f9b2199ea", "scanner": "scanner-primary", "fingerprint": "591ce9d6f00d13b6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/custeio/dashboard.js"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-b9789c97661d429f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/producao.js:65"}, "properties": {"repobilityId": "076eaad2d07f6f13", "scanner": "scanner-primary", "fingerprint": "b9789c97661d429f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/custeio/producao.js"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-92e42f9ce831c8ec", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/definicao.js:80"}, "properties": {"repobilityId": "e8db90eb3c003bfa", "scanner": "scanner-primary", "fingerprint": "92e42f9ce831c8ec", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/custeio/definicao.js"}, "region": {"startLine": 80}}}]}, {"ruleId": "scanner-b8b935785d9a2b88", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/js/custeio/frete.js:83"}, "properties": {"repobilityId": "1d35867ba8b19d1d", "scanner": "scanner-primary", "fingerprint": "b8b935785d9a2b88", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/js/custeio/frete.js"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-b45796e78d076a7e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/chat/js/chat_ui.js:137"}, "properties": {"repobilityId": "2202b673fb5900fe", "scanner": "scanner-primary", "fingerprint": "b45796e78d076a7e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/chat/js/chat_ui.js"}, "region": {"startLine": 137}}}]}, {"ruleId": "scanner-972af71e945d9ead", "level": "note", "message": {"text": "Insecure pattern 'document_write' in app/static/agente/js/chat.js:5397"}, "properties": {"repobilityId": "2cd4ea24f80c7d30", "scanner": "scanner-primary", "fingerprint": "972af71e945d9ead", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/agente/js/chat.js"}, "region": {"startLine": 5397}}}]}, {"ruleId": "scanner-b586b696d6a31a5e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/agente/js/chat.js:556"}, "properties": {"repobilityId": "c76371788d54df70", "scanner": "scanner-primary", "fingerprint": "b586b696d6a31a5e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/agente/js/chat.js"}, "region": {"startLine": 556}}}]}, {"ruleId": "scanner-e68b9c395b380d4c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/comercial/js/lista_clientes_mobile.js:178"}, "properties": {"repobilityId": "d53a94c64bf1299a", "scanner": "scanner-primary", "fingerprint": "e68b9c395b380d4c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/comercial/js/lista_clientes_mobile.js"}, "region": {"startLine": 178}}}]}, {"ruleId": "scanner-f85ca8bb9542b89d", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/comercial/js/lista_clientes_mobile.js:199"}, "properties": {"repobilityId": "2691a9faefdce729", "scanner": "scanner-primary", "fingerprint": "f85ca8bb9542b89d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/comercial/js/lista_clientes_mobile.js"}, "region": {"startLine": 199}}}]}, {"ruleId": "scanner-df063b2169bc5d0b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/comercial/js/modal_pedidos_mobile.js:13"}, "properties": {"repobilityId": "ef6609bc8aa26ef2", "scanner": "scanner-primary", "fingerprint": "df063b2169bc5d0b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/comercial/js/modal_pedidos_mobile.js"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-b4945fe134b4e261", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/onboarding/lib/driver.min.js:2"}, "properties": {"repobilityId": "5397d26db8b429ce", "scanner": "scanner-primary", "fingerprint": "b4945fe134b4e261", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/onboarding/lib/driver.min.js"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-235a077c9528beaa", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/onboarding/core/tour_button.js:77"}, "properties": {"repobilityId": "8ab53f7d55d6e7a2", "scanner": "scanner-primary", "fingerprint": "235a077c9528beaa", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/onboarding/core/tour_button.js"}, "region": {"startLine": 77}}}]}, {"ruleId": "scanner-8c2a62625376d8f8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/carteira/js/modal-relatorios.js:193"}, "properties": {"repobilityId": "923232624151144f", "scanner": "scanner-primary", "fingerprint": "8c2a62625376d8f8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/carteira/js/modal-relatorios.js"}, "region": {"startLine": 193}}}]}, {"ruleId": "scanner-7fe14d22a2af2ddf", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/carteira/js/modal-relatorios.js:145"}, "properties": {"repobilityId": "191771e9ff66579e", "scanner": "scanner-primary", "fingerprint": "7fe14d22a2af2ddf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/carteira/js/modal-relatorios.js"}, "region": {"startLine": 145}}}]}, {"ruleId": "scanner-666aa7e7ea883013", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/pos_venda.js:52"}, "properties": {"repobilityId": "5a1282f37e85297b", "scanner": "scanner-primary", "fingerprint": "666aa7e7ea883013", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/motos_assai/js/pos_venda.js"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-5436823cd36a5d79", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/motos_assai/js/pos_venda.js:192"}, "properties": {"repobilityId": "e44ce48ef7323d04", "scanner": "scanner-primary", "fingerprint": "5436823cd36a5d79", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/motos_assai/js/pos_venda.js"}, "region": {"startLine": 192}}}]}, {"ruleId": "scanner-e9318ac5577d0995", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/devolucao_form.js:79"}, "properties": {"repobilityId": "81a494b34f79728f", "scanner": "scanner-primary", "fingerprint": "e9318ac5577d0995", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/motos_assai/js/devolucao_form.js"}, "region": {"startLine": 79}}}]}, {"ruleId": "scanner-32f43798ab88e2c8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/operacao_quick.js:100"}, "properties": {"repobilityId": "50ef3f972db053d5", "scanner": "scanner-primary", "fingerprint": "32f43798ab88e2c8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/motos_assai/js/operacao_quick.js"}, "region": {"startLine": 100}}}]}, {"ruleId": "scanner-9da326bea409a904", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/resumo_modais.js:43"}, "properties": {"repobilityId": "53638c22fbbbe413", "scanner": "scanner-primary", "fingerprint": "9da326bea409a904", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/motos_assai/js/resumo_modais.js"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-c7b52a5563cf01bb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/separacao_chassi.js:28"}, "properties": {"repobilityId": "2c59874618b4824f", "scanner": "scanner-primary", "fingerprint": "c7b52a5563cf01bb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/motos_assai/js/separacao_chassi.js"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-9d4f907354f3e26a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/pendencias_resolver.js:74"}, "properties": {"repobilityId": "a02a36f54d5c5b83", "scanner": "scanner-primary", "fingerprint": "9d4f907354f3e26a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/motos_assai/js/pendencias_resolver.js"}, "region": {"startLine": 74}}}]}, {"ruleId": "scanner-bb5388df98c8157c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/carregamento_escanear.js:41"}, "properties": {"repobilityId": "0da627d34d5a4299", "scanner": "scanner-primary", "fingerprint": "bb5388df98c8157c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/motos_assai/js/carregamento_escanear.js"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-9cfe12365bb095b5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/rastreamento_chassi.js:77"}, "properties": {"repobilityId": "dab999f3a5ffa65f", "scanner": "scanner-primary", "fingerprint": "9cfe12365bb095b5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/motos_assai/js/rastreamento_chassi.js"}, "region": {"startLine": 77}}}]}, {"ruleId": "scanner-55a3bf988279b096", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/chassi_autocomplete.js:125"}, "properties": {"repobilityId": "e4f28fb298023982", "scanner": "scanner-primary", "fingerprint": "55a3bf988279b096", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/motos_assai/js/chassi_autocomplete.js"}, "region": {"startLine": 125}}}]}, {"ruleId": "scanner-a050da20b9512a66", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/recebimento_wizard.js:77"}, "properties": {"repobilityId": "30c551fbd5b1325a", "scanner": "scanner-primary", "fingerprint": "a050da20b9512a66", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/motos_assai/js/recebimento_wizard.js"}, "region": {"startLine": 77}}}]}, {"ruleId": "scanner-c35e0e7ecd23f10d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/regex_tester.js:34"}, "properties": {"repobilityId": "b93c5b6955cb171c", "scanner": "scanner-primary", "fingerprint": "c35e0e7ecd23f10d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/motos_assai/js/regex_tester.js"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-829276f47e240fcb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/motos_assai/js/divergencias_modais.js:52"}, "properties": {"repobilityId": "1856e4887108813e", "scanner": "scanner-primary", "fingerprint": "829276f47e240fcb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/motos_assai/js/divergencias_modais.js"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-f271d338888797b6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/necessidade_producao/js/modal-detalhes-separacao.js:180"}, "properties": {"repobilityId": "4e0ce223a1b15c35", "scanner": "scanner-primary", "fingerprint": "f271d338888797b6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/manufatura/necessidade_producao/js/modal-detalhes-separacao.js"}, "region": {"startLine": 180}}}]}, {"ruleId": "scanner-05fb43ea2733d8a4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivos.js:123"}, "properties": {"repobilityId": "49e9517dd59295d3", "scanner": "scanner-primary", "fingerprint": "05fb43ea2733d8a4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivos.js"}, "region": {"startLine": 123}}}]}, {"ruleId": "scanner-7fc0cb6a579ebc36", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivos.js:154"}, "properties": {"repobilityId": "78da8d356ca0c290", "scanner": "scanner-primary", "fingerprint": "7fc0cb6a579ebc36", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivos.js"}, "region": {"startLine": 154}}}]}, {"ruleId": "scanner-ad5359f475aa0db0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/requisicoes_compras/js/historico-modal.js:91"}, "properties": {"repobilityId": "8a41c13687a2c27d", "scanner": "scanner-primary", "fingerprint": "ad5359f475aa0db0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/manufatura/requisicoes_compras/js/historico-modal.js"}, "region": {"startLine": 91}}}]}, {"ruleId": "scanner-bfb149602d1c4175", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/requisicoes_compras/js/requisicoes-compras.js:134"}, "properties": {"repobilityId": "e79180c52237e189", "scanner": "scanner-primary", "fingerprint": "bfb149602d1c4175", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/manufatura/requisicoes_compras/js/requisicoes-compras.js"}, "region": {"startLine": 134}}}]}, {"ruleId": "scanner-e0055aeb3ddbe381", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/projecao_estoque/js/projecao-consolidado.js:86"}, "properties": {"repobilityId": "7396aaf70e4a8c85", "scanner": "scanner-primary", "fingerprint": "e0055aeb3ddbe381", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/manufatura/projecao_estoque/js/projecao-consolidado.js"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-261ff4be77a0b0ae", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/sugestao_compras/js/modal-cardex.js:94"}, "properties": {"repobilityId": "327218be40da1e6c", "scanner": "scanner-primary", "fingerprint": "261ff4be77a0b0ae", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/manufatura/sugestao_compras/js/modal-cardex.js"}, "region": {"startLine": 94}}}]}, {"ruleId": "scanner-35ed5eb2b5ab89f0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/sugestao_compras/js/sugestao.js:83"}, "properties": {"repobilityId": "8ad132308d1a4ad1", "scanner": "scanner-primary", "fingerprint": "35ed5eb2b5ab89f0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/manufatura/sugestao_compras/js/sugestao.js"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-731351b844ebee72", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/sugestao_compras/js/modal-em-transito.js:76"}, "properties": {"repobilityId": "e47c3cfb56a8db1d", "scanner": "scanner-primary", "fingerprint": "731351b844ebee72", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/manufatura/sugestao_compras/js/modal-em-transito.js"}, "region": {"startLine": 76}}}]}, {"ruleId": "scanner-1a17824e754dfa8b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/static/manufatura/sugestao_compras/js/modal-sugestao-inteligente.js:94"}, "properties": {"repobilityId": "3f7125c2406d0221", "scanner": "scanner-primary", "fingerprint": "1a17824e754dfa8b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/static/manufatura/sugestao_compras/js/modal-sugestao-inteligente.js"}, "region": {"startLine": 94}}}]}, {"ruleId": "scanner-3328394a939766f0", "level": "error", "message": {"text": "Insecure pattern 'tls_verify_false' in app/utils/odoo_integration.py:427"}, "properties": {"repobilityId": "bfd85a164c42969b", "scanner": "scanner-primary", "fingerprint": "3328394a939766f0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "tls_verify_false"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/utils/odoo_integration.py"}, "region": {"startLine": 427}}}]}, {"ruleId": "scanner-c7393953d37b1f62", "level": "note", "message": {"text": "Insecure pattern 'debug_true' in app/motochefe/services/extrator_cnpj_planilhas.py:58"}, "properties": {"repobilityId": "4093084fbfadecf4", "scanner": "scanner-primary", "fingerprint": "c7393953d37b1f62", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "debug_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/motochefe/services/extrator_cnpj_planilhas.py"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-6dab40f6c96223d9", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in app/financeiro/routes/contas_receber.py:477"}, "properties": {"repobilityId": "d522422b80deb6dd", "scanner": "scanner-primary", "fingerprint": "6dab40f6c96223d9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/financeiro/routes/contas_receber.py"}, "region": {"startLine": 477}}}]}, {"ruleId": "scanner-0be7d71e94d4cbc1", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in app/comercial/services/permissao_service.py:95"}, "properties": {"repobilityId": "6bb3a12e2bc6c523", "scanner": "scanner-primary", "fingerprint": "0be7d71e94d4cbc1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/comercial/services/permissao_service.py"}, "region": {"startLine": 95}}}]}, {"ruleId": "scanner-22e087ae929dde87", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in .claude/skills/operando-reservas-odoo/SKILL.md:143"}, "properties": {"repobilityId": "b783f42e23a5b38c", "scanner": "scanner-primary", "fingerprint": "22e087ae929dde87", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/operando-reservas-odoo/SKILL.md"}, "region": {"startLine": 143}}}]}, {"ruleId": "scanner-472a415f5ccf77a0", "level": "error", "message": {"text": "Possible secret in .claude/skills/planejando-pre-etapa-odoo/SKILL.md"}, "properties": {"repobilityId": "ac7a4aaf20bceaab", "scanner": "scanner-primary", "fingerprint": "472a415f5ccf77a0", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/planejando-pre-etapa-odoo/SKILL.md"}, "region": {"startLine": 322}}}]}, {"ruleId": "scanner-fb25c64dd6d9b5e4", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in .claude/skills/consultando-sql/schemas/tables/table_catalog_embeddings.json:45"}, "properties": {"repobilityId": "57c645959976e319", "scanner": "scanner-primary", "fingerprint": "fb25c64dd6d9b5e4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/consultando-sql/schemas/tables/table_catalog_embeddings.json"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-f3de48ef9632cec9", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in .claude/skills/consultando-sql/schemas/tables/agent_memory_embeddings.json:43"}, "properties": {"repobilityId": "bff691029f6907f6", "scanner": "scanner-primary", "fingerprint": "f3de48ef9632cec9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/consultando-sql/schemas/tables/agent_memory_embeddings.json"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-b00bb6dd2ce07ebe", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in .claude/skills/consultando-sql/schemas/tables/session_turn_embeddings.json:56"}, "properties": {"repobilityId": "2504801c02611952", "scanner": "scanner-primary", "fingerprint": "b00bb6dd2ce07ebe", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/consultando-sql/schemas/tables/session_turn_embeddings.json"}, "region": {"startLine": 56}}}]}, {"ruleId": "scanner-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-acb643026a28e808", "level": "note", "message": {"text": "Very large file: tests/odoo/services/test_faturamento_pipeline_orchestrator.py (4325 lines)"}, "properties": {"repobilityId": "84bcd093a906ae31", "scanner": "scanner-primary", "fingerprint": "acb643026a28e808", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4d1cb3a4e2cfd58f", "level": "note", "message": {"text": "Very large file: tests/odoo/services/test_escrituracao_lf_service_v19.py (1489 lines)"}, "properties": {"repobilityId": "c9d4247d3503edee", "scanner": "scanner-primary", "fingerprint": "4d1cb3a4e2cfd58f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0d772d958d3c4902", "level": "note", "message": {"text": "Very large file: tests/odoo/services/test_stock_picking_service.py (1450 lines)"}, "properties": {"repobilityId": "5223454bf1f42c57", "scanner": "scanner-primary", "fingerprint": "0d772d958d3c4902", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6379e061277c6be0", "level": "note", "message": {"text": "Very large file: tests/odoo/services/test_stock_internal_transfer_service.py (1550 lines)"}, "properties": {"repobilityId": "fab354bcc05b18ec", "scanner": "scanner-primary", "fingerprint": "6379e061277c6be0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-15ac5cef9588ed40", "level": "note", "message": {"text": "Very large file: scripts/auditar_icms_st_receber.py (1743 lines)"}, "properties": {"repobilityId": "5b54a54073119c09", "scanner": "scanner-primary", "fingerprint": "15ac5cef9588ed40", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a03be53ef09654a9", "level": "note", "message": {"text": "Very large file: scripts/test_sdk_client_migration.py (1383 lines)"}, "properties": {"repobilityId": "89bb6e7cad00efc5", "scanner": "scanner-primary", "fingerprint": "a03be53ef09654a9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ce9ad262c9e83db", "level": "note", "message": {"text": "Very large file: scripts/tests/test_knowledge_graph_stress_api.py (1589 lines)"}, "properties": {"repobilityId": "2a7bffd873e79c12", "scanner": "scanner-primary", "fingerprint": "3ce9ad262c9e83db", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-47812a2c89321059", "level": "note", "message": {"text": "Very large file: scripts/inventario_2026_05/09_executar_onda1_bulk.py (1868 lines)"}, "properties": {"repobilityId": "06368e007e56b7d6", "scanner": "scanner-primary", "fingerprint": "47812a2c89321059", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-70daebe9088cf601", "level": "note", "message": {"text": "Very large file: app/__init__.py (1461 lines)"}, "properties": {"repobilityId": "57f9ed88b0998c1b", "scanner": "scanner-primary", "fingerprint": "70daebe9088cf601", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-048bdc73e199866b", "level": "note", "message": {"text": "Very large file: app/devolucao/models.py (1951 lines)"}, "properties": {"repobilityId": "ad1b754d89bb3dc4", "scanner": "scanner-primary", "fingerprint": "048bdc73e199866b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ae5f1a890a0bf7a9", "level": "note", "message": {"text": "Very large file: app/devolucao/routes/ocorrencia_routes.py (1781 lines)"}, "properties": {"repobilityId": "25a7cdff6e97d721", "scanner": "scanner-primary", "fingerprint": "ae5f1a890a0bf7a9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-112fa22f0a7675d2", "level": "note", "message": {"text": "Very large file: app/devolucao/services/nfd_service.py (1589 lines)"}, "properties": {"repobilityId": "93e05cddfa7e34ab", "scanner": "scanner-primary", "fingerprint": "112fa22f0a7675d2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6f7bfb287ac126ed", "level": "note", "message": {"text": "Very large file: app/devolucao/services/ai_resolver_service.py (2584 lines)"}, "properties": {"repobilityId": "b2484d94ab8d4012", "scanner": "scanner-primary", "fingerprint": "6f7bfb287ac126ed", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-693cb3a5af4c9a12", "level": "note", "message": {"text": "Very large file: app/odoo/estoque/orchestrators/inventario_pipeline.py (6261 lines)"}, "properties": {"repobilityId": "ab25128204ba1430", "scanner": "scanner-primary", "fingerprint": "693cb3a5af4c9a12", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fea74a5ab3bd8f0f", "level": "note", "message": {"text": "Very large file: app/odoo/estoque/scripts/transfer.py (1926 lines)"}, "properties": {"repobilityId": "74d7935ec32c24c0", "scanner": "scanner-primary", "fingerprint": "fea74a5ab3bd8f0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-32db2630a2bf301c", "level": "note", "message": {"text": "Very large file: app/odoo/estoque/scripts/escrituracao.py (2402 lines)"}, "properties": {"repobilityId": "36d3ecce7c809e11", "scanner": "scanner-primary", "fingerprint": "32db2630a2bf301c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a55b309df0fde229", "level": "note", "message": {"text": "Very large file: app/odoo/estoque/scripts/faturamento.py (1345 lines)"}, "properties": {"repobilityId": "da171d82597846a0", "scanner": "scanner-primary", "fingerprint": "a55b309df0fde229", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a73ea41dd89588b5", "level": "note", "message": {"text": "Very large file: app/odoo/estoque/scripts/picking.py (1876 lines)"}, "properties": {"repobilityId": "9137315d3ff6824d", "scanner": "scanner-primary", "fingerprint": "a73ea41dd89588b5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1e5c2a45d83255a8", "level": "note", "message": {"text": "Very large file: app/odoo/estoque/scripts/mo.py (1307 lines)"}, "properties": {"repobilityId": "bce3e47f7e17bfec", "scanner": "scanner-primary", "fingerprint": "1e5c2a45d83255a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9abbe18966f8eb2a", "level": "note", "message": {"text": "Very large file: app/odoo/services/carteira_service.py (3117 lines)"}, "properties": {"repobilityId": "468d7dc129e303d1", "scanner": "scanner-primary", "fingerprint": "9abbe18966f8eb2a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b3b11ef5a4c003e7", "level": "note", "message": {"text": "Very large file: app/odoo/services/pedido_compras_service.py (1363 lines)"}, "properties": {"repobilityId": "d9f8d3c44a6e37cd", "scanner": "scanner-primary", "fingerprint": "b3b11ef5a4c003e7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4037f00b7c506878", "level": "note", "message": {"text": "Very large file: app/odoo/services/importacao_fallback_service.py (1570 lines)"}, "properties": {"repobilityId": "04b2d638f24196f0", "scanner": "scanner-primary", "fingerprint": "4037f00b7c506878", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4eb0fb62123a01c1", "level": "note", "message": {"text": "Very large file: app/odoo/services/faturamento_service.py (1912 lines)"}, "properties": {"repobilityId": "7a1fbed83b84d3b0", "scanner": "scanner-primary", "fingerprint": "4eb0fb62123a01c1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-79aee997a7a152df", "level": "note", "message": {"text": "Very large file: app/odoo/services/inventario_pipeline_service.py (1346 lines)"}, "properties": {"repobilityId": "44a95333a26e6dc9", "scanner": "scanner-primary", "fingerprint": "79aee997a7a152df", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c02d567a49fe1ecd", "level": "note", "message": {"text": "Very large file: app/producao/routes.py (1265 lines)"}, "properties": {"repobilityId": "b639c9df49f72ac6", "scanner": "scanner-primary", "fingerprint": "c02d567a49fe1ecd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c4809a6879ee850a", "level": "note", "message": {"text": "Very large file: app/static/js/programacao-lote.js (1609 lines)"}, "properties": {"repobilityId": "58a19ce3526427b5", "scanner": "scanner-primary", "fingerprint": "c4809a6879ee850a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d7905eaf663c7186", "level": "note", "message": {"text": "Very large file: app/static/js/carteira-simples.js (4044 lines)"}, "properties": {"repobilityId": "022c70879bdc2098", "scanner": "scanner-primary", "fingerprint": "d7905eaf663c7186", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f4af93ae32467d0a", "level": "note", "message": {"text": "Very large file: app/static/js/devolucao/ocorrencia-detalhe.js (2126 lines)"}, "properties": {"repobilityId": "ee13579d839bd8f8", "scanner": "scanner-primary", "fingerprint": "f4af93ae32467d0a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a21a28ac31859734", "level": "note", "message": {"text": "Very large file: app/static/chat/js/chat_ui.js (1172 lines)"}, "properties": {"repobilityId": "ad599694770b3e86", "scanner": "scanner-primary", "fingerprint": "a21a28ac31859734", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4ddf3b1e94f52198", "level": "note", "message": {"text": "Very large file: app/static/agente/js/chat.js (6558 lines)"}, "properties": {"repobilityId": "e5e7fd1b7ebbefba", "scanner": "scanner-primary", "fingerprint": "4ddf3b1e94f52198", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-50f19ef936c26750", "level": "note", "message": {"text": "Very large file: app/static/manufatura/necessidade_producao/js/necessidade-producao.js (1708 lines)"}, "properties": {"repobilityId": "6a3e38722cf1fb86", "scanner": "scanner-primary", "fingerprint": "50f19ef936c26750", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-90b33b7ad53ac90a", "level": "note", "message": {"text": "Very large file: app/carvia/routes/api_routes.py (1713 lines)"}, "properties": {"repobilityId": "4e81f34a34fd58e8", "scanner": "scanner-primary", "fingerprint": "90b33b7ad53ac90a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f465092675a7acea", "level": "note", "message": {"text": "Very large file: app/carvia/routes/frete_routes.py (1390 lines)"}, "properties": {"repobilityId": "623f3f926d93d34c", "scanner": "scanner-primary", "fingerprint": "f465092675a7acea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2a54a06656e751a9", "level": "note", "message": {"text": "Very large file: app/carvia/routes/nf_routes.py (1269 lines)"}, "properties": {"repobilityId": "f32f34df39a11861", "scanner": "scanner-primary", "fingerprint": "2a54a06656e751a9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7e79a871b3f9b300", "level": "note", "message": {"text": "Very large file: app/carvia/routes/custo_entrega_routes.py (2255 lines)"}, "properties": {"repobilityId": "d162caf93d32356b", "scanner": "scanner-primary", "fingerprint": "7e79a871b3f9b300", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bd36021d0cf3a621", "level": "note", "message": {"text": "Very large file: app/carvia/routes/conciliacao_routes.py (1875 lines)"}, "properties": {"repobilityId": "c98bdd3035e4f931", "scanner": "scanner-primary", "fingerprint": "bd36021d0cf3a621", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5caa694401484be7", "level": "note", "message": {"text": "Very large file: app/carvia/routes/fatura_routes.py (3163 lines)"}, "properties": {"repobilityId": "10bc4dd562b80b59", "scanner": "scanner-primary", "fingerprint": "5caa694401484be7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-af1f781d3174349c", "level": "note", "message": {"text": "Very large file: app/carvia/routes/exportacao_routes.py (1844 lines)"}, "properties": {"repobilityId": "2f242cdbe8abe6d7", "scanner": "scanner-primary", "fingerprint": "af1f781d3174349c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-63a17db4bd2b3348", "level": "note", "message": {"text": "Very large file: app/carvia/routes/cotacao_v2_routes.py (3763 lines)"}, "properties": {"repobilityId": "03c48a2a26740ead", "scanner": "scanner-primary", "fingerprint": "63a17db4bd2b3348", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a3dc0d135a6e7249", "level": "note", "message": {"text": "Very large file: app/carvia/routes/operacao_routes.py (1598 lines)"}, "properties": {"repobilityId": "bfcf1041faadc51d", "scanner": "scanner-primary", "fingerprint": "a3dc0d135a6e7249", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-08f1c3225a2e2dcc", "level": "note", "message": {"text": "Very large file: app/carvia/services/parsers/danfe_pdf_parser.py (2329 lines)"}, "properties": {"repobilityId": "d45f1a62f38d297e", "scanner": "scanner-primary", "fingerprint": "08f1c3225a2e2dcc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e381e9e8740ae835", "level": "note", "message": {"text": "Very large file: app/carvia/services/parsers/importacao_service.py (2382 lines)"}, "properties": {"repobilityId": "b9cae10d0dfe2697", "scanner": "scanner-primary", "fingerprint": "e381e9e8740ae835", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7c5a89c30063f7d2", "level": "note", "message": {"text": "Very large file: app/carvia/services/parsers/fatura_pdf_parser.py (1429 lines)"}, "properties": {"repobilityId": "b8f7881d6370a0be", "scanner": "scanner-primary", "fingerprint": "7c5a89c30063f7d2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3bccb388a870d987", "level": "note", "message": {"text": "Very large file: app/carvia/services/parsers/dacte_pdf_parser.py (1948 lines)"}, "properties": {"repobilityId": "dc329cd351fe66f9", "scanner": "scanner-primary", "fingerprint": "3bccb388a870d987", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5984eb14fd114389", "level": "note", "message": {"text": "Very large file: app/carvia/services/documentos/embarque_carvia_service.py (2162 lines)"}, "properties": {"repobilityId": "6f59877029d2f41b", "scanner": "scanner-primary", "fingerprint": "5984eb14fd114389", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5724ae7910c78689", "level": "note", "message": {"text": "Very large file: app/carvia/services/documentos/linking_service.py (1565 lines)"}, "properties": {"repobilityId": "50e8631b12566ac1", "scanner": "scanner-primary", "fingerprint": "5724ae7910c78689", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-95266d9ad86ffd75", "level": "note", "message": {"text": "Very large file: app/carvia/services/financeiro/carvia_conciliacao_service.py (1393 lines)"}, "properties": {"repobilityId": "0500d2f926a2b6c7", "scanner": "scanner-primary", "fingerprint": "95266d9ad86ffd75", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-40a70011d06ed469", "level": "note", "message": {"text": "Very large file: app/teams/services.py (2669 lines)"}, "properties": {"repobilityId": "ba189d23747d21cc", "scanner": "scanner-primary", "fingerprint": "40a70011d06ed469", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-af9d01be02e34758", "level": "note", "message": {"text": "Very large file: app/tabelas/routes.py (1321 lines)"}, "properties": {"repobilityId": "2dfc12b7c56500cc", "scanner": "scanner-primary", "fingerprint": "af9d01be02e34758", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-63e05c206228b416", "level": "note", "message": {"text": "Very large file: app/templates/carvia/js/cotacoes/detalhe.js (1104 lines)"}, "properties": {"repobilityId": "044257ff4b1cf349", "scanner": "scanner-primary", "fingerprint": "63e05c206228b416", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-461799a40b09e36d", "level": "note", "message": {"text": "Very large file: app/templates/carvia/js/cotacoes/criar.js (1074 lines)"}, "properties": {"repobilityId": "96a68171b2f3d255", "scanner": "scanner-primary", "fingerprint": "461799a40b09e36d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-12b20af5e0bd5f04", "level": "note", "message": {"text": "Very large file: app/templates/carteira/js/workspace-montagem.js (1796 lines)"}, "properties": {"repobilityId": "a5810a43ddaa69d4", "scanner": "scanner-primary", "fingerprint": "12b20af5e0bd5f04", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-93c8641cf7090e9c", "level": "note", "message": {"text": "Very large file: app/templates/carteira/js/carteira-agrupada.js (2397 lines)"}, "properties": {"repobilityId": "927941956e8c5c95", "scanner": "scanner-primary", "fingerprint": "93c8641cf7090e9c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-388199203f6e9a3d", "level": "note", "message": {"text": "Very large file: app/hora/routes/tagplus_routes.py (2418 lines)"}, "properties": {"repobilityId": "ea49c36320856ad3", "scanner": "scanner-primary", "fingerprint": "388199203f6e9a3d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cc77d767ec92a5e4", "level": "note", "message": {"text": "Very large file: app/hora/routes/pedidos.py (1480 lines)"}, "properties": {"repobilityId": "5b42e5c1e84ebe5b", "scanner": "scanner-primary", "fingerprint": "cc77d767ec92a5e4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-432e6f212f20adac", "level": "note", "message": {"text": "Very large file: app/hora/routes/vendas.py (1363 lines)"}, "properties": {"repobilityId": "d0da007505f19eef", "scanner": "scanner-primary", "fingerprint": "432e6f212f20adac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f322a15f4069ff4a", "level": "note", "message": {"text": "Very large file: app/hora/services/estoque_service.py (1428 lines)"}, "properties": {"repobilityId": "21b25cc95b7372b2", "scanner": "scanner-primary", "fingerprint": "f322a15f4069ff4a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0f2d6bbd84f9d62e", "level": "note", "message": {"text": "Very large file: app/hora/services/venda_service.py (2779 lines)"}, "properties": {"repobilityId": "258d282e8eeba5fe", "scanner": "scanner-primary", "fingerprint": "0f2d6bbd84f9d62e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c871db85f11423fa", "level": "note", "message": {"text": "Very large file: app/hora/services/recebimento_service.py (1897 lines)"}, "properties": {"repobilityId": "f34d124001f5efcb", "scanner": "scanner-primary", "fingerprint": "c871db85f11423fa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e4527bab1d9b8103", "level": "note", "message": {"text": "Very large file: app/hora/services/tagplus/backfill_service.py (2695 lines)"}, "properties": {"repobilityId": "eace115970bd1b18", "scanner": "scanner-primary", "fingerprint": "e4527bab1d9b8103", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ca8bfd3e77198b47", "level": "note", "message": {"text": "Very large file: app/agente/models.py (2494 lines)"}, "properties": {"repobilityId": "35cbac9bafb757c0", "scanner": "scanner-primary", "fingerprint": "ca8bfd3e77198b47", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e8c7a2f55732fab1", "level": "note", "message": {"text": "Very large file: app/agente/config/feature_flags.py (1279 lines)"}, "properties": {"repobilityId": "9c77f633aab7d3ac", "scanner": "scanner-primary", "fingerprint": "e8c7a2f55732fab1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7ce04458cca16ba4", "level": "note", "message": {"text": "Very large file: app/agente/config/permissions.py (1129 lines)"}, "properties": {"repobilityId": "396b0eb09e00612a", "scanner": "scanner-primary", "fingerprint": "7ce04458cca16ba4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a6204968b41122c8", "level": "note", "message": {"text": "Very large file: app/agente/routes/chat.py (2582 lines)"}, "properties": {"repobilityId": "6c4d8682a9607735", "scanner": "scanner-primary", "fingerprint": "a6204968b41122c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b743acd76bda6f0d", "level": "note", "message": {"text": "Very large file: app/agente/services/pattern_analyzer.py (2786 lines)"}, "properties": {"repobilityId": "7bfa19704c31b77d", "scanner": "scanner-primary", "fingerprint": "b743acd76bda6f0d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d8ce7a6dde4c31b4", "level": "note", "message": {"text": "Very large file: app/agente/services/insights_service.py (1989 lines)"}, "properties": {"repobilityId": "ac92928613fa66ee", "scanner": "scanner-primary", "fingerprint": "d8ce7a6dde4c31b4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0836fb4775c3c45c", "level": "note", "message": {"text": "Very large file: app/agente/tools/session_search_tool.py (1230 lines)"}, "properties": {"repobilityId": "7c394de5ce95b6fd", "scanner": "scanner-primary", "fingerprint": "0836fb4775c3c45c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-55e72474514e71e9", "level": "note", "message": {"text": "Very large file: app/agente/tools/playwright_mcp_tool.py (1720 lines)"}, "properties": {"repobilityId": "5f48bf64eb179883", "scanner": "scanner-primary", "fingerprint": "55e72474514e71e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a799832bbb51e000", "level": "note", "message": {"text": "Very large file: app/agente/tools/memory_mcp_tool.py (3801 lines)"}, "properties": {"repobilityId": "53021878e07ed7f4", "scanner": "scanner-primary", "fingerprint": "a799832bbb51e000", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b5accf720b8b83ff", "level": "note", "message": {"text": "Very large file: app/agente/sdk/memory_injection.py (1987 lines)"}, "properties": {"repobilityId": "590372bd8968ef0c", "scanner": "scanner-primary", "fingerprint": "b5accf720b8b83ff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ef7eb7ec807618b7", "level": "note", "message": {"text": "Very large file: app/agente/sdk/client.py (2993 lines)"}, "properties": {"repobilityId": "a6e5ed9b1bf02562", "scanner": "scanner-primary", "fingerprint": "ef7eb7ec807618b7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea381f554701162c", "level": "note", "message": {"text": "Very large file: app/agente/sdk/hooks.py (1681 lines)"}, "properties": {"repobilityId": "268d7a9f4c0afc10", "scanner": "scanner-primary", "fingerprint": "ea381f554701162c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e75caf5716c43890", "level": "note", "message": {"text": "Very large file: app/relatorios_fiscais/services/sped_ecd_data.py (1540 lines)"}, "properties": {"repobilityId": "5a22f01ff3892878", "scanner": "scanner-primary", "fingerprint": "e75caf5716c43890", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3624d008e80236a7", "level": "note", "message": {"text": "Very large file: app/relatorios_fiscais/services/sped_ecd_blocks.py (1544 lines)"}, "properties": {"repobilityId": "fa316f3cdb131340", "scanner": "scanner-primary", "fingerprint": "3624d008e80236a7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-64a0c2079a3950f8", "level": "note", "message": {"text": "Very large file: app/embeddings/service.py (1852 lines)"}, "properties": {"repobilityId": "b102d644e1d02bba", "scanner": "scanner-primary", "fingerprint": "64a0c2079a3950f8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-22b6c29bc8e6af93", "level": "note", "message": {"text": "Very large file: app/financeiro/models.py (2899 lines)"}, "properties": {"repobilityId": "d00b006ad6ed599f", "scanner": "scanner-primary", "fingerprint": "22b6c29bc8e6af93", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-12a6725b433644d2", "level": "note", "message": {"text": "Very large file: app/financeiro/routes/extrato.py (1887 lines)"}, "properties": {"repobilityId": "46bba85f639979ac", "scanner": "scanner-primary", "fingerprint": "12a6725b433644d2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5d612deca04e57cc", "level": "note", "message": {"text": "Very large file: app/financeiro/services/cnab400_processor_service.py (1468 lines)"}, "properties": {"repobilityId": "bd78e3ea56e9e2c1", "scanner": "scanner-primary", "fingerprint": "5d612deca04e57cc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-453edd81002ecc56", "level": "note", "message": {"text": "Very large file: app/financeiro/services/extrato_conciliacao_service.py (3343 lines)"}, "properties": {"repobilityId": "9ec12f191eae80d7", "scanner": "scanner-primary", "fingerprint": "453edd81002ecc56", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-356139ebff5e66a5", "level": "note", "message": {"text": "Very large file: app/financeiro/services/comprovante_lancamento_service.py (1172 lines)"}, "properties": {"repobilityId": "a02ffdabf2ffe075", "scanner": "scanner-primary", "fingerprint": "356139ebff5e66a5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e52c08be1fef2889", "level": "note", "message": {"text": "Very large file: app/financeiro/services/extrato_matching_service.py (1256 lines)"}, "properties": {"repobilityId": "b6f9ff23b5169ee9", "scanner": "scanner-primary", "fingerprint": "e52c08be1fef2889", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c4b0af00460cf33c", "level": "note", "message": {"text": "Very large file: app/financeiro/services/baixa_titulos_service.py (2167 lines)"}, "properties": {"repobilityId": "683f572583d25e8d", "scanner": "scanner-primary", "fingerprint": "c4b0af00460cf33c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-14b3ba6c2b8df7c2", "level": "note", "message": {"text": "Very large file: app/financeiro/services/comprovante_match_service.py (1858 lines)"}, "properties": {"repobilityId": "bfab6b1ae01637ee", "scanner": "scanner-primary", "fingerprint": "14b3ba6c2b8df7c2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fb443a9a46bf122e", "level": "note", "message": {"text": "Very large file: app/comercial/routes/diretoria.py (1333 lines)"}, "properties": {"repobilityId": "80880d84958b6202", "scanner": "scanner-primary", "fingerprint": "fb443a9a46bf122e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5c339f1d58e200b8", "level": "note", "message": {"text": "Very large file: app/fretes/routes.py (7425 lines)"}, "properties": {"repobilityId": "6389ec56d1ea6a8c", "scanner": "scanner-primary", "fingerprint": "5c339f1d58e200b8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f1daa95199623e05", "level": "note", "message": {"text": "Very large file: app/fretes/models.py (1255 lines)"}, "properties": {"repobilityId": "80059e0ad8f577dc", "scanner": "scanner-primary", "fingerprint": "f1daa95199623e05", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-16b46cb78067d3a4", "level": "note", "message": {"text": "Very large file: app/fretes/services/lancamento_odoo_service.py (2240 lines)"}, "properties": {"repobilityId": "6765d6bdc1b8a41f", "scanner": "scanner-primary", "fingerprint": "16b46cb78067d3a4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7c480a3383c84373", "level": "note", "message": {"text": "Very large file: app/fretes/services/relatorio_analise_fretes_service.py (1711 lines)"}, "properties": {"repobilityId": "afb4fe2eea1aa6d7", "scanner": "scanner-primary", "fingerprint": "7c480a3383c84373", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a1a8b88422aac7ee", "level": "note", "message": {"text": "Very large file: app/fretes/services/lancamento_despesa_odoo_service.py (1505 lines)"}, "properties": {"repobilityId": "d35e7d1ce4fc4865", "scanner": "scanner-primary", "fingerprint": "a1a8b88422aac7ee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-47e14b0bacc4273f", "level": "note", "message": {"text": "Very large file: app/carteira/routes/programacao_em_lote/routes.py (2070 lines)"}, "properties": {"repobilityId": "8b6507ac0f1af525", "scanner": "scanner-primary", "fingerprint": "47e14b0bacc4273f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a6ae4634dcaa2ac8", "level": "note", "message": {"text": "Very large file: app/carteira/services/mapa_service.py (1346 lines)"}, "properties": {"repobilityId": "5731f9a1803d0506", "scanner": "scanner-primary", "fingerprint": "a6ae4634dcaa2ac8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d8fa814160ffa80b", "level": "note", "message": {"text": "Very large file: app/pallet/services/sync_odoo_service.py (1128 lines)"}, "properties": {"repobilityId": "42bf5b6b9723bd8e", "scanner": "scanner-primary", "fingerprint": "d8fa814160ffa80b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-91163126d8de60ac", "level": "note", "message": {"text": "Very large file: app/pallet/services/match_service.py (1609 lines)"}, "properties": {"repobilityId": "fa7c378f92cf43b1", "scanner": "scanner-primary", "fingerprint": "91163126d8de60ac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c3c3eebb3fc99cce", "level": "note", "message": {"text": "Very large file: app/estoque/routes.py (2229 lines)"}, "properties": {"repobilityId": "57f9659a82cc99be", "scanner": "scanner-primary", "fingerprint": "c3c3eebb3fc99cce", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-94aa539207250530", "level": "note", "message": {"text": "Very large file: app/portal/routes.py (1209 lines)"}, "properties": {"repobilityId": "e8086a588dac114d", "scanner": "scanner-primary", "fingerprint": "94aa539207250530", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e9d758154efd3f05", "level": "note", "message": {"text": "Very large file: app/portal/atacadao/playwright_client.py (1955 lines)"}, "properties": {"repobilityId": "05ec088ee975ec9b", "scanner": "scanner-primary", "fingerprint": "e9d758154efd3f05", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8ed3e94fe8ff977a", "level": "note", "message": {"text": "Very large file: app/pedidos/leitura/routes.py (2607 lines)"}, "properties": {"repobilityId": "5ef502503242814a", "scanner": "scanner-primary", "fingerprint": "8ed3e94fe8ff977a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b9f791fae5a4b7ec", "level": "note", "message": {"text": "Very large file: app/pedidos/services/lista_service.py (1281 lines)"}, "properties": {"repobilityId": "8b557e33feb55964", "scanner": "scanner-primary", "fingerprint": "b9f791fae5a4b7ec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1f5062e992bbab96", "level": "note", "message": {"text": "Very large file: app/rastreamento/routes.py (1633 lines)"}, "properties": {"repobilityId": "23079e99b6365d32", "scanner": "scanner-primary", "fingerprint": "1f5062e992bbab96", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9c29d6434b664e07", "level": "note", "message": {"text": "Very large file: app/cotacao/routes.py (4293 lines)"}, "properties": {"repobilityId": "a75dda2c1798e269", "scanner": "scanner-primary", "fingerprint": "9c29d6434b664e07", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3083850c199aed5f", "level": "note", "message": {"text": "Very large file: app/motos_assai/services/separacao_service.py (2228 lines)"}, "properties": {"repobilityId": "8a3507babb409267", "scanner": "scanner-primary", "fingerprint": "3083850c199aed5f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-98338b2b9be35b5e", "level": "note", "message": {"text": "Very large file: app/recebimento/models.py (1936 lines)"}, "properties": {"repobilityId": "4ab4c51b777f2610", "scanner": "scanner-primary", "fingerprint": "98338b2b9be35b5e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3309396f131645e6", "level": "note", "message": {"text": "Very large file: app/recebimento/routes/validacao_fiscal_routes.py (1341 lines)"}, "properties": {"repobilityId": "bc3fd3fe8af5b638", "scanner": "scanner-primary", "fingerprint": "3309396f131645e6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cbaac77eeb18482a", "level": "note", "message": {"text": "Very large file: app/recebimento/routes/validacao_nf_po_routes.py (1700 lines)"}, "properties": {"repobilityId": "af4ee129daf5c197", "scanner": "scanner-primary", "fingerprint": "cbaac77eeb18482a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8a62806663b02c8f", "level": "note", "message": {"text": "Very large file: app/recebimento/routes/views.py (2436 lines)"}, "properties": {"repobilityId": "247dda2cb4004a22", "scanner": "scanner-primary", "fingerprint": "8a62806663b02c8f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-34e660129e473046", "level": "note", "message": {"text": "Very large file: app/recebimento/services/validacao_nf_po_service.py (2670 lines)"}, "properties": {"repobilityId": "8127f31e40bdd7b0", "scanner": "scanner-primary", "fingerprint": "34e660129e473046", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-049a5d14d8172ed8", "level": "note", "message": {"text": "Very large file: app/recebimento/services/odoo_po_service.py (2461 lines)"}, "properties": {"repobilityId": "82f29c2c5fe36013", "scanner": "scanner-primary", "fingerprint": "049a5d14d8172ed8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bb01589ce373c1b7", "level": "note", "message": {"text": "Very large file: app/recebimento/services/validacao_fiscal_service.py (1885 lines)"}, "properties": {"repobilityId": "acd5319c13e5ce41", "scanner": "scanner-primary", "fingerprint": "bb01589ce373c1b7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-041fa2f461508fab", "level": "note", "message": {"text": "Very large file: app/recebimento/services/depara_service.py (1628 lines)"}, "properties": {"repobilityId": "0e32f47c914afbd4", "scanner": "scanner-primary", "fingerprint": "041fa2f461508fab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-616fa5a6058c081f", "level": "note", "message": {"text": "Very large file: app/recebimento/services/recebimento_lf_odoo_service.py (4470 lines)"}, "properties": {"repobilityId": "bc544960bb50bd33", "scanner": "scanner-primary", "fingerprint": "616fa5a6058c081f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7eb2a42a05e45f16", "level": "note", "message": {"text": "Very large file: app/manufatura/services/projecao_estoque_service.py (1762 lines)"}, "properties": {"repobilityId": "beebfb7dbda6515c", "scanner": "scanner-primary", "fingerprint": "7eb2a42a05e45f16", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6f94f6ba9c18e45e", "level": "note", "message": {"text": "Very large file: app/custeio/routes/custeio_routes.py (3666 lines)"}, "properties": {"repobilityId": "991c99a86eadfc31", "scanner": "scanner-primary", "fingerprint": "6f94f6ba9c18e45e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-75384393450a81a8", "level": "note", "message": {"text": "Very large file: app/custeio/services/custeio_service.py (1295 lines)"}, "properties": {"repobilityId": "20596e9b247737ef", "scanner": "scanner-primary", "fingerprint": "75384393450a81a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-87907d5b687a7e9e", "level": "note", "message": {"text": "Very large file: app/scheduler/sincronizacao_incremental_definitiva.py (2529 lines)"}, "properties": {"repobilityId": "8b3a87f849b34d84", "scanner": "scanner-primary", "fingerprint": "87907d5b687a7e9e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6a6789731aa81d32", "level": "note", "message": {"text": "Very large file: app/embarques/routes.py (3465 lines)"}, "properties": {"repobilityId": "e54083ff4ffd904b", "scanner": "scanner-primary", "fingerprint": "6a6789731aa81d32", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b6ed5b1c525af7af", "level": "note", "message": {"text": "Very large file: app/integracoes/tagplus/oauth_routes.py (1121 lines)"}, "properties": {"repobilityId": "b51345c65e0c3228", "scanner": "scanner-primary", "fingerprint": "b6ed5b1c525af7af", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-090c348c366f6b15", "level": "note", "message": {"text": "Very large file: app/monitoramento/routes.py (3095 lines)"}, "properties": {"repobilityId": "2f960e792b28c8d5", "scanner": "scanner-primary", "fingerprint": "090c348c366f6b15", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b2ece059e47e3cbe", "level": "note", "message": {"text": "Very large file: app/faturamento/routes.py (1494 lines)"}, "properties": {"repobilityId": "f58ff47a7e8d5804", "scanner": "scanner-primary", "fingerprint": "b2ece059e47e3cbe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c30cce9f04b074d5", "level": "note", "message": {"text": "Very large file: .claude/skills/operando-portal-atacadao/scripts/agendar_lote.py (1495 lines)"}, "properties": {"repobilityId": "9ac12b2fce8a19d7", "scanner": "scanner-primary", "fingerprint": "c30cce9f04b074d5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8dce97f28303f00f", "level": "note", "message": {"text": "Very large file: .claude/skills/operando-ssw/scripts/emitir_cte_004.py (1461 lines)"}, "properties": {"repobilityId": "6cf3b577d7649ea0", "scanner": "scanner-primary", "fingerprint": "8dce97f28303f00f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b78fa542dfcfb39d", "level": "note", "message": {"text": "Very large file: .claude/skills/rastreando-odoo/scripts/vincular_extrato_fatura_excel.py (1701 lines)"}, "properties": {"repobilityId": "7ce654eb14e84d2c", "scanner": "scanner-primary", "fingerprint": "b78fa542dfcfb39d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-92ba63c5e570a71c", "level": "note", "message": {"text": "Very large file: .claude/skills/gerindo-agente/scripts/diagnostico.py (1256 lines)"}, "properties": {"repobilityId": "49f7633c9b04193a", "scanner": "scanner-primary", "fingerprint": "92ba63c5e570a71c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b0a4f6f0b89c388a", "level": "note", "message": {"text": "Very large file: .claude/skills/gerindo-expedicao/scripts/consultando_situacao_pedidos.py (1626 lines)"}, "properties": {"repobilityId": "b39b079d8f95273c", "scanner": "scanner-primary", "fingerprint": "b0a4f6f0b89c388a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-576f403530968f01", "level": "note", "message": {"text": "Very large file: .claude/skills/gerindo-expedicao/scripts/analisando_carteira_completa.py (1322 lines)"}, "properties": {"repobilityId": "04d983bb4fdd8665", "scanner": "scanner-primary", "fingerprint": "576f403530968f01", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dd572a2905e31874", "level": "note", "message": {"text": "Very large file: .claude/skills/consultando-sql/scripts/text_to_sql.py (2641 lines)"}, "properties": {"repobilityId": "115f607883352c64", "scanner": "scanner-primary", "fingerprint": "dd572a2905e31874", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2e3d64cbca402d42", "level": "note", "message": {"text": "Very large file: .claude/skills/consultando-sql/scripts/generate_schemas.py (1329 lines)"}, "properties": {"repobilityId": "6384cf9f2d046cd1", "scanner": "scanner-primary", "fingerprint": "2e3d64cbca402d42", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b542cd3ba9330a9e", "level": "note", "message": {"text": "Very large file: azure-functions/frete-bot/bot.py (2106 lines)"}, "properties": {"repobilityId": "fff559855201bf53", "scanner": "scanner-primary", "fingerprint": "b542cd3ba9330a9e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-e674a5db2356bd4b", "level": "note", "message": {"text": "207 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "e674a5db2356bd4b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "9198c35c4808f67c", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "2635b0b0a513352a", "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": "595105ef7e0ea064", "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": "eda9fa3e5da9c50e", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "4cc0d3acb369d4e0", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "e044efdc429ee856", "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": "3023bced3c865323", "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": "1850334f9599ea72", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-2f1aca3b91c624b0", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: app/teams/CLAUDE.md"}, "properties": {"repobilityId": "ae1e05a7f172f34f", "scanner": "scanner-primary", "fingerprint": "2f1aca3b91c624b0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/teams/CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d48bc8f334badd2c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: app/agente/services/CLAUDE.md"}, "properties": {"repobilityId": "d9257617a10be183", "scanner": "scanner-primary", "fingerprint": "d48bc8f334badd2c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/agente/services/CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aff189cbd31e0a73", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: app/relatorios_fiscais/CLAUDE.md"}, "properties": {"repobilityId": "86e7cdca3e54f49c", "scanner": "scanner-primary", "fingerprint": "aff189cbd31e0a73", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/relatorios_fiscais/CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-49ef4bd0eb956409", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: app/financeiro/CLAUDE.md"}, "properties": {"repobilityId": "c32b26ac01f8cb37", "scanner": "scanner-primary", "fingerprint": "49ef4bd0eb956409", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/financeiro/CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6a1befc125caf61d", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: app/whatsapp/CLAUDE.md"}, "properties": {"repobilityId": "cdf00de569c47328", "scanner": "scanner-primary", "fingerprint": "6a1befc125caf61d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/whatsapp/CLAUDE.md"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-b56e6448466186a1", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: app/whatsapp/CLAUDE.md"}, "properties": {"repobilityId": "055bc9d1ca0bce8a", "scanner": "scanner-primary", "fingerprint": "b56e6448466186a1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/whatsapp/CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-51eb761b8030e2fa", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: app/motos_assai/CLAUDE.md"}, "properties": {"repobilityId": "93701a97cea49688", "scanner": "scanner-primary", "fingerprint": "51eb761b8030e2fa", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/motos_assai/CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2801ae7a834b2ff2", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/DOC-2.md"}, "properties": {"repobilityId": "d59cd72685f6f5f4", "scanner": "scanner-primary", "fingerprint": "2801ae7a834b2ff2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/DOC-2.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8769bcc771831214", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: .claude/settings.json"}, "properties": {"repobilityId": "f94968d1c8aa7dc6", "scanner": "scanner-primary", "fingerprint": "8769bcc771831214", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.json"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-0f40fde99153e78a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/DOC-1.md"}, "properties": {"repobilityId": "20e07cb5c3a162ea", "scanner": "scanner-primary", "fingerprint": "0f40fde99153e78a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/DOC-1.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2dcab9dc78bb3031", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-05-05.md"}, "properties": {"repobilityId": "bcc35025c9f367da", "scanner": "scanner-primary", "fingerprint": "2dcab9dc78bb3031", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/agent-reports/report-2026-05-05.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-01ea6323e46aafee", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-05-25.md"}, "properties": {"repobilityId": "fb5bd986aab5384c", "scanner": "scanner-primary", "fingerprint": "01ea6323e46aafee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/agent-reports/report-2026-05-25.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c3159423e3202481", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-06-01.md"}, "properties": {"repobilityId": "630deaac81d9a7d3", "scanner": "scanner-primary", "fingerprint": "c3159423e3202481", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/agent-reports/report-2026-06-01.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-606308090028a894", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-05-18.md"}, "properties": {"repobilityId": "eb44786cdeb9587d", "scanner": "scanner-primary", "fingerprint": "606308090028a894", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/agent-reports/report-2026-05-18.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-88818af2dbeb1baf", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-05-11.md"}, "properties": {"repobilityId": "bc2f59d948d241fc", "scanner": "scanner-primary", "fingerprint": "88818af2dbeb1baf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/agent-reports/report-2026-05-11.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7940d11a9dba42ed", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-06-08.md"}, "properties": {"repobilityId": "0ebc8d634f795846", "scanner": "scanner-primary", "fingerprint": "7940d11a9dba42ed", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/agent-reports/report-2026-06-08.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-98a78732ea0baf0f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-04-20.md"}, "properties": {"repobilityId": "be6c40436cd57146", "scanner": "scanner-primary", "fingerprint": "98a78732ea0baf0f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/agent-reports/report-2026-04-20.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b960ea897fd80f10", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-04-13.md"}, "properties": {"repobilityId": "14ef9842af027b53", "scanner": "scanner-primary", "fingerprint": "b960ea897fd80f10", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/agent-reports/report-2026-04-13.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c92c530d27e64f33", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-04-27.md"}, "properties": {"repobilityId": "ab3a74e9247c66c5", "scanner": "scanner-primary", "fingerprint": "c92c530d27e64f33", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/agent-reports/report-2026-04-27.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f06355d938b159d9", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-06-15.md"}, "properties": {"repobilityId": "75e41468dbb3ff2e", "scanner": "scanner-primary", "fingerprint": "f06355d938b159d9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/agent-reports/report-2026-06-15.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0a79b77f0bfb0ba0", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/agent-reports/report-2026-04-06.md"}, "properties": {"repobilityId": "4e59a60dbe81e57c", "scanner": "scanner-primary", "fingerprint": "0a79b77f0bfb0ba0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/agent-reports/report-2026-04-06.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7ea6f03229ca6532", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-05-11-1.md"}, "properties": {"repobilityId": "90b7969340adbeff", "scanner": "scanner-primary", "fingerprint": "7ea6f03229ca6532", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/sentry/atualizacao-2026-05-11-1.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b2e938ad201c7a4b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-04-27-1.md"}, "properties": {"repobilityId": "36d20636c22c0387", "scanner": "scanner-primary", "fingerprint": "b2e938ad201c7a4b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/sentry/atualizacao-2026-04-27-1.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eddf375d578216f6", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-06-15-1.md"}, "properties": {"repobilityId": "339aab325fed9bc6", "scanner": "scanner-primary", "fingerprint": "eddf375d578216f6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/sentry/atualizacao-2026-06-15-1.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6211d45c05381e85", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/historico.md"}, "properties": {"repobilityId": "3ccafaa600935027", "scanner": "scanner-primary", "fingerprint": "6211d45c05381e85", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/sentry/historico.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-092b433bc1365eb2", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-06-01-1.md"}, "properties": {"repobilityId": "7578da0a8cbe2f5e", "scanner": "scanner-primary", "fingerprint": "092b433bc1365eb2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/sentry/atualizacao-2026-06-01-1.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f1ab52b273ac03dc", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/sentry/atualizacao-2026-05-05-1.md"}, "properties": {"repobilityId": "ecf935924f4f3e51", "scanner": "scanner-primary", "fingerprint": "f1ab52b273ac03dc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/sentry/atualizacao-2026-05-05-1.md"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-7e60c4471737c236", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/sentry/atualizacao-2026-05-05-1.md"}, "properties": {"repobilityId": "be8d8521ff40a134", "scanner": "scanner-primary", "fingerprint": "7e60c4471737c236", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/sentry/atualizacao-2026-05-05-1.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-355adb90779e8d3c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/references/atualizacao-2026-04-27-1.md"}, "properties": {"repobilityId": "48118abdde70841d", "scanner": "scanner-primary", "fingerprint": "355adb90779e8d3c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/references/atualizacao-2026-04-27-1.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2e6dd1dd1c772c6c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/references/README.md"}, "properties": {"repobilityId": "86e31d8efbcf4ad5", "scanner": "scanner-primary", "fingerprint": "2e6dd1dd1c772c6c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/references/README.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-460f0e7ef0297477", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/dominios/dominio-8-improvement-dialogue.md"}, "properties": {"repobilityId": "54dcb0dbd8d4b767", "scanner": "scanner-primary", "fingerprint": "460f0e7ef0297477", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/dominios/dominio-8-improvement-dialogue.md"}, "region": {"startLine": 67}}}]}, {"ruleId": "scanner-d00d12728a0b1145", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-8-improvement-dialogue.md"}, "properties": {"repobilityId": "921e8451efb9c501", "scanner": "scanner-primary", "fingerprint": "d00d12728a0b1145", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/dominios/dominio-8-improvement-dialogue.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1ee036d6e778e8f5", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-1-claude-md.md"}, "properties": {"repobilityId": "9de8e117749df409", "scanner": "scanner-primary", "fingerprint": "1ee036d6e778e8f5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/dominios/dominio-1-claude-md.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-104337b4aedd4339", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-3-memorias.md"}, "properties": {"repobilityId": "b4d8c0c66942a34b", "scanner": "scanner-primary", "fingerprint": "104337b4aedd4339", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/dominios/dominio-3-memorias.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-709acd0c069a4719", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-7-agent-report.md"}, "properties": {"repobilityId": "4a99b46008bcb9dc", "scanner": "scanner-primary", "fingerprint": "709acd0c069a4719", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/dominios/dominio-7-agent-report.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e17e46845f24d8ad", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/dominios/dominio-2-references.md"}, "properties": {"repobilityId": "b23b0a82b5d840d5", "scanner": "scanner-primary", "fingerprint": "e17e46845f24d8ad", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/dominios/dominio-2-references.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f642dc038c0d8321", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-25.md"}, "properties": {"repobilityId": "9e8a89b538077db0", "scanner": "scanner-primary", "fingerprint": "f642dc038c0d8321", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-05-25.md"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-0979d905654ad59a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-21.md"}, "properties": {"repobilityId": "b45853bf8cfbc580", "scanner": "scanner-primary", "fingerprint": "0979d905654ad59a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-05-21.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-db8b16005af67723", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-19.md"}, "properties": {"repobilityId": "96a29b753dae40fe", "scanner": "scanner-primary", "fingerprint": "db8b16005af67723", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-05-19.md"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-1384a54b951d3cb9", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-06-14.md"}, "properties": {"repobilityId": "98a251b661549e99", "scanner": "scanner-primary", "fingerprint": "1384a54b951d3cb9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-06-14.md"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-32fac5b0ad429e83", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-06.md"}, "properties": {"repobilityId": "5cc06ad63ed3fbdc", "scanner": "scanner-primary", "fingerprint": "32fac5b0ad429e83", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-05-06.md"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-fbd247e61db88493", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-06-13.md"}, "properties": {"repobilityId": "cb20da441e9ab080", "scanner": "scanner-primary", "fingerprint": "fbd247e61db88493", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-06-13.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e934c5bdb85a42c7", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-17.md"}, "properties": {"repobilityId": "67aa4c9ec8742536", "scanner": "scanner-primary", "fingerprint": "e934c5bdb85a42c7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-05-17.md"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-53c2d62476fdceab", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-05.md"}, "properties": {"repobilityId": "6910602514d7b4f3", "scanner": "scanner-primary", "fingerprint": "53c2d62476fdceab", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-05-05.md"}, "region": {"startLine": 118}}}]}, {"ruleId": "scanner-2ea58746ecca2fb2", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-05.md"}, "properties": {"repobilityId": "27c91b23371a1286", "scanner": "scanner-primary", "fingerprint": "2ea58746ecca2fb2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-05-05.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-604abc63a19d6566", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-06-09.md"}, "properties": {"repobilityId": "1b6d7a5aee135d45", "scanner": "scanner-primary", "fingerprint": "604abc63a19d6566", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-06-09.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-215c2c46b8e5f28f", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-18.md"}, "properties": {"repobilityId": "b3597fcbd90784a5", "scanner": "scanner-primary", "fingerprint": "215c2c46b8e5f28f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-05-18.md"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-4337db61f5cb0704", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-08.md"}, "properties": {"repobilityId": "87c0fa81ca4d9b89", "scanner": "scanner-primary", "fingerprint": "4337db61f5cb0704", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-05-08.md"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-63569bad6e01e781", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-24.md"}, "properties": {"repobilityId": "89e302395393a587", "scanner": "scanner-primary", "fingerprint": "63569bad6e01e781", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-05-24.md"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-e603dcfd9c989106", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-26.md"}, "properties": {"repobilityId": "be10e1aa7e4bb741", "scanner": "scanner-primary", "fingerprint": "e603dcfd9c989106", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-05-26.md"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-e5a71c8e552c876c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-04-30.md"}, "properties": {"repobilityId": "6ee66c09ca753844", "scanner": "scanner-primary", "fingerprint": "e5a71c8e552c876c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-04-30.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e9df1ac7a319f5e4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-06-12.md"}, "properties": {"repobilityId": "6ef2681fd921e555", "scanner": "scanner-primary", "fingerprint": "e9df1ac7a319f5e4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-06-12.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-40c6da495b1c1720", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-11.md"}, "properties": {"repobilityId": "082cd4fec1e32247", "scanner": "scanner-primary", "fingerprint": "40c6da495b1c1720", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-05-11.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4531b56561f79eda", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-04-23.md"}, "properties": {"repobilityId": "10b091df8e27aecc", "scanner": "scanner-primary", "fingerprint": "4531b56561f79eda", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-04-23.md"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-e2d706606f2027e3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-13.md"}, "properties": {"repobilityId": "0e550b431162d023", "scanner": "scanner-primary", "fingerprint": "e2d706606f2027e3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-05-13.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8bddfa51a992af2f", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/atualizacoes/improvement-dialogue/dialogue-2026-05-28.md"}, "properties": {"repobilityId": "3ec398f13b929f82", "scanner": "scanner-primary", "fingerprint": "8bddfa51a992af2f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-05-28.md"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-b07f76948ef9dee4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/improvement-dialogue/dialogue-2026-04-27.md"}, "properties": {"repobilityId": "4d547313709fc970", "scanner": "scanner-primary", "fingerprint": "b07f76948ef9dee4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/improvement-dialogue/dialogue-2026-04-27.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-605b699994c5f63f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/README.md"}, "properties": {"repobilityId": "73ed62fa803f1588", "scanner": "scanner-primary", "fingerprint": "605b699994c5f63f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/claude_md/README.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-92cdb9f8a6cc618d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/atualizacao-2026-06-08-1.md"}, "properties": {"repobilityId": "32225b202e2d5be6", "scanner": "scanner-primary", "fingerprint": "92cdb9f8a6cc618d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/claude_md/atualizacao-2026-06-08-1.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0e0e7c3e51860313", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/atualizacao-2026-06-15-1.md"}, "properties": {"repobilityId": "9d7bde0c1a461bf2", "scanner": "scanner-primary", "fingerprint": "0e0e7c3e51860313", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/claude_md/atualizacao-2026-06-15-1.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ce3b4ac69554dee6", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/atualizacao-2026-05-18-1.md"}, "properties": {"repobilityId": "dc698eeb47db6d36", "scanner": "scanner-primary", "fingerprint": "ce3b4ac69554dee6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/claude_md/atualizacao-2026-05-18-1.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2ba339e45c510009", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/atualizacoes/claude_md/atualizacao-2026-06-01-1.md"}, "properties": {"repobilityId": "ec1afade0025db76", "scanner": "scanner-primary", "fingerprint": "2ba339e45c510009", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/atualizacoes/claude_md/atualizacao-2026-06-01-1.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0695bcfcbcf21866", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/analise-carteira.md"}, "properties": {"repobilityId": "3f1f3ea3245f86f5", "scanner": "scanner-primary", "fingerprint": "0695bcfcbcf21866", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/analise-carteira.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ba9e25759580e4d9", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fp-lojas-motochefe.md"}, "properties": {"repobilityId": "b80c4ce3f7a62ee0", "scanner": "scanner-primary", "fingerprint": "ba9e25759580e4d9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fp-lojas-motochefe.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2006c4d03cae721a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/verificar-disponibilidade.md"}, "properties": {"repobilityId": "9b635fa4ed5025e4", "scanner": "scanner-primary", "fingerprint": "2006c4d03cae721a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/verificar-disponibilidade.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1da7722195727410", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/consultar-estoque.md"}, "properties": {"repobilityId": "30ca2e29c868787a", "scanner": "scanner-primary", "fingerprint": "1da7722195727410", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/consultar-estoque.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-185c4be223aeaf1d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/criar-separacao.md"}, "properties": {"repobilityId": "e8c28e95e93987df", "scanner": "scanner-primary", "fingerprint": "185c4be223aeaf1d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/criar-separacao.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a016d4d8ab121eeb", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/AUDITORIA_SKILLS_ONDA_D_DRIFT_MAP.md"}, "properties": {"repobilityId": "a8b9443cbb4a9518", "scanner": "scanner-primary", "fingerprint": "a016d4d8ab121eeb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/_deprecated/AUDITORIA_SKILLS_ONDA_D_DRIFT_MAP.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-45055f679857fb75", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/tests/bateria_testes.md"}, "properties": {"repobilityId": "377eb5620c9fc494", "scanner": "scanner-primary", "fingerprint": "45055f679857fb75", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/_deprecated/tests/bateria_testes.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-11395d7f78950808", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/tests/resultados_depois.md"}, "properties": {"repobilityId": "4c2a031c65cf1c89", "scanner": "scanner-primary", "fingerprint": "11395d7f78950808", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/_deprecated/tests/resultados_depois.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3d36e4853e548aef", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/tests/resultados_antes.md"}, "properties": {"repobilityId": "fc5eda6bfde20e1a", "scanner": "scanner-primary", "fingerprint": "3d36e4853e548aef", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/_deprecated/tests/resultados_antes.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bcbfcbd57e42ebf1", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/ralph-loop/IMPLEMENTATION_PLAN.md"}, "properties": {"repobilityId": "d160aab6072522f3", "scanner": "scanner-primary", "fingerprint": "bcbfcbd57e42ebf1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/_deprecated/ralph-loop/IMPLEMENTATION_PLAN.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2dada3615632a317", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/ralph-loop/planos-implementados/plano-1-2025-01-25/prd-revisao-modulo-pallets-2.2-3.2.md"}, "properties": {"repobilityId": "cebffdae358522de", "scanner": "scanner-primary", "fingerprint": "2dada3615632a317", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/_deprecated/ralph-loop/planos-implementados/plano-1-2025-01-25/prd-revisao-modulo-pallets-2.2-3.2.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3e11058c4af8be91", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/ralph-loop/planos-implementados/plano-1-2025-01-25/2025-01-25_memoria-persistente-agent-sdk.md"}, "properties": {"repobilityId": "4d866e2b85d03560", "scanner": "scanner-primary", "fingerprint": "3e11058c4af8be91", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/_deprecated/ralph-loop/planos-implementados/plano-1-2025-01-25/2025-01-25_memoria-persistente-agent-sdk.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5325f023e3e42900", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/_deprecated/ralph-loop/specs/correcoes-recebimento-cnpj-empresa-produto.md"}, "properties": {"repobilityId": "27e1e48a5042ad87", "scanner": "scanner-primary", "fingerprint": "5325f023e3e42900", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/_deprecated/ralph-loop/specs/correcoes-recebimento-cnpj-empresa-produto.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7e94cb06e982ca59", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/references/ROADMAP_SDK_CLIENT.md"}, "properties": {"repobilityId": "ecd257e8efc57060", "scanner": "scanner-primary", "fingerprint": "7e94cb06e982ca59", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/ROADMAP_SDK_CLIENT.md"}, "region": {"startLine": 35}}}]}, {"ruleId": "scanner-52680cff84190073", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/references/SUBAGENT_RELIABILITY.md"}, "properties": {"repobilityId": "5f6920a8366e16d7", "scanner": "scanner-primary", "fingerprint": "52680cff84190073", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/SUBAGENT_RELIABILITY.md"}, "region": {"startLine": 255}}}]}, {"ruleId": "scanner-b0453149ae4aa646", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/references/SUBAGENT_RELIABILITY.md"}, "properties": {"repobilityId": "a8089df473f8d94a", "scanner": "scanner-primary", "fingerprint": "b0453149ae4aa646", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/SUBAGENT_RELIABILITY.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f3c4ca6ac2a99844", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/references/S3_STORAGE.md"}, "properties": {"repobilityId": "c43e2a68bee7467d", "scanner": "scanner-primary", "fingerprint": "f3c4ca6ac2a99844", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/S3_STORAGE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-11bffc1884503f2f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/references/odoo/GOTCHAS.md"}, "properties": {"repobilityId": "ae1cfe61b5d8660a", "scanner": "scanner-primary", "fingerprint": "11bffc1884503f2f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/odoo/GOTCHAS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b833001189ed640b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/references/odoo/AGENT_BOILERPLATE.md"}, "properties": {"repobilityId": "86511d65c0e3bb80", "scanner": "scanner-primary", "fingerprint": "b833001189ed640b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/odoo/AGENT_BOILERPLATE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ca60806626cb660b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/references/odoo/ROUTING_ODOO.md"}, "properties": {"repobilityId": "9705f7897ea7f7d5", "scanner": "scanner-primary", "fingerprint": "ca60806626cb660b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/odoo/ROUTING_ODOO.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ddb340b8ba715d8a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/INDEX.md"}, "properties": {"repobilityId": "8a4278f2621f4e25", "scanner": "scanner-primary", "fingerprint": "ddb340b8ba715d8a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/ssw/INDEX.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9fbf61dc141db756", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/fiscal/551-emissao-nfe.md"}, "properties": {"repobilityId": "6f06e00942cba1bc", "scanner": "scanner-primary", "fingerprint": "9fbf61dc141db756", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/ssw/fiscal/551-emissao-nfe.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-04f2d76e435c96fe", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/pops/POP-A10-implantar-nova-rota.md"}, "properties": {"repobilityId": "848cde261073cc51", "scanner": "scanner-primary", "fingerprint": "04f2d76e435c96fe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/ssw/pops/POP-A10-implantar-nova-rota.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2e67bacbe9029bd8", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/pops/POP-B01-cotar-frete.md"}, "properties": {"repobilityId": "dbbc3c325172cee7", "scanner": "scanner-primary", "fingerprint": "2e67bacbe9029bd8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/ssw/pops/POP-B01-cotar-frete.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6077719eef2c360e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/pops/POP-G03-custos-frota.md"}, "properties": {"repobilityId": "62f9cfe2c6daa805", "scanner": "scanner-primary", "fingerprint": "6077719eef2c360e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/ssw/pops/POP-G03-custos-frota.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ac30afc62fada6b2", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/pops/POP-C03-emitir-cte-complementar.md"}, "properties": {"repobilityId": "ef93d0edc1c49d2a", "scanner": "scanner-primary", "fingerprint": "ac30afc62fada6b2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/ssw/pops/POP-C03-emitir-cte-complementar.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4a1b14e5db16ff71", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/logistica/741-cadastro-mercadorias.md"}, "properties": {"repobilityId": "0be56d212515e19b", "scanner": "scanner-primary", "fingerprint": "4a1b14e5db16ff71", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/ssw/logistica/741-cadastro-mercadorias.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-371d7c45d9828a29", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/references/ssw/logistica/702-saida-estoque-nft.md"}, "properties": {"repobilityId": "a110e53b748ac91c", "scanner": "scanner-primary", "fingerprint": "371d7c45d9828a29", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/ssw/logistica/702-saida-estoque-nft.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4015e2c10f3b000d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/references/linx/INTEGRACOES.md"}, "properties": {"repobilityId": "6fe6472d9c6496b2", "scanner": "scanner-primary", "fingerprint": "4015e2c10f3b000d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/references/linx/INTEGRACOES.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d1bb64339478ba5c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/gestor-devolucoes.md"}, "properties": {"repobilityId": "0378adab984e9a5a", "scanner": "scanner-primary", "fingerprint": "d1bb64339478ba5c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/gestor-devolucoes.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8f30b0abdcf06d29", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/analista-performance-logistica.md"}, "properties": {"repobilityId": "2dbdee80b0568642", "scanner": "scanner-primary", "fingerprint": "8f30b0abdcf06d29", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/analista-performance-logistica.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a3384d8a24fed565", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/auditor-sped-ecd.md"}, "properties": {"repobilityId": "58ba951e8781572b", "scanner": "scanner-primary", "fingerprint": "a3384d8a24fed565", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/auditor-sped-ecd.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0aac062b9d582287", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/orientador-loja.md"}, "properties": {"repobilityId": "bcdbfbcfaff8b729", "scanner": "scanner-primary", "fingerprint": "0aac062b9d582287", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/orientador-loja.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-16dc9ce4b74073a0", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/gestor-estoque-producao.md"}, "properties": {"repobilityId": "d98ceee00fe061e6", "scanner": "scanner-primary", "fingerprint": "16dc9ce4b74073a0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/gestor-estoque-producao.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-66a20ed93a929174", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/gestor-estoque-odoo.md"}, "properties": {"repobilityId": "b0ca5ee7aea3d6cf", "scanner": "scanner-primary", "fingerprint": "66a20ed93a929174", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/gestor-estoque-odoo.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-acabc8bdbab4b3f4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/controlador-custo-frete.md"}, "properties": {"repobilityId": "5a4863b9c05d2ce4", "scanner": "scanner-primary", "fingerprint": "acabc8bdbab4b3f4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/controlador-custo-frete.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1d8a5f4e8caedc40", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/raio-x-pedido.md"}, "properties": {"repobilityId": "87daba5080b82693", "scanner": "scanner-primary", "fingerprint": "1d8a5f4e8caedc40", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/raio-x-pedido.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ad75259e3768623", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/gestor-motos-assai.md"}, "properties": {"repobilityId": "04cd15a0d99caac7", "scanner": "scanner-primary", "fingerprint": "3ad75259e3768623", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/gestor-motos-assai.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ced9b43b60e31c45", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/especialista-odoo.md"}, "properties": {"repobilityId": "7db5d5d4659817b8", "scanner": "scanner-primary", "fingerprint": "ced9b43b60e31c45", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/especialista-odoo.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fb2437c18e2a528a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/desenvolvedor-integracao-odoo.md"}, "properties": {"repobilityId": "b3c410bd585b4499", "scanner": "scanner-primary", "fingerprint": "fb2437c18e2a528a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/desenvolvedor-integracao-odoo.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7a43343aab4b7354", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/gestor-carvia.md"}, "properties": {"repobilityId": "d2750afeca9d781d", "scanner": "scanner-primary", "fingerprint": "7a43343aab4b7354", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/gestor-carvia.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-61aa1c4dde6b1c7a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/gestor-recebimento.md"}, "properties": {"repobilityId": "3ec9d4c04133b282", "scanner": "scanner-primary", "fingerprint": "61aa1c4dde6b1c7a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/gestor-recebimento.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7a9733d6314ea6e8", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/gestor-ssw.md"}, "properties": {"repobilityId": "5caab2eef27b0474", "scanner": "scanner-primary", "fingerprint": "7a9733d6314ea6e8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/gestor-ssw.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-596f80f30ef2c17c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agents/analista-carteira.md"}, "properties": {"repobilityId": "8b12d47d9aac1ae4", "scanner": "scanner-primary", "fingerprint": "596f80f30ef2c17c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agents/analista-carteira.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ef9c10634ff3b088", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/evals/subagents/run_eval.md"}, "properties": {"repobilityId": "8d986c835b59b34f", "scanner": "scanner-primary", "fingerprint": "ef9c10634ff3b088", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/evals/subagents/run_eval.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3a1d85a219de622b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/evals/subagents/gestor-motos-assai/dataset.yaml"}, "properties": {"repobilityId": "f5aefaa1d73504d6", "scanner": "scanner-primary", "fingerprint": "3a1d85a219de622b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/evals/subagents/gestor-motos-assai/dataset.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-539f42a4d7eb07d9", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-portal-atacadao/SKILL.md"}, "properties": {"repobilityId": "d9fac1e1cf14795d", "scanner": "scanner-primary", "fingerprint": "539f42a4d7eb07d9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/operando-portal-atacadao/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-947869cdb4f76d55", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-portal-atacadao/references/SCRIPTS.md"}, "properties": {"repobilityId": "4d6c85e7ea599650", "scanner": "scanner-primary", "fingerprint": "947869cdb4f76d55", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/operando-portal-atacadao/references/SCRIPTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dcba32d3d7538b36", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-portal-atacadao/evals/trigger_eval_set.json"}, "properties": {"repobilityId": "7ac022aad497da65", "scanner": "scanner-primary", "fingerprint": "dcba32d3d7538b36", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/operando-portal-atacadao/evals/trigger_eval_set.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e1576988860f58b8", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-estoque-assai/SKILL.md"}, "properties": {"repobilityId": "bb603cb049ca7791", "scanner": "scanner-primary", "fingerprint": "e1576988860f58b8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/consultando-estoque-assai/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3a33ba69002909e0", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/conferindo-recebimento/SKILL.md"}, "properties": {"repobilityId": "023798a815ef9e2a", "scanner": "scanner-primary", "fingerprint": "3a33ba69002909e0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/conferindo-recebimento/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7e415a094fd640d3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/auditando-cadastro-fiscal-odoo/SKILL.md"}, "properties": {"repobilityId": "d182b8dcd1acb9ff", "scanner": "scanner-primary", "fingerprint": "7e415a094fd640d3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/auditando-cadastro-fiscal-odoo/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ec109b3d55bf9b01", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-sentry/SKILL.md"}, "properties": {"repobilityId": "841068781b152aaa", "scanner": "scanner-primary", "fingerprint": "ec109b3d55bf9b01", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/consultando-sentry/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e9491e0d4cc91093", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/descobrindo-odoo-estrutura/SKILL.md"}, "properties": {"repobilityId": "961658bca66ac39f", "scanner": "scanner-primary", "fingerprint": "e9491e0d4cc91093", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/descobrindo-odoo-estrutura/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3e24011fd2c4d267", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/SKILL.md"}, "properties": {"repobilityId": "ec7bc45400a7eacf", "scanner": "scanner-primary", "fingerprint": "3e24011fd2c4d267", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/operando-ssw/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6511ef3aeed0a94c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/SCRIPTS.md"}, "properties": {"repobilityId": "61c70da49d948ba0", "scanner": "scanner-primary", "fingerprint": "6511ef3aeed0a94c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/operando-ssw/SCRIPTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9c455692c6cfc7ef", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/references/COMISSOES.md"}, "properties": {"repobilityId": "f3f1e2eee97e9e53", "scanner": "scanner-primary", "fingerprint": "9c455692c6cfc7ef", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/operando-ssw/references/COMISSOES.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-024c13a8d354649e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/references/CADASTROS.md"}, "properties": {"repobilityId": "3357331685eabef6", "scanner": "scanner-primary", "fingerprint": "024c13a8d354649e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/operando-ssw/references/CADASTROS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f317f419e4f9ef08", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/references/CTE.md"}, "properties": {"repobilityId": "8b55fa42f2335d1c", "scanner": "scanner-primary", "fingerprint": "f317f419e4f9ef08", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/operando-ssw/references/CTE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8bc037b02dafaf48", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/references/COTACAO.md"}, "properties": {"repobilityId": "86b125b88bd5dbac", "scanner": "scanner-primary", "fingerprint": "8bc037b02dafaf48", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/operando-ssw/references/COTACAO.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7c3edffede9b07d8", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-ssw/evals/evals.json"}, "properties": {"repobilityId": "6b331ba1a051d37b", "scanner": "scanner-primary", "fingerprint": "7c3edffede9b07d8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/operando-ssw/evals/evals.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7b3b77be2509d86b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/operando-reservas-odoo/SKILL.md"}, "properties": {"repobilityId": "4416d7c61b8db0eb", "scanner": "scanner-primary", "fingerprint": "7b3b77be2509d86b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/operando-reservas-odoo/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8e7d1f28c68e18b7", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/ajustando-quant-odoo/SKILL.md"}, "properties": {"repobilityId": "99463bf23bd4f603", "scanner": "scanner-primary", "fingerprint": "8e7d1f28c68e18b7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/ajustando-quant-odoo/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-02442e460cdcf429", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/conciliando-transferencias-internas/SKILL.md"}, "properties": {"repobilityId": "64f57801a4ec9457", "scanner": "scanner-primary", "fingerprint": "02442e460cdcf429", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/conciliando-transferencias-internas/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c9b4d1445d3b470c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/exportando-arquivos/SKILL.md"}, "properties": {"repobilityId": "09a124ccb2184621", "scanner": "scanner-primary", "fingerprint": "c9b4d1445d3b470c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/exportando-arquivos/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dad93b2ae3306047", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/exportando-arquivos/SCRIPTS.md"}, "properties": {"repobilityId": "6c5e13cf226558d2", "scanner": "scanner-primary", "fingerprint": "dad93b2ae3306047", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/exportando-arquivos/SCRIPTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-183e81082879539b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/rastreando-odoo/SKILL.md"}, "properties": {"repobilityId": "ad23b90acbcdd0f0", "scanner": "scanner-primary", "fingerprint": "183e81082879539b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/rastreando-odoo/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1855d558ad5504d3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/rastreando-odoo/SCRIPTS.md"}, "properties": {"repobilityId": "54cd47e8bf9f8b48", "scanner": "scanner-primary", "fingerprint": "1855d558ad5504d3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/rastreando-odoo/SCRIPTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4e00afacf92e07de", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/gerindo-carvia/SKILL.md"}, "properties": {"repobilityId": "c9d18d08df8a8886", "scanner": "scanner-primary", "fingerprint": "4e00afacf92e07de", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/gerindo-carvia/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2f66ea845eb6831c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/SKILL.md"}, "properties": {"repobilityId": "2d14b30b87aeb7ca", "scanner": "scanner-primary", "fingerprint": "2f66ea845eb6831c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/conciliando-odoo-po/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6fd7c4939f308546", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/references/criacao-po.md"}, "properties": {"repobilityId": "c60c7baca97c8339", "scanner": "scanner-primary", "fingerprint": "6fd7c4939f308546", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/conciliando-odoo-po/references/criacao-po.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d24604ae3699b74c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/references/erros-comuns.md"}, "properties": {"repobilityId": "3d190aba4a471a3b", "scanner": "scanner-primary", "fingerprint": "d24604ae3699b74c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/conciliando-odoo-po/references/erros-comuns.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c218c3b8095c17df", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/evals/evals.json"}, "properties": {"repobilityId": "32dc36d38ece5c47", "scanner": "scanner-primary", "fingerprint": "c218c3b8095c17df", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/conciliando-odoo-po/evals/evals.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7f59a4b46ccc5c41", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/conciliando-odoo-po/evals/trigger_eval_set.json"}, "properties": {"repobilityId": "60b68b6e9cb2def3", "scanner": "scanner-primary", "fingerprint": "7f59a4b46ccc5c41", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/conciliando-odoo-po/evals/trigger_eval_set.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de2c71503078ed2e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-quant-odoo/SKILL.md"}, "properties": {"repobilityId": "21543358a3d78a06", "scanner": "scanner-primary", "fingerprint": "de2c71503078ed2e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/consultando-quant-odoo/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1f6c5ee962ee0b8c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/lendo-arquivos/SKILL.md"}, "properties": {"repobilityId": "f4c88b455fdcb138", "scanner": "scanner-primary", "fingerprint": "1f6c5ee962ee0b8c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/lendo-arquivos/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-268601e0b68583b2", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/lendo-arquivos/SCRIPTS.md"}, "properties": {"repobilityId": "f03c6bbc7b54bbbf", "scanner": "scanner-primary", "fingerprint": "268601e0b68583b2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/lendo-arquivos/SCRIPTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d6c67b8c192b3b5c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/validacao-nf-po/SKILL.md"}, "properties": {"repobilityId": "62dbf92415a64908", "scanner": "scanner-primary", "fingerprint": "d6c67b8c192b3b5c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/validacao-nf-po/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2f44bb57373348a4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/padronizando-docs/SKILL.md"}, "properties": {"repobilityId": "14ae7a6f9332e2c9", "scanner": "scanner-primary", "fingerprint": "2f44bb57373348a4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/padronizando-docs/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-afb4a58900720547", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/diagnosticando-banco/SKILL.md"}, "properties": {"repobilityId": "d119e173773c6838", "scanner": "scanner-primary", "fingerprint": "afb4a58900720547", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/diagnosticando-banco/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-45d0d29abb0797c1", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/diagnosticando-banco/SCRIPTS.md"}, "properties": {"repobilityId": "6a7705a2cf53292a", "scanner": "scanner-primary", "fingerprint": "45d0d29abb0797c1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/diagnosticando-banco/SCRIPTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e7e090395ce67a2c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/gerando-baseline-conciliacao/references/SQL_ODOO.md"}, "properties": {"repobilityId": "e890c45b34b860f5", "scanner": "scanner-primary", "fingerprint": "e7e090395ce67a2c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/gerando-baseline-conciliacao/references/SQL_ODOO.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-120971c988806370", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/acessando-ssw/SKILL.md"}, "properties": {"repobilityId": "40fa46a4c8296c3d", "scanner": "scanner-primary", "fingerprint": "120971c988806370", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/acessando-ssw/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7cc8303a74e5f8bf", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/acessando-ssw/SCRIPTS.md"}, "properties": {"repobilityId": "2a3a7c2528558ccb", "scanner": "scanner-primary", "fingerprint": "7cc8303a74e5f8bf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/acessando-ssw/SCRIPTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f3cd201859a892a3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/parseando-sped-ecd/SKILL.md"}, "properties": {"repobilityId": "06f531219d3d0541", "scanner": "scanner-primary", "fingerprint": "f3cd201859a892a3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/parseando-sped-ecd/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a7db2f3ef51315f7", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/auditando-sped-contabil/SKILL.md"}, "properties": {"repobilityId": "34869831dde9197a", "scanner": "scanner-primary", "fingerprint": "a7db2f3ef51315f7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/auditando-sped-contabil/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-535a618297660505", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/resolvendo-entidades/SKILL.md"}, "properties": {"repobilityId": "d369d7ffa78bf86d", "scanner": "scanner-primary", "fingerprint": "535a618297660505", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/resolvendo-entidades/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5349770374d13816", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/monitorando-entregas/SKILL.md"}, "properties": {"repobilityId": "379c1b923ed3e434", "scanner": "scanner-primary", "fingerprint": "5349770374d13816", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/monitorando-entregas/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9b01d45e024e8588", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/monitorando-entregas/SCRIPTS.md"}, "properties": {"repobilityId": "e0828bedc1c45d05", "scanner": "scanner-primary", "fingerprint": "9b01d45e024e8588", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/monitorando-entregas/SCRIPTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-317147575e269f49", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/gerindo-expedicao/SKILL.md"}, "properties": {"repobilityId": "2e0ff684e9379e9c", "scanner": "scanner-primary", "fingerprint": "317147575e269f49", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/gerindo-expedicao/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-37897c598bdafa59", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/gerindo-expedicao/SCRIPTS.md"}, "properties": {"repobilityId": "3e8af07e464238e4", "scanner": "scanner-primary", "fingerprint": "37897c598bdafa59", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/gerindo-expedicao/SCRIPTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9b2b068fdbbf95c6", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/gerindo-expedicao/references/examples.md"}, "properties": {"repobilityId": "cead94f84b6aed9e", "scanner": "scanner-primary", "fingerprint": "9b2b068fdbbf95c6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/gerindo-expedicao/references/examples.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-51f3036f9c54cca7", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/rastreando-chassi/SKILL.md"}, "properties": {"repobilityId": "418720007a245047", "scanner": "scanner-primary", "fingerprint": "51f3036f9c54cca7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/rastreando-chassi/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-abcca85ddc2fdec6", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-estoque-loja/SKILL.md"}, "properties": {"repobilityId": "106bfd819a9eb99b", "scanner": "scanner-primary", "fingerprint": "abcca85ddc2fdec6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/consultando-estoque-loja/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1a39519995af8c62", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/registrando-evento-moto-assai/SKILL.md"}, "properties": {"repobilityId": "650bed84b903ad11", "scanner": "scanner-primary", "fingerprint": "1a39519995af8c62", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/registrando-evento-moto-assai/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-575159eef157cc15", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/razao-geral-odoo/SKILL.md"}, "properties": {"repobilityId": "3873da6008fe2e66", "scanner": "scanner-primary", "fingerprint": "575159eef157cc15", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/razao-geral-odoo/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bf8fef1a0372d13f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/acompanhando-pedido-compra-assai/SKILL.md"}, "properties": {"repobilityId": "b4be60e07ae53835", "scanner": "scanner-primary", "fingerprint": "bf8fef1a0372d13f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/acompanhando-pedido-compra-assai/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-297a655374be85da", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-sql/schemas/catalog.json"}, "properties": {"repobilityId": "2eeded0c7f15ce3d", "scanner": "scanner-primary", "fingerprint": "297a655374be85da", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/consultando-sql/schemas/catalog.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-59be27255580baa6", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-sql/schemas/tables/agent_sessions.json"}, "properties": {"repobilityId": "4cd0904b131d1adf", "scanner": "scanner-primary", "fingerprint": "59be27255580baa6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/consultando-sql/schemas/tables/agent_sessions.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-04cdb12dadd00531", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-sql/schemas/tables/agent_adhoc_script.json"}, "properties": {"repobilityId": "b08216c08dcc4db3", "scanner": "scanner-primary", "fingerprint": "04cdb12dadd00531", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/consultando-sql/schemas/tables/agent_adhoc_script.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ed47cb4ec6062dec", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-sql/schemas/tables/claude_session_store.json"}, "properties": {"repobilityId": "55779b8cc536993a", "scanner": "scanner-primary", "fingerprint": "ed47cb4ec6062dec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/consultando-sql/schemas/tables/claude_session_store.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c50b208b617a9651", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/visao-produto/SKILL.md"}, "properties": {"repobilityId": "3ec8263a2f73249b", "scanner": "scanner-primary", "fingerprint": "c50b208b617a9651", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/visao-produto/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-09a846816fee2e44", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/visao-produto/SCRIPTS.md"}, "properties": {"repobilityId": "5bc8d25c3882870b", "scanner": "scanner-primary", "fingerprint": "09a846816fee2e44", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/visao-produto/SCRIPTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0fd916c217fac293", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/conferindo-recibo-assai/SKILL.md"}, "properties": {"repobilityId": "080cdc29ec5ee2a8", "scanner": "scanner-primary", "fingerprint": "0fd916c217fac293", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/conferindo-recibo-assai/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-27ad65e279d08b79", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/acompanhando-saida-assai/SKILL.md"}, "properties": {"repobilityId": "40bec1c5d306faae", "scanner": "scanner-primary", "fingerprint": "27ad65e279d08b79", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/acompanhando-saida-assai/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a4dbef0323424079", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/carregando-motos-assai/SKILL.md"}, "properties": {"repobilityId": "809717db22b7d04c", "scanner": "scanner-primary", "fingerprint": "a4dbef0323424079", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/carregando-motos-assai/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bd76808a3d6da878", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/transferindo-interno-odoo/SKILL.md"}, "properties": {"repobilityId": "896dcaf59b13798d", "scanner": "scanner-primary", "fingerprint": "bd76808a3d6da878", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/transferindo-interno-odoo/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-728b85abd868a6fc", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/recebimento-fisico-odoo/SKILL.md"}, "properties": {"repobilityId": "96a064bd75f26fab", "scanner": "scanner-primary", "fingerprint": "728b85abd868a6fc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/recebimento-fisico-odoo/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-db94d82804b106a4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/recebimento-fisico-odoo/references/erros-comuns.md"}, "properties": {"repobilityId": "16bbca50e7a33d43", "scanner": "scanner-primary", "fingerprint": "db94d82804b106a4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/recebimento-fisico-odoo/references/erros-comuns.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-820e82a68cf83fe1", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/recebimento-fisico-odoo/evals/evals.json"}, "properties": {"repobilityId": "49e7f73899100e48", "scanner": "scanner-primary", "fingerprint": "820e82a68cf83fe1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/recebimento-fisico-odoo/evals/evals.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c148153d89ae94dd", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/cotando-frete/SKILL.md"}, "properties": {"repobilityId": "f91c353bdbb8ba19", "scanner": "scanner-primary", "fingerprint": "c148153d89ae94dd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/cotando-frete/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fe8de1609475fe57", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/cotando-frete/SCRIPTS.md"}, "properties": {"repobilityId": "e939b316cf54a2b8", "scanner": "scanner-primary", "fingerprint": "fe8de1609475fe57", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/cotando-frete/SCRIPTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-af57c89b10ba519f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/rastreando-chassi-assai/SKILL.md"}, "properties": {"repobilityId": "889210cddbd94862", "scanner": "scanner-primary", "fingerprint": "af57c89b10ba519f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/rastreando-chassi-assai/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-06386ff9ee5f2e3e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/comparando-sped-ground-truth/SKILL.md"}, "properties": {"repobilityId": "53ece431d74aa29d", "scanner": "scanner-primary", "fingerprint": "06386ff9ee5f2e3e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/comparando-sped-ground-truth/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a820b5cc68e0894e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-venda-loja/SKILL.md"}, "properties": {"repobilityId": "2b03233fbaf9f628", "scanner": "scanner-primary", "fingerprint": "a820b5cc68e0894e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/consultando-venda-loja/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-85666b6ec938aa56", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/acompanhando-pedido/SKILL.md"}, "properties": {"repobilityId": "70b2ec57e083bd37", "scanner": "scanner-primary", "fingerprint": "85666b6ec938aa56", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/acompanhando-pedido/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3da7774a87b9705a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/consultando-pecas-faltando/SKILL.md"}, "properties": {"repobilityId": "aedf1c1d6a9a99cf", "scanner": "scanner-primary", "fingerprint": "3da7774a87b9705a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/consultando-pecas-faltando/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8f6c0020bcd7286f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/auditando-reclassificacao-odoo/SKILL.md"}, "properties": {"repobilityId": "4aea11da24fd9942", "scanner": "scanner-primary", "fingerprint": "8f6c0020bcd7286f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/auditando-reclassificacao-odoo/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a01a7600a0acbbdd", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/auditando-reclassificacao-odoo/SCRIPTS.md"}, "properties": {"repobilityId": "6fec481eae12c610", "scanner": "scanner-primary", "fingerprint": "a01a7600a0acbbdd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/auditando-reclassificacao-odoo/SCRIPTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-df7398afd73acad0", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/executando-odoo-financeiro/SKILL.md"}, "properties": {"repobilityId": "dfd61362efa4f13f", "scanner": "scanner-primary", "fingerprint": "df7398afd73acad0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/executando-odoo-financeiro/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f9f6dd0704d5ef55", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/executando-odoo-financeiro/references/contas-por-empresa.md"}, "properties": {"repobilityId": "160534bce6c83c05", "scanner": "scanner-primary", "fingerprint": "f9f6dd0704d5ef55", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/executando-odoo-financeiro/references/contas-por-empresa.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-991cdda48347978a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/plans/PROMPT_CTE_COMPLEMENTAR_WIRING.md"}, "properties": {"repobilityId": "039e4ba38ebd5667", "scanner": "scanner-primary", "fingerprint": "991cdda48347978a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/plans/PROMPT_CTE_COMPLEMENTAR_WIRING.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2287c890a90f4d3b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/plans/roadmap-intelligence-improvements.md"}, "properties": {"repobilityId": "de5914a667e962a0", "scanner": "scanner-primary", "fingerprint": "2287c890a90f4d3b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/plans/roadmap-intelligence-improvements.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-07bced86f26ed079", "level": "none", "message": {"text": "Commented-code block (5 lines) in worker_render.py:197"}, "properties": {"repobilityId": "42a58fec6c7b8234", "scanner": "scanner-primary", "fingerprint": "07bced86f26ed079", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f9a56cedf7154e11", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/conftest.py:20"}, "properties": {"repobilityId": "bc24f735ad0ef623", "scanner": "scanner-primary", "fingerprint": "f9a56cedf7154e11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2065c4725359c68", "level": "note", "message": {"text": "Legacy-named symbol `medir_consumo_mo_legacy` in tests/odoo/services/test_stock_mo_service.py:81"}, "properties": {"repobilityId": "7f1ebada28f0969a", "scanner": "scanner-primary", "fingerprint": "b2065c4725359c68", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-de424ea99b7785ca", "level": "note", "message": {"text": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in tests/odoo/services/test_faturamento_pipeline_orchestrator.py:951"}, "properties": {"repobilityId": "69793356c80d0665", "scanner": "scanner-primary", "fingerprint": "de424ea99b7785ca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e714b1c411e134ea", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/odoo/services/test_faturamento_pipeline_orchestrator.py:1208"}, "properties": {"repobilityId": "b9ccecd9f4d1f78c", "scanner": "scanner-primary", "fingerprint": "e714b1c411e134ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7968a8fa087dc640", "level": "note", "message": {"text": "Legacy-named symbol `soma_old` in tests/odoo/services/test_stock_picking_service.py:360"}, "properties": {"repobilityId": "0d07dfcc359ce1ce", "scanner": "scanner-primary", "fingerprint": "7968a8fa087dc640", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6c58b9f6084e5008", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/odoo/services/test_stock_picking_service.py:985"}, "properties": {"repobilityId": "0d1d6a33df039b06", "scanner": "scanner-primary", "fingerprint": "6c58b9f6084e5008", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1f440567d0976b2", "level": "note", "message": {"text": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in tests/odoo/services/test_pre_etapa_executor_orchestrator.py:4"}, "properties": {"repobilityId": "a9a8f512004eedd9", "scanner": "scanner-primary", "fingerprint": "d1f440567d0976b2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dac5a1dc93e495d0", "level": "note", "message": {"text": "Legacy-named symbol `transferir_entre_lotes_v2` in tests/odoo/services/test_stock_internal_transfer_service.py:532"}, "properties": {"repobilityId": "84755710688d9250", "scanner": "scanner-primary", "fingerprint": "dac5a1dc93e495d0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6ba194a9605f8903", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/odoo/services/test_stock_internal_transfer_service.py:516"}, "properties": {"repobilityId": "79207d02c4ad5947", "scanner": "scanner-primary", "fingerprint": "6ba194a9605f8903", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c67bfa435543773", "level": "note", "message": {"text": "Legacy-named symbol `transferir_v2` in tests/odoo/services/test_transferencia_saldo_codigo_service.py:203"}, "properties": {"repobilityId": "97ccaade9f59e376", "scanner": "scanner-primary", "fingerprint": "4c67bfa435543773", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a0b31b8e860c5b32", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/carvia/test_a1_a2_linking.py:314"}, "properties": {"repobilityId": "8946ad087a8dd001", "scanner": "scanner-primary", "fingerprint": "a0b31b8e860c5b32", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85aa13c3312f84ba", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/carvia/test_peso_frete_carvia.py:124"}, "properties": {"repobilityId": "6b7aae5067abdb10", "scanner": "scanner-primary", "fingerprint": "85aa13c3312f84ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f97b64632e3c289", "level": "note", "message": {"text": "Legacy-named symbol `audit_subcontrato_id_deprecated` in tests/carvia/test_f1_f5_r24.py:97"}, "properties": {"repobilityId": "cd63a6e800ccb975", "scanner": "scanner-primary", "fingerprint": "4f97b64632e3c289", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-524dbf92a2ca0a7d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/inventario/test_movimentacoes_drill_down.py:12"}, "properties": {"repobilityId": "65b72fe8a3441c4a", "scanner": "scanner-primary", "fingerprint": "524dbf92a2ca0a7d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-043e0854520414a4", "level": "note", "message": {"text": "Legacy-named symbol `content_v1` in tests/agente/test_memory_provenance.py:161"}, "properties": {"repobilityId": "297ef6a9bdc42a49", "scanner": "scanner-primary", "fingerprint": "043e0854520414a4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6a33809a45ffaae6", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/agente/workers/test_plan_verifier.py:378"}, "properties": {"repobilityId": "f5d0a22503dac409", "scanner": "scanner-primary", "fingerprint": "6a33809a45ffaae6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9910c55771185ff5", "level": "note", "message": {"text": "Legacy-named symbol `merged_v1` in tests/agente/services/test_enrich_merge_versioning.py:163"}, "properties": {"repobilityId": "05d9fef0fc8623f7", "scanner": "scanner-primary", "fingerprint": "9910c55771185ff5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c72814ba2c653530", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/agente/services/test_enrich_merge_versioning.py:162"}, "properties": {"repobilityId": "cc1670734f5798ec", "scanner": "scanner-primary", "fingerprint": "c72814ba2c653530", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-631dc8bc53cec0de", "level": "note", "message": {"text": "Legacy-named symbol `env_backup` in tests/agente/sdk/test_context_enrichment.py:340"}, "properties": {"repobilityId": "91bfe92f16ff03f6", "scanner": "scanner-primary", "fingerprint": "631dc8bc53cec0de", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c38a6537caf4eac6", "level": "note", "message": {"text": "Legacy-named symbol `tabelas_v2` in tests/pallet/test_migracao.py:39"}, "properties": {"repobilityId": "1ffedb5a60158582", "scanner": "scanner-primary", "fingerprint": "c38a6537caf4eac6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-10632f1d7dba6e75", "level": "note", "message": {"text": "Legacy-named symbol `transferir_v2` in tests/estoque/test_transferencia_estoque_routes.py:141"}, "properties": {"repobilityId": "5c9fb0640a139ee8", "scanner": "scanner-primary", "fingerprint": "10632f1d7dba6e75", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-21080e88fac99251", "level": "note", "message": {"text": "Legacy-named symbol `chassi_old` in tests/motos_assai/test_carregamento_finalizar_fase3.py:78"}, "properties": {"repobilityId": "8d1defccf5274717", "scanner": "scanner-primary", "fingerprint": "21080e88fac99251", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7f1a5f56d2cb8b2e", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/motos_assai/test_carregamento_finalizar_fase3.py:71"}, "properties": {"repobilityId": "aafae20ddc5586a4", "scanner": "scanner-primary", "fingerprint": "7f1a5f56d2cb8b2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ca14e9975ca31ec", "level": "note", "message": {"text": "Legacy-named symbol `cce_v2` in tests/motos_assai/test_cce_service.py:353"}, "properties": {"repobilityId": "bd06f1399bf984ea", "scanner": "scanner-primary", "fingerprint": "6ca14e9975ca31ec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-48c8ef8bf7ea1df9", "level": "note", "message": {"text": "Legacy-named symbol `test_a11_sep_criada_via_nf_gera_excel_v1` in tests/motos_assai/test_match_v2_cenarios.py:240"}, "properties": {"repobilityId": "1d9697eb97361f0c", "scanner": "scanner-primary", "fingerprint": "48c8ef8bf7ea1df9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8360448cf8e983c2", "level": "note", "message": {"text": "Legacy-named symbol `chassi_old` in tests/motos_assai/test_carregamento_finalizar_fase2.py:142"}, "properties": {"repobilityId": "5df1a82c955596de", "scanner": "scanner-primary", "fingerprint": "8360448cf8e983c2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-23209898450097ca", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/motos_assai/test_carregamento_service_crud.py:28"}, "properties": {"repobilityId": "ad0823e40ad300e9", "scanner": "scanner-primary", "fingerprint": "23209898450097ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89de9e4ee81a10eb", "level": "note", "message": {"text": "Legacy-named symbol `investigar_danfe_lote_v2` in scripts/investigar_danfe_lote_v2.py:26"}, "properties": {"repobilityId": "fc04ef3f9ed61775", "scanner": "scanner-primary", "fingerprint": "89de9e4ee81a10eb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b9ef678d077c07c6", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/relatorio_fiscal_ibscbs.py:114"}, "properties": {"repobilityId": "5ce2e16a98c95ab9", "scanner": "scanner-primary", "fingerprint": "b9ef678d077c07c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6cc78166af867582", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/backfill_cte_tomador_carvia.py:117"}, "properties": {"repobilityId": "62325f44f673f17f", "scanner": "scanner-primary", "fingerprint": "6cc78166af867582", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1cbb20e74dc1eb0b", "level": "note", "message": {"text": "Stub function `fire_noop` (body is just `pass`/`return`) \u2014 scripts/teste_transfer_fb_cd_rodada2.py:513"}, "properties": {"repobilityId": "c473b7b8723c4753", "scanner": "scanner-primary", "fingerprint": "1cbb20e74dc1eb0b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-fdb0680986930864", "level": "note", "message": {"text": "Legacy-named symbol `item_copy` in scripts/exportar_gap_odoo_excel.py:887"}, "properties": {"repobilityId": "93f6de6ff9589f43", "scanner": "scanner-primary", "fingerprint": "fdb0680986930864", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2c7d649586ecf2ef", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/codemods/cleanup_v6_badges.py:42"}, "properties": {"repobilityId": "1ca6d27fb6777c22", "scanner": "scanner-primary", "fingerprint": "2c7d649586ecf2ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e7ea7275e1a155c", "level": "note", "message": {"text": "Legacy-named symbol `audit_subcontrato_id_deprecated` in scripts/carvia/audit_subcontrato_id_deprecated.py:20"}, "properties": {"repobilityId": "52f0e33b37e10bf8", "scanner": "scanner-primary", "fingerprint": "8e7ea7275e1a155c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a37bba167d387717", "level": "note", "message": {"text": "Legacy-named symbol `check_7_carvia_frete_subcontrato_id_deprecated` in scripts/carvia/audit_dados_historicos.py:276"}, "properties": {"repobilityId": "712a499621bb9b9c", "scanner": "scanner-primary", "fingerprint": "a37bba167d387717", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-52252c629fb88183", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audits/route_template_audit.py:141"}, "properties": {"repobilityId": "cb07981bb81ea8d6", "scanner": "scanner-primary", "fingerprint": "52252c629fb88183", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-932350f86f520c46", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audits/ui_audit_regression.py:41"}, "properties": {"repobilityId": "4d2da694270b6b39", "scanner": "scanner-primary", "fingerprint": "932350f86f520c46", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bf211b1a6131cdd9", "level": "note", "message": {"text": "Legacy-named symbol `is_utilities_legacy` in scripts/audits/ui_audit.py:258"}, "properties": {"repobilityId": "de440e4d6ad22ad0", "scanner": "scanner-primary", "fingerprint": "bf211b1a6131cdd9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-47aeae23a7292ea0", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/audits/prompt_size_audit.py:171"}, "properties": {"repobilityId": "9953e202181501c0", "scanner": "scanner-primary", "fingerprint": "47aeae23a7292ea0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6aa007d7177cf2e3", "level": "note", "message": {"text": "Legacy-named symbol `important_outside_legacy` in scripts/audits/ui_policy_lint.py:24"}, "properties": {"repobilityId": "bfa799c5928def62", "scanner": "scanner-primary", "fingerprint": "6aa007d7177cf2e3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-44fe2d626f7c3811", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/audits/ui_policy_lint.py:61"}, "properties": {"repobilityId": "dfcc5fff448083c7", "scanner": "scanner-primary", "fingerprint": "44fe2d626f7c3811", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a074df1639ac8fdf", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audits/ui_policy_lint.py:239"}, "properties": {"repobilityId": "071e4b5340bdeff0", "scanner": "scanner-primary", "fingerprint": "a074df1639ac8fdf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7596ca81087e3af9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audits/artefato_lint/gitdiff.py:9"}, "properties": {"repobilityId": "64b0cd3962add281", "scanner": "scanner-primary", "fingerprint": "7596ca81087e3af9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9c08d1b6ced7e42d", "level": "note", "message": {"text": "Legacy-named symbol `db_backup` in scripts/backup/restore_test.py:232"}, "properties": {"repobilityId": "8b40a8ba9f81b5a3", "scanner": "scanner-primary", "fingerprint": "9c08d1b6ced7e42d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-856cec486994072e", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/backup/restore_test.py:273"}, "properties": {"repobilityId": "1bed5fa91a704072", "scanner": "scanner-primary", "fingerprint": "856cec486994072e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9dfda5617f1d4fe7", "level": "note", "message": {"text": "Legacy-named symbol `list_objects_v2` in scripts/backup/recovery_manager.py:92"}, "properties": {"repobilityId": "1566c097658568d1", "scanner": "scanner-primary", "fingerprint": "9dfda5617f1d4fe7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-79776534414a435f", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/backup/recovery_manager.py:221"}, "properties": {"repobilityId": "f60dd156f8bf8542", "scanner": "scanner-primary", "fingerprint": "79776534414a435f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-371004e713c4011b", "level": "note", "message": {"text": "Legacy-named symbol `verify_database_backup` in scripts/backup/verify_backups.py:118"}, "properties": {"repobilityId": "0218de4d13c392f5", "scanner": "scanner-primary", "fingerprint": "371004e713c4011b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-13b74a798e0f922a", "level": "note", "message": {"text": "Legacy-named symbol `full_backup` in scripts/backup/backup_manager.py:104"}, "properties": {"repobilityId": "c969f3b0e25919b6", "scanner": "scanner-primary", "fingerprint": "13b74a798e0f922a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c574e97fc84e6608", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/backup/backup_manager.py:168"}, "properties": {"repobilityId": "42455dab2d2c22f8", "scanner": "scanner-primary", "fingerprint": "c574e97fc84e6608", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-72885f4de5dac228", "level": "note", "message": {"text": "Legacy-named symbol `criar_backup` in scripts/correcao_datas_nf_credito/correcao_datas_nf_credito.py:45"}, "properties": {"repobilityId": "d554f9f3f75e2ce7", "scanner": "scanner-primary", "fingerprint": "72885f4de5dac228", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-610c789b837a553e", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/inventario_2026_05/03_confrontar_inv_vs_odoo.py:360"}, "properties": {"repobilityId": "078572e33f9235fb", "scanner": "scanner-primary", "fingerprint": "610c789b837a553e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f6f42b6cd5fbc347", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/inventario_2026_05/04_propor_ajustes.py:218"}, "properties": {"repobilityId": "ed08bb20fae0c1b1", "scanner": "scanner-primary", "fingerprint": "f6f42b6cd5fbc347", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29be2e60f40c4439", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/inventario_2026_05/ajuste_fb_cd_indisponivel.py:76"}, "properties": {"repobilityId": "4b78441335428e8c", "scanner": "scanner-primary", "fingerprint": "29be2e60f40c4439", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-47703adfc5527c90", "level": "note", "message": {"text": "Legacy-named symbol `14_ajuste_positivo_cd_v2` in scripts/inventario_2026_05/ajuste_inventario.py:7"}, "properties": {"repobilityId": "e78145796f572b16", "scanner": "scanner-primary", "fingerprint": "47703adfc5527c90", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2ae219ba3101b3c6", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/inventario_2026_05/09_executar_onda1_bulk.py:797"}, "properties": {"repobilityId": "c52a93cf545b2019", "scanner": "scanner-primary", "fingerprint": "2ae219ba3101b3c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87075921e3a59e13", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/inventario_2026_05/08_extrair_pos_execucao.py:133"}, "properties": {"repobilityId": "b1658921c6b49d38", "scanner": "scanner-primary", "fingerprint": "87075921e3a59e13", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ffbaa7718028f070", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/inventario_2026_05/monitor/0_pipeline.py:28"}, "properties": {"repobilityId": "970149ede907543f", "scanner": "scanner-primary", "fingerprint": "ffbaa7718028f070", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b256e48bc65a7018", "level": "note", "message": {"text": "Legacy-named symbol `14_ajuste_pos_cd_v2` in scripts/inventario_2026_05/_validados/ajustando-quant-odoo/14_ajuste_positivo_cd_v2.py:57"}, "properties": {"repobilityId": "c491345cc0ef5027", "scanner": "scanner-primary", "fingerprint": "b256e48bc65a7018", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a8f56523d024b4e7", "level": "note", "message": {"text": "Legacy-named symbol `fazer_backup` in scripts/inventario_2026_05/_validados/planejando-pre-etapa-odoo/04b_propor_pre_etapa_cd.py:65"}, "properties": {"repobilityId": "4cc26eb585264a9a", "scanner": "scanner-primary", "fingerprint": "a8f56523d024b4e7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0f3f530875425885", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/inventario_2026_05/_validados/planejando-pre-etapa-odoo/04b_propor_pre_etapa_cd.py:74"}, "properties": {"repobilityId": "b60788b87d9463c8", "scanner": "scanner-primary", "fingerprint": "0f3f530875425885", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-934950b362fd617c", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/inventario_2026_05/_validados/transferindo-interno-odoo/padronizar_migracao.py:39"}, "properties": {"repobilityId": "2caac0f5ac2a710b", "scanner": "scanner-primary", "fingerprint": "934950b362fd617c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f51b72589e47e0b5", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/inventario_2026_05/auditoria/comparar_sot_vs_fontes.py:322"}, "properties": {"repobilityId": "cf70fe96591897a7", "scanner": "scanner-primary", "fingerprint": "f51b72589e47e0b5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec75b20dd67ccdf9", "level": "note", "message": {"text": "Legacy-named symbol `001_criar_tabelas_pallet_v2` in scripts/pallet/004_validar_migracao.py:15"}, "properties": {"repobilityId": "24fd5d555817a2c1", "scanner": "scanner-primary", "fingerprint": "ec75b20dd67ccdf9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bef2986dc06d24cf", "level": "note", "message": {"text": "Legacy-named symbol `001_criar_tabelas_pallet_v2` in scripts/pallet/003_migrar_vale_pallet_para_documento.py:103"}, "properties": {"repobilityId": "341e2e31f9e1f083", "scanner": "scanner-primary", "fingerprint": "bef2986dc06d24cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-00c7d3eb28021a0f", "level": "note", "message": {"text": "Legacy-named symbol `001_criar_tabelas_pallet_v2` in scripts/pallet/001_criar_tabelas_pallet_v2.py:18"}, "properties": {"repobilityId": "a5ec0b1628b6ff91", "scanner": "scanner-primary", "fingerprint": "00c7d3eb28021a0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d11c281ac598ffbd", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/pallet/001_criar_tabelas_pallet_v2.py:425"}, "properties": {"repobilityId": "f82ddf06071baba5", "scanner": "scanner-primary", "fingerprint": "d11c281ac598ffbd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f4b8936049d09e8a", "level": "note", "message": {"text": "Legacy-named symbol `001_criar_tabelas_pallet_v2` in scripts/pallet/002_migrar_movimentacao_para_nf_remessa.py:73"}, "properties": {"repobilityId": "dbe0b87d111354a6", "scanner": "scanner-primary", "fingerprint": "f4b8936049d09e8a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e9dd3dd937d0c9e3", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/sped_ecd/gerar_sped.py:111"}, "properties": {"repobilityId": "49ef63bb09a8a5a7", "scanner": "scanner-primary", "fingerprint": "e9dd3dd937d0c9e3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0a7dc0cbaf09ec4f", "level": "note", "message": {"text": "Legacy-named symbol `migrar_timezone_utc_para_brasil_v1` in scripts/migrations/migrar_timezone_utc_para_brasil.py:66"}, "properties": {"repobilityId": "62a377f3dcfc13fc", "scanner": "scanner-primary", "fingerprint": "0a7dc0cbaf09ec4f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-253dc1d4f1727b57", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/migrations/2026_06_11_migrar_namespaces_memoria_empresa.py:223"}, "properties": {"repobilityId": "0159c16ff4d99527", "scanner": "scanner-primary", "fingerprint": "253dc1d4f1727b57", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2276f0d02132e64a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/migrations/fix_extrato_sem_titulo_do_cnab.py:71"}, "properties": {"repobilityId": "36c4ae353087d0dc", "scanner": "scanner-primary", "fingerprint": "2276f0d02132e64a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9404f0b0dd5b241f", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/migrations/hora_35_cleanup_alias_motos.py:55"}, "properties": {"repobilityId": "f577ebbfe0610575", "scanner": "scanner-primary", "fingerprint": "9404f0b0dd5b241f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e79ae5665299804f", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/migrations/2026_06_07_table_catalog_embeddings.py:55"}, "properties": {"repobilityId": "77be8758b289965d", "scanner": "scanner-primary", "fingerprint": "e79ae5665299804f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9bf37e2f50c19c4a", "level": "note", "message": {"text": "Legacy-named symbol `criar_tabelas_cotacao_carvia_v2` in scripts/migrations/criar_tabelas_cotacao_carvia_v2.py:152"}, "properties": {"repobilityId": "bd68f6727d725268", "scanner": "scanner-primary", "fingerprint": "9bf37e2f50c19c4a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d2ace6cc3b5cdb19", "level": "note", "message": {"text": "Legacy-named symbol `limpar_duplicatas_dedup_v2` in scripts/migrations/limpar_duplicatas_dedup_v2.py:21"}, "properties": {"repobilityId": "66ec871e44f6ccea", "scanner": "scanner-primary", "fingerprint": "d2ace6cc3b5cdb19", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f1093d0a3fbd726b", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/migrations/motos_assai_backfill_match_nfs_2026_05_17.py:977"}, "properties": {"repobilityId": "c72a6f35bee67286", "scanner": "scanner-primary", "fingerprint": "f1093d0a3fbd726b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a48af1996878ed6", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/migrations/remover_pedido_backfill_e_desvincular_nf_1737.py:123"}, "properties": {"repobilityId": "28e5bd1780f617ff", "scanner": "scanner-primary", "fingerprint": "7a48af1996878ed6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9da29bfdbeda619a", "level": "note", "message": {"text": "Legacy-named symbol `adicionar_campos_fatura_cliente_v2` in scripts/migrations/adicionar_campos_fatura_cliente_v2.py:12"}, "properties": {"repobilityId": "597a82c317c47f34", "scanner": "scanner-primary", "fingerprint": "9da29bfdbeda619a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fe932c7d268439ca", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/migrations/hora_42_fix_divergencias_modelo_falso_positivo.py:93"}, "properties": {"repobilityId": "9f7780a9aae7b29d", "scanner": "scanner-primary", "fingerprint": "fe932c7d268439ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-572b366e149a59ba", "level": "note", "message": {"text": "Legacy-named symbol `list_objects_v2` in scripts/migrations/2026_06_11_backfill_s3_archive_orfaos.py:44"}, "properties": {"repobilityId": "61ad38d2b26ad1ee", "scanner": "scanner-primary", "fingerprint": "572b366e149a59ba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9f5a92b65e4964bd", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/migrations/2026_05_18_audit_ajuste_estoque_inventario.py:147"}, "properties": {"repobilityId": "6098161560db60ec", "scanner": "scanner-primary", "fingerprint": "9f5a92b65e4964bd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-55ed47b4d8075ce8", "level": "none", "message": {"text": "Commented-code block (21 lines) in scripts/migrations/criar_tabelas_importador_redes.py:197"}, "properties": {"repobilityId": "c9e871e392eb7df0", "scanner": "scanner-primary", "fingerprint": "55ed47b4d8075ce8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f1c8059481e18c28", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/migrations/motos_assai_25_backfill_divergencias_legadas.py:63"}, "properties": {"repobilityId": "b5ddd0981567bb1f", "scanner": "scanner-primary", "fingerprint": "f1c8059481e18c28", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-efc19f818714a1db", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/migrations/popular_uom_depara_odoo.py:49"}, "properties": {"repobilityId": "2dfc47d36a4deded", "scanner": "scanner-primary", "fingerprint": "efc19f818714a1db", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f42c4366a2f021d1", "level": "note", "message": {"text": "Legacy-named symbol `verificar_colunas_deprecated` in scripts/migrations/remover_tabelas_deprecated_contas_receber.py:67"}, "properties": {"repobilityId": "a48ac865a013347d", "scanner": "scanner-primary", "fingerprint": "f42c4366a2f021d1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bc61631035501dd3", "level": "note", "message": {"text": "Legacy-named symbol `carvia_faturas_cliente_tipo_frete_backup` in scripts/migrations/carvia_cte_comp_motivo_nf_modfrete_drop_tipo_frete.py:46"}, "properties": {"repobilityId": "2044bc4ec624ba6e", "scanner": "scanner-primary", "fingerprint": "bc61631035501dd3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-35c19c59bbbf0c51", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/operacionais/troca_nf_atacadao881/verificar_reversao_e_devolver.py:199"}, "properties": {"repobilityId": "1be64327881a5b48", "scanner": "scanner-primary", "fingerprint": "35c19c59bbbf0c51", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-992d54650fb972ac", "level": "note", "message": {"text": "Legacy-named symbol `register_pallet_v2` in app/__init__.py:1218"}, "properties": {"repobilityId": "c2cf5356af061863", "scanner": "scanner-primary", "fingerprint": "992d54650fb972ac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0b31ced0860342c5", "level": "note", "message": {"text": "Stub function `init_app` (body is just `pass`/`return`) \u2014 app/__init__.py:41"}, "properties": {"repobilityId": "f5c726d62f58565e", "scanner": "scanner-primary", "fingerprint": "0b31ced0860342c5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-2f790d3868b2693c", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/ecommerce_preview/routes.py:229"}, "properties": {"repobilityId": "40124ae1a5084e12", "scanner": "scanner-primary", "fingerprint": "2f790d3868b2693c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a9a83147df0895e", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/produtos/services/auditor_produto.py:42"}, "properties": {"repobilityId": "92af2963152f3e4f", "scanner": "scanner-primary", "fingerprint": "8a9a83147df0895e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-02322dab276d64e8", "level": "none", "message": {"text": "Commented-code block (11 lines) in app/devolucao/services/nfd_xml_parser.py:232"}, "properties": {"repobilityId": "8b1c7b09c7781f28", "scanner": "scanner-primary", "fingerprint": "02322dab276d64e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a79d5b21f7953f7a", "level": "note", "message": {"text": "Legacy-named symbol `_tem_permissao_legacy` in app/auth/models.py:431"}, "properties": {"repobilityId": "30c1baa2e4179fbe", "scanner": "scanner-primary", "fingerprint": "a79d5b21f7953f7a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6f801c0c6512ce38", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/auth/models.py:48"}, "properties": {"repobilityId": "62a2f2346741382c", "scanner": "scanner-primary", "fingerprint": "6f801c0c6512ce38", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b47564b5cbf995dd", "level": "none", "message": {"text": "Commented-code block (11 lines) in app/odoo/models/operacao_odoo_auditoria.py:90"}, "properties": {"repobilityId": "73846a875638d241", "scanner": "scanner-primary", "fingerprint": "b47564b5cbf995dd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-80ae3e096de130f7", "level": "none", "message": {"text": "Commented-code block (9 lines) in app/odoo/constants/operacoes_fiscais.py:114"}, "properties": {"repobilityId": "3cc6e0e99ae7fa40", "scanner": "scanner-primary", "fingerprint": "80ae3e096de130f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7ab166348ae412d", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/odoo/constants/picking_types.py:29"}, "properties": {"repobilityId": "9c94f0a572a9a36b", "scanner": "scanner-primary", "fingerprint": "f7ab166348ae412d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7e4fe1e904a738ef", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/odoo/utils/cte_xml_parser.py:466"}, "properties": {"repobilityId": "12741e611c07e643", "scanner": "scanner-primary", "fingerprint": "7e4fe1e904a738ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8f8b0caf223b4f02", "level": "note", "message": {"text": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in app/odoo/estoque/orchestrators/inventario_pipeline.py:142"}, "properties": {"repobilityId": "fe95c6b95d5e8acc", "scanner": "scanner-primary", "fingerprint": "8f8b0caf223b4f02", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1e75846c166072ad", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/odoo/estoque/orchestrators/inventario_pipeline.py:94"}, "properties": {"repobilityId": "d5d8336d12ac4618", "scanner": "scanner-primary", "fingerprint": "1e75846c166072ad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b6e54fab7e24524f", "level": "note", "message": {"text": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in app/odoo/estoque/orchestrators/pre_etapa_executor.py:6"}, "properties": {"repobilityId": "7afc4870e993f2d5", "scanner": "scanner-primary", "fingerprint": "b6e54fab7e24524f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0034f6dcec15b23d", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/odoo/estoque/orchestrators/pre_etapa_executor.py:422"}, "properties": {"repobilityId": "8ad989dc7d8fd38f", "scanner": "scanner-primary", "fingerprint": "0034f6dcec15b23d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c784dd7470d9331d", "level": "note", "message": {"text": "Legacy-named symbol `fazer_backup` in app/odoo/estoque/scripts/pre_etapa.py:721"}, "properties": {"repobilityId": "a3975780fc363740", "scanner": "scanner-primary", "fingerprint": "c784dd7470d9331d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a5f795e7e0e9514c", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/odoo/estoque/scripts/pre_etapa.py:66"}, "properties": {"repobilityId": "4561cde3b5e784d3", "scanner": "scanner-primary", "fingerprint": "a5f795e7e0e9514c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb5d56b723419f65", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/odoo/estoque/scripts/cadastro_fiscal_audit.py:314"}, "properties": {"repobilityId": "7531dbd0a1525ec8", "scanner": "scanner-primary", "fingerprint": "bb5d56b723419f65", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8397e6a57e8461ea", "level": "note", "message": {"text": "Legacy-named symbol `transferir_entre_lotes_v2` in app/odoo/estoque/scripts/transfer.py:34"}, "properties": {"repobilityId": "9f29e75050bcd5aa", "scanner": "scanner-primary", "fingerprint": "8397e6a57e8461ea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-585b7e68197ef2cd", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/odoo/estoque/scripts/transfer.py:71"}, "properties": {"repobilityId": "1301818fe1a5b6e4", "scanner": "scanner-primary", "fingerprint": "585b7e68197ef2cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-66254aaa1f060bee", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/odoo/estoque/scripts/escrituracao.py:334"}, "properties": {"repobilityId": "ebee7d4ac7d78848", "scanner": "scanner-primary", "fingerprint": "66254aaa1f060bee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea829934aa4fe05f", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/odoo/estoque/scripts/faturamento.py:829"}, "properties": {"repobilityId": "09fd8c4fc23d5407", "scanner": "scanner-primary", "fingerprint": "ea829934aa4fe05f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40a2d16097c2c5f2", "level": "note", "message": {"text": "Legacy-named symbol `soma_old` in app/odoo/estoque/scripts/picking.py:289"}, "properties": {"repobilityId": "4068dd04ee38db6e", "scanner": "scanner-primary", "fingerprint": "40a2d16097c2c5f2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2c0a55a9641f4bc6", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/odoo/estoque/scripts/picking.py:439"}, "properties": {"repobilityId": "3c5bbb2f3c9abd44", "scanner": "scanner-primary", "fingerprint": "2c0a55a9641f4bc6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea642df57b422c0f", "level": "note", "message": {"text": "Legacy-named symbol `medir_consumo_mo_legacy` in app/odoo/estoque/scripts/mo.py:64"}, "properties": {"repobilityId": "21788a8c68b0b3ec", "scanner": "scanner-primary", "fingerprint": "ea642df57b422c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a4d03ff205c01d68", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/odoo/estoque/scripts/mo.py:853"}, "properties": {"repobilityId": "72f4ae533a555e6b", "scanner": "scanner-primary", "fingerprint": "a4d03ff205c01d68", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d207b355339acacc", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/odoo/services/entrada_material_service.py:618"}, "properties": {"repobilityId": "c27aedbaf68c9439", "scanner": "scanner-primary", "fingerprint": "d207b355339acacc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c9c96930f4133de7", "level": "note", "message": {"text": "Legacy-named symbol `transferir_v2` in app/odoo/services/transferencia_saldo_codigo_service.py:110"}, "properties": {"repobilityId": "3291f1ecdb099b8a", "scanner": "scanner-primary", "fingerprint": "c9c96930f4133de7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-795cabb08b5f0d05", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/odoo/services/carteira_service.py:1581"}, "properties": {"repobilityId": "cab4097c9d5a842f", "scanner": "scanner-primary", "fingerprint": "795cabb08b5f0d05", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c32745195b3df28f", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/odoo/services/pedido_compras_service.py:1154"}, "properties": {"repobilityId": "97ee42f68ddd384a", "scanner": "scanner-primary", "fingerprint": "c32745195b3df28f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-08d0d67459e05b10", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/odoo/services/faturamento_service.py:24"}, "properties": {"repobilityId": "c236b6ec9f211bc1", "scanner": "scanner-primary", "fingerprint": "08d0d67459e05b10", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c28a51d92e893690", "level": "none", "message": {"text": "Commented-code block (9 lines) in app/odoo/services/inventario_pipeline_service.py:127"}, "properties": {"repobilityId": "3a7c00d1a4e2e9d6", "scanner": "scanner-primary", "fingerprint": "c28a51d92e893690", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e66c47fa073077c", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/separacao/models.py:76"}, "properties": {"repobilityId": "086347796f43faa2", "scanner": "scanner-primary", "fingerprint": "8e66c47fa073077c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dfb0ef1352bc9421", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/producao/relatorios_bp.py:416"}, "properties": {"repobilityId": "861e02495fa1c0f1", "scanner": "scanner-primary", "fingerprint": "dfb0ef1352bc9421", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9eac759051ce99e3", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/producao/routes.py:684"}, "properties": {"repobilityId": "705aa60c4fb11450", "scanner": "scanner-primary", "fingerprint": "9eac759051ce99e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-53ca06af3da31406", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/carvia/js/anexos_widget.js:45"}, "properties": {"repobilityId": "bcef4f1da983b99b", "scanner": "scanner-primary", "fingerprint": "53ca06af3da31406", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c77346a89d733894", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/programacao-lote.js:126"}, "properties": {"repobilityId": "2e40b3af7bfe7576", "scanner": "scanner-primary", "fingerprint": "c77346a89d733894", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-42f53587cf584b93", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/cmdk.js:226"}, "properties": {"repobilityId": "bd0ff6b6d76a6c44", "scanner": "scanner-primary", "fingerprint": "42f53587cf584b93", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1edf6664b2e8d658", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/embarque.js:25"}, "properties": {"repobilityId": "2d625bf2de8b3809", "scanner": "scanner-primary", "fingerprint": "1edf6664b2e8d658", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0c8e0610367e64eb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/analise_producao_componentes.js:79"}, "properties": {"repobilityId": "1c5aaa26565b1d80", "scanner": "scanner-primary", "fingerprint": "0c8e0610367e64eb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-266ab315fb7222da", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/carvia_pagamento_modal.js:264"}, "properties": {"repobilityId": "96f0355a751b1127", "scanner": "scanner-primary", "fingerprint": "266ab315fb7222da", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-85feffc2d3d92711", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/static/js/contas_receber.js:165"}, "properties": {"repobilityId": "bd850c00c657bfa2", "scanner": "scanner-primary", "fingerprint": "85feffc2d3d92711", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4d376bfd93552d0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/contas_receber.js:56"}, "properties": {"repobilityId": "f8509bea765ef0a9", "scanner": "scanner-primary", "fingerprint": "c4d376bfd93552d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1a329067b0c00859", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/cmdk-historico-pedido.js:127"}, "properties": {"repobilityId": "bbf1ee473a291914", "scanner": "scanner-primary", "fingerprint": "1a329067b0c00859", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-217f685baeedd89e", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/static/js/mobile-zoom.js:67"}, "properties": {"repobilityId": "25160c7d541a06bb", "scanner": "scanner-primary", "fingerprint": "217f685baeedd89e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d6a6ff1f420ff597", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/static/js/sidebar.js:160"}, "properties": {"repobilityId": "936cc9aa8dcd9515", "scanner": "scanner-primary", "fingerprint": "d6a6ff1f420ff597", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b95ec02e772fe615", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/contas_receber_comparativo.js:71"}, "properties": {"repobilityId": "e29e3aec45cecc15", "scanner": "scanner-primary", "fingerprint": "b95ec02e772fe615", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eacf48922dfdcdbc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/analises-drilldown.js:275"}, "properties": {"repobilityId": "7f317d97130be54a", "scanner": "scanner-primary", "fingerprint": "eacf48922dfdcdbc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7fdb1766c4d460a4", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/static/js/carteira-simples.js:2418"}, "properties": {"repobilityId": "5828118ffb946e85", "scanner": "scanner-primary", "fingerprint": "7fdb1766c4d460a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b4532843f2f1208", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/carteira-simples.js:365"}, "properties": {"repobilityId": "1ffa8f59706a4548", "scanner": "scanner-primary", "fingerprint": "0b4532843f2f1208", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-debc0ecbd39482cc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/devolucao/ocorrencia-detalhe.js:488"}, "properties": {"repobilityId": "77e9aba0b93dd642", "scanner": "scanner-primary", "fingerprint": "debc0ecbd39482cc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b837b916d6861e33", "level": "note", "message": {"text": "Legacy-named symbol `carvia_ssw_progress_v1` in app/static/js/carvia/ssw_progress.js:25"}, "properties": {"repobilityId": "8e8ce6684bc5abba", "scanner": "scanner-primary", "fingerprint": "b837b916d6861e33", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9f5365374f3580bc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/carvia/ssw_progress.js:337"}, "properties": {"repobilityId": "05f8966562e3f416", "scanner": "scanner-primary", "fingerprint": "9f5365374f3580bc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-381ef051262d7b60", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/shared/transportadora-autocomplete.js:142"}, "properties": {"repobilityId": "b48e710613cef30c", "scanner": "scanner-primary", "fingerprint": "381ef051262d7b60", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7e1a8a54ef76cfe5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/shared/scanner-moto.js:266"}, "properties": {"repobilityId": "02c3a21fb6dcb5f5", "scanner": "scanner-primary", "fingerprint": "7e1a8a54ef76cfe5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b7189a0965487fea", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/shared/cnpj-lookup.js:87"}, "properties": {"repobilityId": "61d0441fafac3efe", "scanner": "scanner-primary", "fingerprint": "b7189a0965487fea", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-22eea4822bc5aee6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/shared/viacep.js:95"}, "properties": {"repobilityId": "e7cf576dc078a188", "scanner": "scanner-primary", "fingerprint": "22eea4822bc5aee6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d90e11466ff5008c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/inventario/confronto.js:230"}, "properties": {"repobilityId": "407e63eb7b114768", "scanner": "scanner-primary", "fingerprint": "d90e11466ff5008c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0712786e065082c0", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/static/js/capacitor/capacitor.js:54"}, "properties": {"repobilityId": "e8b92d1e7982f323", "scanner": "scanner-primary", "fingerprint": "0712786e065082c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee2734aad49c592c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/capacitor/capacitor.js:623"}, "properties": {"repobilityId": "327811ef82b166ba", "scanner": "scanner-primary", "fingerprint": "ee2734aad49c592c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f0352580dc3e2c03", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/capacitor/gps-service-hibrido.js:365"}, "properties": {"repobilityId": "d5887eee548b45aa", "scanner": "scanner-primary", "fingerprint": "f0352580dc3e2c03", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-82718ff1e3ceec4a", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/static/js/hora/autocomplete.js:95"}, "properties": {"repobilityId": "f5da15dd256ed98b", "scanner": "scanner-primary", "fingerprint": "82718ff1e3ceec4a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d0e053923366d6e5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/hora/autocomplete.js:97"}, "properties": {"repobilityId": "2a007febe5e808f4", "scanner": "scanner-primary", "fingerprint": "d0e053923366d6e5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2c0b98301150652e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/hora/devolucao_venda_novo.js:58"}, "properties": {"repobilityId": "1e4cf057cd993d31", "scanner": "scanner-primary", "fingerprint": "2c0b98301150652e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-80917ed6cbe2df86", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/financeiro/busca-semantica.js:131"}, "properties": {"repobilityId": "59ba5322d83f2a39", "scanner": "scanner-primary", "fingerprint": "80917ed6cbe2df86", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-19f579583b0195b2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/estoque/transferir_estoque.js:33"}, "properties": {"repobilityId": "32a78440f07ac4f7", "scanner": "scanner-primary", "fingerprint": "19f579583b0195b2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2b6015e05463ec5c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-nf.js:19"}, "properties": {"repobilityId": "b6927ba58e26b18b", "scanner": "scanner-primary", "fingerprint": "2b6015e05463ec5c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-51f25bc623fb68d0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-agendamento.js:85"}, "properties": {"repobilityId": "4776f79d48a248ad", "scanner": "scanner-primary", "fingerprint": "51f25bc623fb68d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c66e4ee67a3a2af0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-crud.js:108"}, "properties": {"repobilityId": "c5727358bd69b6cc", "scanner": "scanner-primary", "fingerprint": "c66e4ee67a3a2af0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-996c3df9e3de0100", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-modais.js:13"}, "properties": {"repobilityId": "6fb424221712521c", "scanner": "scanner-primary", "fingerprint": "996c3df9e3de0100", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-84e7cba72bd0a96b", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/static/js/pedidos/lista-filtros.js:48"}, "properties": {"repobilityId": "f6aeea22f14261a2", "scanner": "scanner-primary", "fingerprint": "84e7cba72bd0a96b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c6641ccd7636716", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-endereco.js:21"}, "properties": {"repobilityId": "ff8a34a4c8c25d30", "scanner": "scanner-primary", "fingerprint": "1c6641ccd7636716", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-17a6cb7134d5b589", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-alertas.js:11"}, "properties": {"repobilityId": "f19b96ea350e1256", "scanner": "scanner-primary", "fingerprint": "17a6cb7134d5b589", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-115b229e7209efc7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/pedidos/lista-cotacao.js:37"}, "properties": {"repobilityId": "5c8686e102f76bef", "scanner": "scanner-primary", "fingerprint": "115b229e7209efc7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-45c8fdcfd75e9e29", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/recebimento/divergencias_shared.js:89"}, "properties": {"repobilityId": "29fd7c797ac8c276", "scanner": "scanner-primary", "fingerprint": "45c8fdcfd75e9e29", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-758147626e368128", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/recebimento/divergencias_nf_po.js:42"}, "properties": {"repobilityId": "dba5b82982957219", "scanner": "scanner-primary", "fingerprint": "758147626e368128", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-658f30c336ebbca6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/recebimento/validacoes_nf_po.js:34"}, "properties": {"repobilityId": "911c6f57c55af1a2", "scanner": "scanner-primary", "fingerprint": "658f30c336ebbca6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f2a5da25761f612c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/simulador-carga/simulador-ui.js:58"}, "properties": {"repobilityId": "beb4245a512225a1", "scanner": "scanner-primary", "fingerprint": "f2a5da25761f612c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ae9e09e8f7d68889", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/parametros.js:128"}, "properties": {"repobilityId": "acf7fecda15dd37a", "scanner": "scanner-primary", "fingerprint": "ae9e09e8f7d68889", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-351746fbae1cae14", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/mensal.js:34"}, "properties": {"repobilityId": "e95ea5881980b4a6", "scanner": "scanner-primary", "fingerprint": "351746fbae1cae14", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ab2691db2c49200d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/custeio.js:229"}, "properties": {"repobilityId": "b7443a5cdb4ef65f", "scanner": "scanner-primary", "fingerprint": "ab2691db2c49200d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6add9a8fa938a868", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/comissao.js:54"}, "properties": {"repobilityId": "9a26171246e65c23", "scanner": "scanner-primary", "fingerprint": "6add9a8fa938a868", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-18e6ba83c9e8ee78", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/dashboard.js:18"}, "properties": {"repobilityId": "f85dd85ed5971c4a", "scanner": "scanner-primary", "fingerprint": "18e6ba83c9e8ee78", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-229f8f910a7baf98", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/producao.js:153"}, "properties": {"repobilityId": "32b6db9a49e84e01", "scanner": "scanner-primary", "fingerprint": "229f8f910a7baf98", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f2419dbbf9c10031", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/definicao.js:253"}, "properties": {"repobilityId": "4f3c684cbac96e49", "scanner": "scanner-primary", "fingerprint": "f2419dbbf9c10031", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c88b5136d8b064d0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/js/custeio/frete.js:166"}, "properties": {"repobilityId": "36b73cf729505760", "scanner": "scanner-primary", "fingerprint": "c88b5136d8b064d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-67ace268bfc73d54", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/static/capacitor/capacitor.js:54"}, "properties": {"repobilityId": "e0050689139d5f43", "scanner": "scanner-primary", "fingerprint": "67ace268bfc73d54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-da3f13c0dd9536a9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/capacitor/capacitor.js:623"}, "properties": {"repobilityId": "452068e04690c87b", "scanner": "scanner-primary", "fingerprint": "da3f13c0dd9536a9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2bb54896d6de4020", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/chat/js/chat_ui.js:167"}, "properties": {"repobilityId": "cbfc96e7a84250a3", "scanner": "scanner-primary", "fingerprint": "2bb54896d6de4020", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3c20d9e86a809810", "level": "note", "message": {"text": "Legacy-named symbol `agente_fork_intro_shown_v1` in app/static/agente/js/chat.js:3759"}, "properties": {"repobilityId": "6917926178122a52", "scanner": "scanner-primary", "fingerprint": "3c20d9e86a809810", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-767306affcb424dd", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/static/agente/js/chat.js:57"}, "properties": {"repobilityId": "4746be335667e1c2", "scanner": "scanner-primary", "fingerprint": "767306affcb424dd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92fc981da68a3b63", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/agente/js/chat.js:233"}, "properties": {"repobilityId": "f7c9c285988d630c", "scanner": "scanner-primary", "fingerprint": "92fc981da68a3b63", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3dfe56ad16abfcba", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/static/comercial/js/lista_clientes_mobile.js:223"}, "properties": {"repobilityId": "8e5155940fd6512f", "scanner": "scanner-primary", "fingerprint": "3dfe56ad16abfcba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e246204e701f53d", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/static/onboarding/tours/hora/vendas_aprovar.js:1"}, "properties": {"repobilityId": "504519e99eabae87", "scanner": "scanner-primary", "fingerprint": "6e246204e701f53d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8fd57198f972a0c9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/carteira/js/modal-relatorios.js:244"}, "properties": {"repobilityId": "6d1a9a8c9121150e", "scanner": "scanner-primary", "fingerprint": "8fd57198f972a0c9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-67e0c06ebd8638cb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/pos_venda.js:211"}, "properties": {"repobilityId": "2249022dbad6e763", "scanner": "scanner-primary", "fingerprint": "67e0c06ebd8638cb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eb5a44ab7b4788bf", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/devolucao_form.js:86"}, "properties": {"repobilityId": "bd30f2207ce7d634", "scanner": "scanner-primary", "fingerprint": "eb5a44ab7b4788bf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-02dc512b27777d7f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/resumo_modais.js:194"}, "properties": {"repobilityId": "63384f97b8746ae8", "scanner": "scanner-primary", "fingerprint": "02dc512b27777d7f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cdf869f733016078", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/static/motos_assai/js/separacao_chassi.js:203"}, "properties": {"repobilityId": "72c9fddc67c592f6", "scanner": "scanner-primary", "fingerprint": "cdf869f733016078", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a6644d0b0dfa9e8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/separacao_chassi.js:58"}, "properties": {"repobilityId": "bd2040efba67ecb0", "scanner": "scanner-primary", "fingerprint": "8a6644d0b0dfa9e8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c3f160d7322f4cb6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/pendencias_resolver.js:76"}, "properties": {"repobilityId": "9bede2210e17dcb0", "scanner": "scanner-primary", "fingerprint": "c3f160d7322f4cb6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8a3137c6749a341d", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/static/motos_assai/js/chassi_autocomplete.js:209"}, "properties": {"repobilityId": "a5a0aaf6c578dd1d", "scanner": "scanner-primary", "fingerprint": "8a3137c6749a341d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f53ce4b3de8d148", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/chassi_autocomplete.js:177"}, "properties": {"repobilityId": "bc2d7b36c8af173f", "scanner": "scanner-primary", "fingerprint": "3f53ce4b3de8d148", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-61eb39c93b98726a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/disponibilizar_modal.js:32"}, "properties": {"repobilityId": "2016db206040f529", "scanner": "scanner-primary", "fingerprint": "61eb39c93b98726a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d3ef6d7ed2f60dc5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/motos_assai/js/divergencias_modais.js:55"}, "properties": {"repobilityId": "35f8ccfafcbff749", "scanner": "scanner-primary", "fingerprint": "d3ef6d7ed2f60dc5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7bb14c578253b922", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/necessidade_producao/js/modal-detalhes-separacao.js:53"}, "properties": {"repobilityId": "6cbb5949edd3a2d9", "scanner": "scanner-primary", "fingerprint": "7bb14c578253b922", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e555668e3a06c424", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/necessidade_producao/js/necessidade-producao.js:886"}, "properties": {"repobilityId": "5a8e370ad85c16b5", "scanner": "scanner-primary", "fingerprint": "e555668e3a06c424", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e6b286b6b5a368b2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivos.js:54"}, "properties": {"repobilityId": "cc6d9003b228f05d", "scanner": "scanner-primary", "fingerprint": "e6b286b6b5a368b2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0e1777cffedeca80", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/requisicoes_compras/js/historico-modal.js:67"}, "properties": {"repobilityId": "45db99c3d5f21212", "scanner": "scanner-primary", "fingerprint": "0e1777cffedeca80", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-342722ea2446e39b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/requisicoes_compras/js/requisicoes-compras.js:115"}, "properties": {"repobilityId": "ce43ec8295f2a675", "scanner": "scanner-primary", "fingerprint": "342722ea2446e39b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f97a990693393f04", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-table-view.js:208"}, "properties": {"repobilityId": "997e7c5190d82e7e", "scanner": "scanner-primary", "fingerprint": "f97a990693393f04", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e4c6f2520d103049", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas.js:60"}, "properties": {"repobilityId": "74c01685648da0ba", "scanner": "scanner-primary", "fingerprint": "e4c6f2520d103049", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-41f79c3808a6443d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js:261"}, "properties": {"repobilityId": "50e13a521403099a", "scanner": "scanner-primary", "fingerprint": "41f79c3808a6443d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0ae96f9915acaec4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamentos.js:681"}, "properties": {"repobilityId": "d87a016b6ed18483", "scanner": "scanner-primary", "fingerprint": "0ae96f9915acaec4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a6ab3788132ddcd7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/lista_materiais/js/lista_materiais.js:912"}, "properties": {"repobilityId": "969c074e547a5d7a", "scanner": "scanner-primary", "fingerprint": "a6ab3788132ddcd7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-aca7ae206ca15d23", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/sugestao_compras/js/sugestao.js:26"}, "properties": {"repobilityId": "036e1e502965e147", "scanner": "scanner-primary", "fingerprint": "aca7ae206ca15d23", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d8c335ef3a96a6d1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/static/manufatura/sugestao_compras/js/modal-em-transito.js:23"}, "properties": {"repobilityId": "749304f2d0c1168c", "scanner": "scanner-primary", "fingerprint": "d8c335ef3a96a6d1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-83f145224f2566a7", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/models/financeiro.py:151"}, "properties": {"repobilityId": "90b07f5827c899a6", "scanner": "scanner-primary", "fingerprint": "83f145224f2566a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b331c45f33da6399", "level": "note", "message": {"text": "Legacy-named symbol `audit_subcontrato_id_deprecated` in app/carvia/models/frete.py:86"}, "properties": {"repobilityId": "4dc1d7951b2b5224", "scanner": "scanner-primary", "fingerprint": "b331c45f33da6399", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9516cd27692e4a47", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/models/documentos.py:54"}, "properties": {"repobilityId": "a2d60b989266e114", "scanner": "scanner-primary", "fingerprint": "9516cd27692e4a47", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-58cb89624161863b", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/carvia/models/cte_custos.py:139"}, "properties": {"repobilityId": "c55d3d47603364dc", "scanner": "scanner-primary", "fingerprint": "58cb89624161863b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ea58f2a36f729b0", "level": "note", "message": {"text": "Legacy-named symbol `emitente_destinatario_v2` in app/carvia/utils/papeis_frete.py:19"}, "properties": {"repobilityId": "1da26889d64912e3", "scanner": "scanner-primary", "fingerprint": "6ea58f2a36f729b0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-db12c6243d8fd6f1", "level": "note", "message": {"text": "Legacy-named symbol `sub_legacy` in app/carvia/routes/frete_routes.py:235"}, "properties": {"repobilityId": "0b7cf4aa516fa58e", "scanner": "scanner-primary", "fingerprint": "db12c6243d8fd6f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5d2e53725f5cb785", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/routes/frete_routes.py:100"}, "properties": {"repobilityId": "aa5d0a463270934c", "scanner": "scanner-primary", "fingerprint": "5d2e53725f5cb785", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3fa1ebd515298b29", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/carvia/routes/cte_complementar_routes.py:436"}, "properties": {"repobilityId": "6234efdc6af586c8", "scanner": "scanner-primary", "fingerprint": "3fa1ebd515298b29", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ba52769b02ed528", "level": "note", "message": {"text": "Legacy-named symbol `cnpj_old` in app/carvia/routes/nf_routes.py:1182"}, "properties": {"repobilityId": "f1858b32aaaf9800", "scanner": "scanner-primary", "fingerprint": "6ba52769b02ed528", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-54bc72e5af2e43af", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/routes/conciliacao_routes.py:738"}, "properties": {"repobilityId": "bd18a86be6ab88f0", "scanner": "scanner-primary", "fingerprint": "54bc72e5af2e43af", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f24076a4d367eceb", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/routes/pedido_routes.py:313"}, "properties": {"repobilityId": "bf45e5431ebe4263", "scanner": "scanner-primary", "fingerprint": "f24076a4d367eceb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-97a2dfcc527e47f1", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/routes/fatura_routes.py:321"}, "properties": {"repobilityId": "cfdff9199ee9b5fa", "scanner": "scanner-primary", "fingerprint": "97a2dfcc527e47f1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee2cb58eac43f278", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/carvia/routes/admin_routes.py:21"}, "properties": {"repobilityId": "c839ab00d230eb62", "scanner": "scanner-primary", "fingerprint": "ee2cb58eac43f278", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c611f56bf6469230", "level": "note", "message": {"text": "Legacy-named symbol `listar_cotacoes_v2` in app/carvia/routes/cotacao_v2_routes.py:114"}, "properties": {"repobilityId": "84ed10a28c7e58e9", "scanner": "scanner-primary", "fingerprint": "c611f56bf6469230", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-41e91638bad75555", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/carvia/routes/cotacao_v2_routes.py:821"}, "properties": {"repobilityId": "575659326c7314d5", "scanner": "scanner-primary", "fingerprint": "41e91638bad75555", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2e27ae755b5278b9", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/workers/ssw_cte_complementar_jobs.py:82"}, "properties": {"repobilityId": "f51da81e40fa6d09", "scanner": "scanner-primary", "fingerprint": "2e27ae755b5278b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db36c974292b2787", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/carvia/workers/ssw_cte_jobs.py:220"}, "properties": {"repobilityId": "c78f6c94512777b7", "scanner": "scanner-primary", "fingerprint": "db36c974292b2787", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0ea1071861f1ea3", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/carvia/workers/verificar_ctrc_ssw_jobs.py:337"}, "properties": {"repobilityId": "54a236d47434fc3a", "scanner": "scanner-primary", "fingerprint": "c0ea1071861f1ea3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-931e9ad42d1360ba", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/services/parsers/danfe_pdf_parser.py:287"}, "properties": {"repobilityId": "265e61c610c2fba6", "scanner": "scanner-primary", "fingerprint": "931e9ad42d1360ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd60d6bb34c1e9b6", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/services/parsers/importacao_service.py:318"}, "properties": {"repobilityId": "a2785c8018326a85", "scanner": "scanner-primary", "fingerprint": "bd60d6bb34c1e9b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84c5ebcb2d6908b3", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/services/parsers/fatura_pdf_parser.py:1084"}, "properties": {"repobilityId": "5822278bf7960c42", "scanner": "scanner-primary", "fingerprint": "84c5ebcb2d6908b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f489d1ad5335ce6a", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/services/parsers/dacte_pdf_parser.py:433"}, "properties": {"repobilityId": "032814358ebb8671", "scanner": "scanner-primary", "fingerprint": "f489d1ad5335ce6a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2e30b561417f6d6b", "level": "note", "message": {"text": "Legacy-named symbol `cnpj_old` in app/carvia/services/documentos/embarque_carvia_service.py:332"}, "properties": {"repobilityId": "bad90f76f108c74a", "scanner": "scanner-primary", "fingerprint": "2e30b561417f6d6b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1baadd96f77b1b58", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/services/documentos/embarque_carvia_service.py:139"}, "properties": {"repobilityId": "3caa13bd7d1c3858", "scanner": "scanner-primary", "fingerprint": "1baadd96f77b1b58", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-574690b2ab9567a6", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/services/documentos/carvia_frete_service.py:55"}, "properties": {"repobilityId": "f594a027ddedf79f", "scanner": "scanner-primary", "fingerprint": "574690b2ab9567a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e63b5621290a50fa", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/services/documentos/nf_transferencia_service.py:608"}, "properties": {"repobilityId": "2a8c1c3ddd1ae0ee", "scanner": "scanner-primary", "fingerprint": "e63b5621290a50fa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-df19bf60c174b9ee", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/services/documentos/linking_service.py:302"}, "properties": {"repobilityId": "809ee3a2c2dc96fe", "scanner": "scanner-primary", "fingerprint": "df19bf60c174b9ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-411d03af9ea803c2", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/carvia/services/admin/admin_service.py:580"}, "properties": {"repobilityId": "d615298dbe01da98", "scanner": "scanner-primary", "fingerprint": "411d03af9ea803c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-724281159c5cb704", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/services/financeiro/custo_entrega_fatura_service.py:128"}, "properties": {"repobilityId": "6635e1bbe6faecb9", "scanner": "scanner-primary", "fingerprint": "724281159c5cb704", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7aa1d95a8367a9f8", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/carvia/services/financeiro/carvia_historico_match_service.py:88"}, "properties": {"repobilityId": "836c63647921c36f", "scanner": "scanner-primary", "fingerprint": "7aa1d95a8367a9f8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7fa7e77717c63af", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/carvia/services/financeiro/carvia_conciliacao_service.py:328"}, "properties": {"repobilityId": "6664f603b78fddb9", "scanner": "scanner-primary", "fingerprint": "f7fa7e77717c63af", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5342347f27161f64", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/services/financeiro/previnculo_service.py:482"}, "properties": {"repobilityId": "c2f171979afdf1cb", "scanner": "scanner-primary", "fingerprint": "5342347f27161f64", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fba411f0415d4a7d", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/services/financeiro/conta_corrente_service.py:123"}, "properties": {"repobilityId": "ba52670836d1d00e", "scanner": "scanner-primary", "fingerprint": "fba411f0415d4a7d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2cf692df75970770", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/services/financeiro/carvia_pagamento_service.py:546"}, "properties": {"repobilityId": "8fab3887105e41ae", "scanner": "scanner-primary", "fingerprint": "2cf692df75970770", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dca185647ffcc8bd", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/services/financeiro/gerencial_service.py:297"}, "properties": {"repobilityId": "a2cd4f5cb50b43ef", "scanner": "scanner-primary", "fingerprint": "dca185647ffcc8bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c059db5ca2bea7fa", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carvia/services/financeiro/carvia_sugestao_service.py:146"}, "properties": {"repobilityId": "a1113db04af5ae5d", "scanner": "scanner-primary", "fingerprint": "c059db5ca2bea7fa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa8cdd6215fbcaea", "level": "note", "message": {"text": "Legacy-named symbol `valor_venda_old` in app/carvia/services/pricing/cotacao_v2_service.py:442"}, "properties": {"repobilityId": "7e51aa3b6d4449df", "scanner": "scanner-primary", "fingerprint": "fa8cdd6215fbcaea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-01f2ca70eed87dd6", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/inventario/models.py:177"}, "properties": {"repobilityId": "e248be800b598354", "scanner": "scanner-primary", "fingerprint": "01f2ca70eed87dd6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b70a7ddd527ed8d2", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/inventario/services/snapshot_odoo_service.py:151"}, "properties": {"repobilityId": "5afea2ef2dcb9c59", "scanner": "scanner-primary", "fingerprint": "b70a7ddd527ed8d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4e29b04a47b8ec2c", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/inventario/services/confronto_service.py:92"}, "properties": {"repobilityId": "817b6451264126b4", "scanner": "scanner-primary", "fingerprint": "4e29b04a47b8ec2c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b00012d48b88197", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/utils/sincronizar_entregas_carvia.py:209"}, "properties": {"repobilityId": "b6a52a6ff3ff7ee2", "scanner": "scanner-primary", "fingerprint": "7b00012d48b88197", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9968cc1b91f3e44", "level": "note", "message": {"text": "Legacy-named symbol `_calcular_pedagio_v2` in app/utils/calculadora_frete.py:150"}, "properties": {"repobilityId": "256257afd11bd38e", "scanner": "scanner-primary", "fingerprint": "a9968cc1b91f3e44", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b1c2a5114b1e82c5", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/utils/whatsapp_notify.py:62"}, "properties": {"repobilityId": "dab5c6003b1ff78b", "scanner": "scanner-primary", "fingerprint": "b1c2a5114b1e82c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee21425637ad09d7", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/utils/importacao/importar_vinculos_web.py:70"}, "properties": {"repobilityId": "df6d4ee1bfe205b9", "scanner": "scanner-primary", "fingerprint": "ee21425637ad09d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8d0049d73da65162", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/motochefe/services/extrato_financeiro_service.py:99"}, "properties": {"repobilityId": "33d22d4358145739", "scanner": "scanner-primary", "fingerprint": "8d0049d73da65162", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2433c59161c74136", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/chat/routes/message_routes.py:340"}, "properties": {"repobilityId": "60f89035078f17ac", "scanner": "scanner-primary", "fingerprint": "2433c59161c74136", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2283c12d9c0a31b3", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/teams/proactive.py:50"}, "properties": {"repobilityId": "b7869202473e7cf6", "scanner": "scanner-primary", "fingerprint": "2283c12d9c0a31b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2e387b7ca5a0778d", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/teams/services.py:25"}, "properties": {"repobilityId": "ab02a15c82c1ab52", "scanner": "scanner-primary", "fingerprint": "2e387b7ca5a0778d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a6b64293cc46b800", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/teams/models.py:64"}, "properties": {"repobilityId": "995eaca4ef08fd94", "scanner": "scanner-primary", "fingerprint": "a6b64293cc46b800", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bce7f1c0affba312", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/templates/carvia/js/cotacoes/detalhe.js:1003"}, "properties": {"repobilityId": "32468105744f357f", "scanner": "scanner-primary", "fingerprint": "bce7f1c0affba312", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7138af126734f4b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/cotacoes/detalhe.js:142"}, "properties": {"repobilityId": "5082db24bbc2d9d8", "scanner": "scanner-primary", "fingerprint": "f7138af126734f4b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c95310fcdb06a760", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/templates/carvia/js/cotacoes/criar.js:227"}, "properties": {"repobilityId": "a6d22e114655c26d", "scanner": "scanner-primary", "fingerprint": "c95310fcdb06a760", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c732f50d39a598d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/cotacoes/criar.js:13"}, "properties": {"repobilityId": "ea5dca6c12f33429", "scanner": "scanner-primary", "fingerprint": "3c732f50d39a598d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-93bd6ac94eff7381", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/importar/resultado.js:48"}, "properties": {"repobilityId": "37d8093fad7e1796", "scanner": "scanner-primary", "fingerprint": "93bd6ac94eff7381", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-726294b1ca506258", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/faturas_transportadora/visualizar.js:41"}, "properties": {"repobilityId": "4c65aeee94ec65bb", "scanner": "scanner-primary", "fingerprint": "726294b1ca506258", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5048dff4a60e964a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carvia/js/configuracoes/tabelas-frete.js:20"}, "properties": {"repobilityId": "82b182c710dfecd1", "scanner": "scanner-primary", "fingerprint": "5048dff4a60e964a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-359c7a6def2ae699", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/modal-pedido-detalhes.js:471"}, "properties": {"repobilityId": "5383798a9fd8f0de", "scanner": "scanner-primary", "fingerprint": "359c7a6def2ae699", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-685e51f4eb789ee5", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/templates/carteira/js/separacao-manager.js:214"}, "properties": {"repobilityId": "c4114c3cd1cd7a99", "scanner": "scanner-primary", "fingerprint": "685e51f4eb789ee5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-15db641d3fa3cce2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/separacao-manager.js:148"}, "properties": {"repobilityId": "81dfd057e7a00543", "scanner": "scanner-primary", "fingerprint": "15db641d3fa3cce2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-27f78d6afef48b01", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/templates/carteira/js/workspace-montagem.js:1711"}, "properties": {"repobilityId": "91c67ce81345677b", "scanner": "scanner-primary", "fingerprint": "27f78d6afef48b01", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d73de08fe7b55cc6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/workspace-montagem.js:765"}, "properties": {"repobilityId": "573a37bcb3af7c03", "scanner": "scanner-primary", "fingerprint": "d73de08fe7b55cc6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-be27bbfe0348627e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/modal-cardex.js:454"}, "properties": {"repobilityId": "8eb03ba9681b16d0", "scanner": "scanner-primary", "fingerprint": "be27bbfe0348627e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-653142bc7443cd06", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/modal-cardex-expandido.js:83"}, "properties": {"repobilityId": "4ac368310991d265", "scanner": "scanner-primary", "fingerprint": "653142bc7443cd06", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c92aa614b33c1549", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/ruptura-estoque.js:407"}, "properties": {"repobilityId": "6c10f7587b0a0a0e", "scanner": "scanner-primary", "fingerprint": "c92aa614b33c1549", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5df8bf73b722327b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/carteira-agrupada.js:1063"}, "properties": {"repobilityId": "2ed8a886a396afd9", "scanner": "scanner-primary", "fingerprint": "5df8bf73b722327b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8d26fc2e0a7d882e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:92"}, "properties": {"repobilityId": "b3d7d056917b29b1", "scanner": "scanner-primary", "fingerprint": "8d26fc2e0a7d882e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-214c3186bb2698b9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/agendamento/sendas/portal-sendas.js:54"}, "properties": {"repobilityId": "c59b8d3d4b55a9c1", "scanner": "scanner-primary", "fingerprint": "214c3186bb2698b9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-83f51494c8879106", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/templates/carteira/js/workspace/workspace-api.js:97"}, "properties": {"repobilityId": "eb400776243f1aaa", "scanner": "scanner-primary", "fingerprint": "83f51494c8879106", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-00204d303f4ee469", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/hora/models/cadastro.py:108"}, "properties": {"repobilityId": "6be3b16f14e17c79", "scanner": "scanner-primary", "fingerprint": "00204d303f4ee469", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b6eb590cba48c31", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/hora/models/tagplus.py:127"}, "properties": {"repobilityId": "57dcb5f5394b589e", "scanner": "scanner-primary", "fingerprint": "1b6eb590cba48c31", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-11448343d4e9a086", "level": "note", "message": {"text": "Legacy-named symbol `danfe_pdf_parser_v1` in app/hora/models/venda.py:158"}, "properties": {"repobilityId": "b4db24a220f9517b", "scanner": "scanner-primary", "fingerprint": "11448343d4e9a086", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5eb5272e40847edd", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/hora/models/venda.py:98"}, "properties": {"repobilityId": "97d2fbc49aa3bf9b", "scanner": "scanner-primary", "fingerprint": "5eb5272e40847edd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eff305da3916a9c5", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/hora/models/recebimento.py:223"}, "properties": {"repobilityId": "fe9c17c59d4ae4f5", "scanner": "scanner-primary", "fingerprint": "eff305da3916a9c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e3882a80a336395", "level": "note", "message": {"text": "Legacy-named symbol `danfe_pdf_parser_v1` in app/hora/models/compra.py:151"}, "properties": {"repobilityId": "c6f2cea2c2b96a29", "scanner": "scanner-primary", "fingerprint": "0e3882a80a336395", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e9cdf028d9979968", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/hora/models/compra.py:36"}, "properties": {"repobilityId": "5386240759855e49", "scanner": "scanner-primary", "fingerprint": "e9cdf028d9979968", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-443d2d0102277d80", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/hora/models/permissao.py:45"}, "properties": {"repobilityId": "80ea22d0fec8d358", "scanner": "scanner-primary", "fingerprint": "443d2d0102277d80", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b89a87af158dba94", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/hora/routes/permissoes.py:50"}, "properties": {"repobilityId": "e8e5c89fddf4f0a2", "scanner": "scanner-primary", "fingerprint": "b89a87af158dba94", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-05aa6e0b7558259a", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/hora/routes/tagplus_routes.py:1160"}, "properties": {"repobilityId": "f8988a880ad57813", "scanner": "scanner-primary", "fingerprint": "05aa6e0b7558259a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-676bdd6dd175bf4a", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/hora/routes/pedidos.py:220"}, "properties": {"repobilityId": "1fe9731fe1d84865", "scanner": "scanner-primary", "fingerprint": "676bdd6dd175bf4a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27be75ac1636ec48", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/hora/routes/recebimentos.py:119"}, "properties": {"repobilityId": "ee0dae4ab57d4243", "scanner": "scanner-primary", "fingerprint": "27be75ac1636ec48", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73dc00b01470c6b2", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/hora/workers/emissao_nfe_worker.py:107"}, "properties": {"repobilityId": "f1557f7d6374a4bf", "scanner": "scanner-primary", "fingerprint": "73dc00b01470c6b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76510b2a21513a9b", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/hora/workers/reconciliacao_worker.py:32"}, "properties": {"repobilityId": "48706f6f66f64157", "scanner": "scanner-primary", "fingerprint": "76510b2a21513a9b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-debe4c6791477689", "level": "note", "message": {"text": "Legacy-named symbol `danfe_pdf_parser_v1` in app/hora/services/nf_entrada_service.py:157"}, "properties": {"repobilityId": "90a569f2da1c89ec", "scanner": "scanner-primary", "fingerprint": "debe4c6791477689", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e8c9762a271ebe66", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/hora/services/nf_entrada_service.py:138"}, "properties": {"repobilityId": "5f5c9847278136bc", "scanner": "scanner-primary", "fingerprint": "e8c9762a271ebe66", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a846292967af9957", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/hora/services/estoque_service.py:31"}, "properties": {"repobilityId": "e056e87ba73199c1", "scanner": "scanner-primary", "fingerprint": "a846292967af9957", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-edbec4f8f1471709", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/hora/services/modelo_retroatividade_service.py:82"}, "properties": {"repobilityId": "5946b91bc1b059b9", "scanner": "scanner-primary", "fingerprint": "edbec4f8f1471709", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae98c2ffe4ae962d", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/hora/services/devolucao_venda_service.py:316"}, "properties": {"repobilityId": "1f5cbbeaec946cea", "scanner": "scanner-primary", "fingerprint": "ae98c2ffe4ae962d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ccd9bc1bbd1448da", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/hora/services/venda_audit.py:54"}, "properties": {"repobilityId": "b74a1641a4e355ae", "scanner": "scanner-primary", "fingerprint": "ccd9bc1bbd1448da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-338f169de5c56bcc", "level": "note", "message": {"text": "Legacy-named symbol `forma_legacy` in app/hora/services/venda_service.py:783"}, "properties": {"repobilityId": "18b64ea424d9f9cd", "scanner": "scanner-primary", "fingerprint": "338f169de5c56bcc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ade62a9732bdd780", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/hora/services/venda_service.py:136"}, "properties": {"repobilityId": "1e66b42353889973", "scanner": "scanner-primary", "fingerprint": "ade62a9732bdd780", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d6049577eef10da8", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/hora/services/pedido_service.py:813"}, "properties": {"repobilityId": "04d0f716e04e57cc", "scanner": "scanner-primary", "fingerprint": "d6049577eef10da8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-90708757e3190605", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/hora/services/parser_append_service.py:41"}, "properties": {"repobilityId": "e7f47fa18d4c3ea0", "scanner": "scanner-primary", "fingerprint": "90708757e3190605", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa04a698664e6a9d", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/hora/services/recebimento_service.py:390"}, "properties": {"repobilityId": "c9cc5b81463a7c3f", "scanner": "scanner-primary", "fingerprint": "aa04a698664e6a9d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e83ca9ec47e7b1fc", "level": "note", "message": {"text": "Legacy-named symbol `danfe_pdf_parser_v1` in app/hora/services/parsers/danfe_adapter.py:83"}, "properties": {"repobilityId": "224dc6fdcf366042", "scanner": "scanner-primary", "fingerprint": "e83ca9ec47e7b1fc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b8f99dd176f8c4c3", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/hora/services/parsers/danfe_adapter.py:196"}, "properties": {"repobilityId": "4aff4457cd50763f", "scanner": "scanner-primary", "fingerprint": "b8f99dd176f8c4c3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-66f9263807019681", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/hora/services/tagplus/api_client.py:25"}, "properties": {"repobilityId": "2e95f07d05ef9444", "scanner": "scanner-primary", "fingerprint": "66f9263807019681", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f954c05533a9ae7f", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/hora/services/tagplus/pedido_backfill_service.py:510"}, "properties": {"repobilityId": "525cc7ad183a18bf", "scanner": "scanner-primary", "fingerprint": "f954c05533a9ae7f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22c7149b51c0bb48", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/hora/services/tagplus/webhook_handler.py:106"}, "properties": {"repobilityId": "b1b05a376ca564c5", "scanner": "scanner-primary", "fingerprint": "22c7149b51c0bb48", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e903281534c0fb52", "level": "note", "message": {"text": "Legacy-named symbol `pagamento_misto_legacy` in app/hora/services/tagplus/payload_builder.py:89"}, "properties": {"repobilityId": "6078826158cb5feb", "scanner": "scanner-primary", "fingerprint": "e903281534c0fb52", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-74009ceece1c0442", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/hora/services/tagplus/payload_builder.py:132"}, "properties": {"repobilityId": "6c13f9d790f89811", "scanner": "scanner-primary", "fingerprint": "74009ceece1c0442", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4200a357abb4232c", "level": "note", "message": {"text": "Legacy-named symbol `oauth2_v2` in app/hora/services/tagplus/oauth_client.py:1"}, "properties": {"repobilityId": "92674c350fb8a552", "scanner": "scanner-primary", "fingerprint": "4200a357abb4232c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5223fcd4444daa75", "level": "note", "message": {"text": "Legacy-named symbol `tagplus_api_v1` in app/hora/services/tagplus/backfill_service.py:949"}, "properties": {"repobilityId": "1289adb1f345a2ed", "scanner": "scanner-primary", "fingerprint": "5223fcd4444daa75", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-68174ffde68e373a", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/hora/services/tagplus/backfill_service.py:128"}, "properties": {"repobilityId": "b81ea3b2a8609c67", "scanner": "scanner-primary", "fingerprint": "68174ffde68e373a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6774a95dafb04a79", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/models.py:401"}, "properties": {"repobilityId": "c505e4ea90548ad0", "scanner": "scanner-primary", "fingerprint": "6774a95dafb04a79", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ebe753be0d318456", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/config/feature_flags.py:14"}, "properties": {"repobilityId": "6e3d0f460114edaf", "scanner": "scanner-primary", "fingerprint": "ebe753be0d318456", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-98c024912e9789cf", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/config/settings.py:50"}, "properties": {"repobilityId": "f7c5374038ca22d1", "scanner": "scanner-primary", "fingerprint": "98c024912e9789cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2abda2fea8089b02", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/agente/config/permissions.py:255"}, "properties": {"repobilityId": "9224b25b4677ff23", "scanner": "scanner-primary", "fingerprint": "2abda2fea8089b02", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c66519a42ee788ca", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/config/agent_loader.py:397"}, "properties": {"repobilityId": "4ced1281d3eff4df", "scanner": "scanner-primary", "fingerprint": "c66519a42ee788ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e144c576b84df8fc", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/routes/subagents.py:450"}, "properties": {"repobilityId": "216833fc1b8404ca", "scanner": "scanner-primary", "fingerprint": "e144c576b84df8fc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c217a89cbbc52ca", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/routes/admin_subagents.py:26"}, "properties": {"repobilityId": "0421adeb9ae83f5d", "scanner": "scanner-primary", "fingerprint": "2c217a89cbbc52ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf9ce841dae0d2f5", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/agente/routes/_constants.py:10"}, "properties": {"repobilityId": "3454cdb56e201706", "scanner": "scanner-primary", "fingerprint": "cf9ce841dae0d2f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f5b297b45cbbd3a", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/routes/chat.py:101"}, "properties": {"repobilityId": "9861c66b24ab4bc4", "scanner": "scanner-primary", "fingerprint": "6f5b297b45cbbd3a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a064df80e53b3b20", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/agente/routes/_helpers.py:198"}, "properties": {"repobilityId": "16a719fca2833a32", "scanner": "scanner-primary", "fingerprint": "a064df80e53b3b20", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d8d8e688ce979c7", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/agente/routes/sessions.py:389"}, "properties": {"repobilityId": "0f6e7e9c109c6e27", "scanner": "scanner-primary", "fingerprint": "1d8d8e688ce979c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ecd014e91a701264", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/agente/workers/step_judge.py:279"}, "properties": {"repobilityId": "3597c16eeff486bd", "scanner": "scanner-primary", "fingerprint": "ecd014e91a701264", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-08835474391de816", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/agente/workers/triage_shadow.py:164"}, "properties": {"repobilityId": "6d2a3e146b3d69e2", "scanner": "scanner-primary", "fingerprint": "08835474391de816", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-25697d136d0c3ebd", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/agente/workers/plan_verifier.py:306"}, "properties": {"repobilityId": "caebca4fac345fcf", "scanner": "scanner-primary", "fingerprint": "25697d136d0c3ebd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-67abfb06b306ff9f", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/services/metrics_dashboard_service.py:228"}, "properties": {"repobilityId": "592c35ef7838b94d", "scanner": "scanner-primary", "fingerprint": "67abfb06b306ff9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-34ddd9cbecec9cd1", "level": "note", "message": {"text": "Legacy-named symbol `words_old` in app/agente/services/pattern_analyzer.py:1907"}, "properties": {"repobilityId": "4257591540faccdd", "scanner": "scanner-primary", "fingerprint": "34ddd9cbecec9cd1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ca50a026288ec44d", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/agente/services/pattern_analyzer.py:879"}, "properties": {"repobilityId": "9d499e14f613dbc8", "scanner": "scanner-primary", "fingerprint": "ca50a026288ec44d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3e274e8a453a7c30", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/services/artifact_service.py:164"}, "properties": {"repobilityId": "02603fc7e6dba0df", "scanner": "scanner-primary", "fingerprint": "3e274e8a453a7c30", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6bf0eaf1e39840ec", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/services/session_summarizer.py:71"}, "properties": {"repobilityId": "a239bfff49177047", "scanner": "scanner-primary", "fingerprint": "6bf0eaf1e39840ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1f5d8b195403cede", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/services/insights_service.py:1768"}, "properties": {"repobilityId": "aaa030d8b826ac23", "scanner": "scanner-primary", "fingerprint": "1f5d8b195403cede", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3273ba3ecaa4a1e9", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/services/intersession_briefing.py:85"}, "properties": {"repobilityId": "64d6a38f0aeeef22", "scanner": "scanner-primary", "fingerprint": "3273ba3ecaa4a1e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e829e5c6c735c688", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/services/directive_promotion_service.py:857"}, "properties": {"repobilityId": "fc3813f939848040", "scanner": "scanner-primary", "fingerprint": "e829e5c6c735c688", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a1efbb0cc1405adf", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/tools/memory_mcp_tool.py:35"}, "properties": {"repobilityId": "d0cf10fd03f7c363", "scanner": "scanner-primary", "fingerprint": "a1efbb0cc1405adf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e9b9160feb8eb5a2", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/agente/tools/ontology_query_tool.py:196"}, "properties": {"repobilityId": "afcf4dccb0478ba5", "scanner": "scanner-primary", "fingerprint": "e9b9160feb8eb5a2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f1660dcab23bc39a", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 app/agente/tools/render_logs_tool.py:216"}, "properties": {"repobilityId": "d3ca66108a26c762", "scanner": "scanner-primary", "fingerprint": "f1660dcab23bc39a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ce0626f8d0568041", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente/tools/_mcp_enhanced.py:338"}, "properties": {"repobilityId": "dd862dc3086367a0", "scanner": "scanner-primary", "fingerprint": "ce0626f8d0568041", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c62cd4881309674", "level": "note", "message": {"text": "Legacy-named symbol `rules_block_tail_legacy` in app/agente/sdk/memory_injection.py:1221"}, "properties": {"repobilityId": "13aba36aebbe0730", "scanner": "scanner-primary", "fingerprint": "6c62cd4881309674", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-eeb51016662935b7", "level": "none", "message": {"text": "Commented-code block (15 lines) in app/agente/sdk/memory_injection.py:38"}, "properties": {"repobilityId": "ad12ba635617e690", "scanner": "scanner-primary", "fingerprint": "eeb51016662935b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0459e04de72e54f9", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/agente/sdk/client.py:48"}, "properties": {"repobilityId": "db77f307d1081a41", "scanner": "scanner-primary", "fingerprint": "0459e04de72e54f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ff955c161756be2", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/agente/sdk/session_archive.py:110"}, "properties": {"repobilityId": "200ef6b6f76850fe", "scanner": "scanner-primary", "fingerprint": "0ff955c161756be2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68523080b6335fbd", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/agente/sdk/model_router.py:39"}, "properties": {"repobilityId": "2cdd31b1dddffad8", "scanner": "scanner-primary", "fingerprint": "68523080b6335fbd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4d26133831c5067", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/agente/sdk/cost_tracker.py:243"}, "properties": {"repobilityId": "9ce7f786f36ff145", "scanner": "scanner-primary", "fingerprint": "c4d26133831c5067", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe5a5bf3662f4c5b", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/agente/sdk/_sanitization.py:24"}, "properties": {"repobilityId": "b267c18442d4af96", "scanner": "scanner-primary", "fingerprint": "fe5a5bf3662f4c5b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55a3c786c17cebda", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/agente/sdk/session_store_adapter.py:76"}, "properties": {"repobilityId": "e54abde98e59da9a", "scanner": "scanner-primary", "fingerprint": "55a3c786c17cebda", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-837f2b833409dbc3", "level": "none", "message": {"text": "Commented-code block (10 lines) in app/agente/sdk/pending_questions.py:62"}, "properties": {"repobilityId": "11f3e0b152699f21", "scanner": "scanner-primary", "fingerprint": "837f2b833409dbc3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1694698af606e0b1", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/agente/sdk/hooks.py:313"}, "properties": {"repobilityId": "e0b8aa724ec8ed56", "scanner": "scanner-primary", "fingerprint": "1694698af606e0b1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-46c47da768ad2980", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/agente/sdk/subagent_reader.py:312"}, "properties": {"repobilityId": "06c04c3f2167fc90", "scanner": "scanner-primary", "fingerprint": "46c47da768ad2980", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30098ac4404a1c12", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/agente/sdk/client_pool.py:158"}, "properties": {"repobilityId": "f87336d2d1f3fa05", "scanner": "scanner-primary", "fingerprint": "30098ac4404a1c12", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-afa0708eeee835a1", "level": "note", "message": {"text": "Legacy-named symbol `list_objects_v2` in app/relatorios_fiscais/services/sped_ecd_service.py:474"}, "properties": {"repobilityId": "d44b87d124aa922f", "scanner": "scanner-primary", "fingerprint": "afa0708eeee835a1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0c98a27a714be403", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/relatorios_fiscais/services/sped_ecd_service.py:113"}, "properties": {"repobilityId": "0ba7d78e3271896b", "scanner": "scanner-primary", "fingerprint": "0c98a27a714be403", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2e982b3111a60cad", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/relatorios_fiscais/services/sped_ecd_validator.py:370"}, "properties": {"repobilityId": "215026290df36853", "scanner": "scanner-primary", "fingerprint": "2e982b3111a60cad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f75ecf4700c79ce", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/relatorios_fiscais/services/sped_ecd_constantes.py:66"}, "properties": {"repobilityId": "1d2406adeeb77be1", "scanner": "scanner-primary", "fingerprint": "6f75ecf4700c79ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-97ec521f7fb5743a", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/relatorios_fiscais/services/sped_ecd_data.py:1253"}, "properties": {"repobilityId": "10b4bdf71fcc41c0", "scanner": "scanner-primary", "fingerprint": "97ec521f7fb5743a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d68e32021ca18ae5", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/relatorios_fiscais/services/sped_ecd_blocks.py:326"}, "properties": {"repobilityId": "69fd2c0f1b333625", "scanner": "scanner-primary", "fingerprint": "d68e32021ca18ae5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5b1e2df104a0188d", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/embeddings/config.py:20"}, "properties": {"repobilityId": "1d2f336da8c5c192", "scanner": "scanner-primary", "fingerprint": "5b1e2df104a0188d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4a64cdc8b118159", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/embeddings/service.py:841"}, "properties": {"repobilityId": "f52c1b60f94707dd", "scanner": "scanner-primary", "fingerprint": "c4a64cdc8b118159", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-37c2c7833609330e", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/embeddings/indexers/route_template_indexer.py:383"}, "properties": {"repobilityId": "50cc7cf904e2420a", "scanner": "scanner-primary", "fingerprint": "37c2c7833609330e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31bf375eaf263153", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/embeddings/indexers/sped_ecd_rules_indexer.py:56"}, "properties": {"repobilityId": "46a593fd952b7ae6", "scanner": "scanner-primary", "fingerprint": "31bf375eaf263153", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b119c8b320016e87", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/agente_lojas/routes/chat.py:233"}, "properties": {"repobilityId": "dd84c658b4d4ca0e", "scanner": "scanner-primary", "fingerprint": "b119c8b320016e87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-07e18c2334cfcd14", "level": "none", "message": {"text": "Commented-code block (9 lines) in app/agente_lojas/sdk/client.py:76"}, "properties": {"repobilityId": "96fba1cf15a6f7e4", "scanner": "scanner-primary", "fingerprint": "07e18c2334cfcd14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99042f6604513635", "level": "note", "message": {"text": "Legacy-named symbol `marcadores_v2` in app/financeiro/leitor_comprovantes_sicoob.py:302"}, "properties": {"repobilityId": "4a9d2e625ad64095", "scanner": "scanner-primary", "fingerprint": "99042f6604513635", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2d122ad8b1259b22", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/financeiro/models.py:360"}, "properties": {"repobilityId": "5d4444683a64c1e3", "scanner": "scanner-primary", "fingerprint": "2d122ad8b1259b22", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2adc1c55d946df65", "level": "note", "message": {"text": "Legacy-named symbol `remover_pagamentos_v2` in app/financeiro/remover_pagamentos_v2.py:10"}, "properties": {"repobilityId": "863d78b8f4fda36f", "scanner": "scanner-primary", "fingerprint": "2adc1c55d946df65", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-98ff5dceadb95af8", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/financeiro/routes/baixas.py:295"}, "properties": {"repobilityId": "949f6034b8987472", "scanner": "scanner-primary", "fingerprint": "98ff5dceadb95af8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fcfc79538f495138", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/financeiro/services/cnab400_processor_service.py:132"}, "properties": {"repobilityId": "2cc244f43eb61e27", "scanner": "scanner-primary", "fingerprint": "fcfc79538f495138", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40be3db02b91a210", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/financeiro/services/extrato_conciliacao_service.py:743"}, "properties": {"repobilityId": "9e74996d0fd2620e", "scanner": "scanner-primary", "fingerprint": "40be3db02b91a210", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-241460eff1af24aa", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/financeiro/services/extrato_matching_service.py:1227"}, "properties": {"repobilityId": "30059ba76073370c", "scanner": "scanner-primary", "fingerprint": "241460eff1af24aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f8b7ea1dbbb60fc", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/financeiro/services/pagamento_matching_service.py:751"}, "properties": {"repobilityId": "c93e90c0f14c4ad1", "scanner": "scanner-primary", "fingerprint": "6f8b7ea1dbbb60fc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38b81c8756750964", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/financeiro/services/ofx_parser_service.py:19"}, "properties": {"repobilityId": "f15f76450dc7ee7b", "scanner": "scanner-primary", "fingerprint": "38b81c8756750964", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff0cd40977740991", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/financeiro/services/baixa_pagamentos_service.py:1130"}, "properties": {"repobilityId": "0e0dadad0817de25", "scanner": "scanner-primary", "fingerprint": "ff0cd40977740991", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c03774a0ed02eb65", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/financeiro/services/contas_receber_service.py:157"}, "properties": {"repobilityId": "f526c26483ce4990", "scanner": "scanner-primary", "fingerprint": "c03774a0ed02eb65", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e8df6dfacd388cf4", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/financeiro/services/baixa_titulos_service.py:1084"}, "properties": {"repobilityId": "8c8e2c7074f2d222", "scanner": "scanner-primary", "fingerprint": "e8df6dfacd388cf4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c2a81e07eba858b0", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/fretes/routes.py:75"}, "properties": {"repobilityId": "41dd7dcfc3970ced", "scanner": "scanner-primary", "fingerprint": "c2a81e07eba858b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a08694d4f1c708ef", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/fretes/models.py:5"}, "properties": {"repobilityId": "2dc3c45e47f290de", "scanner": "scanner-primary", "fingerprint": "a08694d4f1c708ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d57a79c6d4f4faa2", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/fretes/services/lancamento_odoo_service.py:2094"}, "properties": {"repobilityId": "4f4afcc123af0de5", "scanner": "scanner-primary", "fingerprint": "d57a79c6d4f4faa2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a425c67f6b34e30", "level": "note", "message": {"text": "Legacy-named symbol `valores_backup` in app/fretes/services/lancamento_despesa_odoo_service.py:966"}, "properties": {"repobilityId": "e5e44c722db1503a", "scanner": "scanner-primary", "fingerprint": "1a425c67f6b34e30", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-16d0d983397b845a", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/fretes/jobs/cte_cancelamento_outlook_job.py:195"}, "properties": {"repobilityId": "362fe14fd0731128", "scanner": "scanner-primary", "fingerprint": "16d0d983397b845a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd008330ceaaa334", "level": "note", "message": {"text": "Legacy-named symbol `_baixa_produto_pedido_old` in app/carteira/models.py:223"}, "properties": {"repobilityId": "0e0ec37198fce3af", "scanner": "scanner-primary", "fingerprint": "cd008330ceaaa334", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-956985c0fb721808", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/carteira/models.py:484"}, "properties": {"repobilityId": "b10b4d9327d3fbd1", "scanner": "scanner-primary", "fingerprint": "956985c0fb721808", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d9f5c9ae074dac4", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/carteira/routes/programacao_em_lote/importar_agendamentos.py:495"}, "properties": {"repobilityId": "e8b785e8be8e940a", "scanner": "scanner-primary", "fingerprint": "7d9f5c9ae074dac4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b4c87230efc86388", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carteira/routes/carteira_simples/dados_api.py:96"}, "properties": {"repobilityId": "f95cc158e1bf2a2b", "scanner": "scanner-primary", "fingerprint": "b4c87230efc86388", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-83a218027b58a10c", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/carteira/routes/carteira_simples/separacao_api.py:554"}, "properties": {"repobilityId": "a61e20dcd9479186", "scanner": "scanner-primary", "fingerprint": "83a218027b58a10c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-226e763b8eff677e", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/pallet/models/nf_solucao.py:52"}, "properties": {"repobilityId": "a1b55d0f9ae03865", "scanner": "scanner-primary", "fingerprint": "226e763b8eff677e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-af579fcac31c47cf", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/pallet/models/solucao.py:44"}, "properties": {"repobilityId": "88ccb0847051dae1", "scanner": "scanner-primary", "fingerprint": "af579fcac31c47cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87e5b71a4bef17f6", "level": "note", "message": {"text": "Legacy-named symbol `pallet_v2` in app/pallet/routes/__init__.py:31"}, "properties": {"repobilityId": "e5f5f5c059c30055", "scanner": "scanner-primary", "fingerprint": "87e5b71a4bef17f6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f03ab4842db8834f", "level": "note", "message": {"text": "Legacy-named symbol `pallet_v2` in app/pallet/routes/nf_remessa.py:180"}, "properties": {"repobilityId": "b1b965edc5f932f2", "scanner": "scanner-primary", "fingerprint": "f03ab4842db8834f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e3ea7f19e1e98f92", "level": "note", "message": {"text": "Legacy-named symbol `pallet_v2` in app/pallet/routes/tratativa_nfs.py:437"}, "properties": {"repobilityId": "3f62394059dbc5b2", "scanner": "scanner-primary", "fingerprint": "e3ea7f19e1e98f92", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4b2e3d91e63622e3", "level": "note", "message": {"text": "Legacy-named symbol `pallet_v2` in app/pallet/routes/controle_pallets.py:316"}, "properties": {"repobilityId": "63bad00cf759df76", "scanner": "scanner-primary", "fingerprint": "4b2e3d91e63622e3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1a2b1c675410ed92", "level": "note", "message": {"text": "Legacy-named symbol `e_v2` in app/pallet/services/sync_odoo_service.py:292"}, "properties": {"repobilityId": "211ef99cbd4e8d8b", "scanner": "scanner-primary", "fingerprint": "1a2b1c675410ed92", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4dab223e0f851a77", "level": "note", "message": {"text": "Legacy-named symbol `transferir_v2` in app/estoque/transferencia_estoque_routes.py:4"}, "properties": {"repobilityId": "af9f921c18f318bf", "scanner": "scanner-primary", "fingerprint": "4dab223e0f851a77", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dcd66d4c4faa2231", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/portal/sendas/service_exportacao_sendas.py:310"}, "properties": {"repobilityId": "d53b5f93fad12eed", "scanner": "scanner-primary", "fingerprint": "dcd66d4c4faa2231", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a474ebca5259e374", "level": "none", "message": {"text": "Commented-code block (9 lines) in app/pedidos/integracao_odoo/models.py:228"}, "properties": {"repobilityId": "9c6a0a7752824209", "scanner": "scanner-primary", "fingerprint": "a474ebca5259e374", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00ae16523ce9df1d", "level": "note", "message": {"text": "Legacy-named symbol `lote_id_backup` in app/pedidos/routes/edit_routes.py:479"}, "properties": {"repobilityId": "f6848875908096ff", "scanner": "scanner-primary", "fingerprint": "00ae16523ce9df1d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b4a4fd1f2b806f07", "level": "note", "message": {"text": "Legacy-named symbol `pedido_id_old` in app/pedidos/routes/cotacao_routes.py:179"}, "properties": {"repobilityId": "2c2374cf4f64fb53", "scanner": "scanner-primary", "fingerprint": "b4a4fd1f2b806f07", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4e1bc4f0424d214d", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/pedidos/routes/lista_routes.py:94"}, "properties": {"repobilityId": "467dc7188b183d74", "scanner": "scanner-primary", "fingerprint": "4e1bc4f0424d214d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d00aa64ef3bab211", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/pedidos/leitura/routes.py:178"}, "properties": {"repobilityId": "20a9dcd47d9d5d3a", "scanner": "scanner-primary", "fingerprint": "d00aa64ef3bab211", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-704b9c99fa2f3558", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/pedidos/leitura/atacadao_pedido_v2.py:35"}, "properties": {"repobilityId": "d0c271375be08941", "scanner": "scanner-primary", "fingerprint": "704b9c99fa2f3558", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-959147c149b5b35a", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/pedidos/leitura/atacadao_pedido.py:344"}, "properties": {"repobilityId": "5fe2c35885f660b3", "scanner": "scanner-primary", "fingerprint": "959147c149b5b35a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9011ea5424f5fa90", "level": "note", "message": {"text": "Legacy-named symbol `atacadao_pedido_v2` in app/pedidos/leitura/processor.py:118"}, "properties": {"repobilityId": "8f65d44a7a9a9c57", "scanner": "scanner-primary", "fingerprint": "9011ea5424f5fa90", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0cc9514dbfc7deb1", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/pedidos/leitura/processor.py:50"}, "properties": {"repobilityId": "6e5fc0ddf78d5dac", "scanner": "scanner-primary", "fingerprint": "0cc9514dbfc7deb1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-24e44566cbd70c4e", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/pedidos/leitura/identificador.py:66"}, "properties": {"repobilityId": "db5042d5c283d3fe", "scanner": "scanner-primary", "fingerprint": "24e44566cbd70c4e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f539088de5718158", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/pedidos/services/lista_service.py:478"}, "properties": {"repobilityId": "f5a0bc5770ffd003", "scanner": "scanner-primary", "fingerprint": "f539088de5718158", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-67b76e2b7496fec0", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/cotacao/routes.py:1653"}, "properties": {"repobilityId": "ac28fa8c17147d80", "scanner": "scanner-primary", "fingerprint": "67b76e2b7496fec0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ef0d46b169b4639", "level": "note", "message": {"text": "Legacy-named symbol `pedido_id_old` in app/cotacao/models.py:66"}, "properties": {"repobilityId": "d45da087e08acba3", "scanner": "scanner-primary", "fingerprint": "8ef0d46b169b4639", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-093c3662c9bd3724", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/motos_assai/models/devolucao.py:106"}, "properties": {"repobilityId": "3d0e60f71b7f3a2f", "scanner": "scanner-primary", "fingerprint": "093c3662c9bd3724", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0846fda636134852", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/motos_assai/routes/divergencias.py:426"}, "properties": {"repobilityId": "53c5692e0c51a4c4", "scanner": "scanner-primary", "fingerprint": "0846fda636134852", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22bfa1743d6ef3b3", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/motos_assai/routes/montagem.py:58"}, "properties": {"repobilityId": "a83e12bb2d563c6a", "scanner": "scanner-primary", "fingerprint": "22bfa1743d6ef3b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c30c3a36a5bb94bc", "level": "note", "message": {"text": "Legacy-named symbol `excel_v1` in app/motos_assai/routes/faturamento.py:408"}, "properties": {"repobilityId": "a3e8acd12ab64641", "scanner": "scanner-primary", "fingerprint": "c30c3a36a5bb94bc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-85940878b62a2b9a", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/motos_assai/services/carregamento_service.py:148"}, "properties": {"repobilityId": "3f4076646494407b", "scanner": "scanner-primary", "fingerprint": "85940878b62a2b9a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de59f45528358f06", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/motos_assai/services/cce_service.py:278"}, "properties": {"repobilityId": "7437094e67119783", "scanner": "scanner-primary", "fingerprint": "de59f45528358f06", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-079d7e283011c984", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/motos_assai/services/cancelamento_nf_service.py:156"}, "properties": {"repobilityId": "903cc0fcc1e59e73", "scanner": "scanner-primary", "fingerprint": "079d7e283011c984", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93bfb99934f9e17c", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/motos_assai/services/recibo_service.py:51"}, "properties": {"repobilityId": "4fcb54a468bc26bc", "scanner": "scanner-primary", "fingerprint": "93bfb99934f9e17c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30b6617aad1a6e7e", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/motos_assai/services/pedido_status_service.py:88"}, "properties": {"repobilityId": "8cd8e45c105adad5", "scanner": "scanner-primary", "fingerprint": "30b6617aad1a6e7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dd00106ef3a02960", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/motos_assai/services/separacao_mirror_service.py:530"}, "properties": {"repobilityId": "656d8b53e466a600", "scanner": "scanner-primary", "fingerprint": "dd00106ef3a02960", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a36d3f06485fb8f", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/motos_assai/services/separacao_service.py:468"}, "properties": {"repobilityId": "b2d8a38fe6b2f8ed", "scanner": "scanner-primary", "fingerprint": "5a36d3f06485fb8f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e48b7c1eb731c709", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/motos_assai/services/parsers/nf_qpa_adapter.py:49"}, "properties": {"repobilityId": "fcdd47bcbb0455ed", "scanner": "scanner-primary", "fingerprint": "e48b7c1eb731c709", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ce8d14490e3fdcf", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/recebimento/models.py:585"}, "properties": {"repobilityId": "cc96f46884a25d1f", "scanner": "scanner-primary", "fingerprint": "7ce8d14490e3fdcf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bdfdafa180eaa1ad", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/recebimento/services/validacao_nf_po_service.py:250"}, "properties": {"repobilityId": "9be915d3da3de088", "scanner": "scanner-primary", "fingerprint": "bdfdafa180eaa1ad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10f24f2c9561e4b7", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/recebimento/services/nf_transferencia_service.py:128"}, "properties": {"repobilityId": "8b1a5e55ec3d8d21", "scanner": "scanner-primary", "fingerprint": "10f24f2c9561e4b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ae6a919331d2953", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/recebimento/services/depara_service.py:879"}, "properties": {"repobilityId": "517bcacdb742d66c", "scanner": "scanner-primary", "fingerprint": "8ae6a919331d2953", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a4277337b8be5f7", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/recebimento/services/recebimento_lf_odoo_service.py:4085"}, "properties": {"repobilityId": "272f63ac8e415ed3", "scanner": "scanner-primary", "fingerprint": "2a4277337b8be5f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab39c798f18231f8", "level": "note", "message": {"text": "Stub function `fire_noop` (body is just `pass`/`return`) \u2014 app/recebimento/services/recebimento_lf_odoo_service.py:2625"}, "properties": {"repobilityId": "46e7e1d848fbc1da", "scanner": "scanner-primary", "fingerprint": "ab39c798f18231f8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-55aa389fc89dfc1a", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/recebimento/services/picking_recebimento_sync_service.py:665"}, "properties": {"repobilityId": "5f6d16d78450a15c", "scanner": "scanner-primary", "fingerprint": "55aa389fc89dfc1a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5fc151bf4fc95468", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/recebimento/services/recebimento_fisico_odoo_service.py:384"}, "properties": {"repobilityId": "b08779c909ee890e", "scanner": "scanner-primary", "fingerprint": "5fc151bf4fc95468", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c9235312f9c8ee13", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/manufatura/routes/analise_producao_routes.py:827"}, "properties": {"repobilityId": "606a4bb85680482c", "scanner": "scanner-primary", "fingerprint": "c9235312f9c8ee13", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55002d92e7414813", "level": "note", "message": {"text": "Legacy-named symbol `projetar_componentes_consolidado_v2` in app/manufatura/routes/projecao_estoque_routes.py:123"}, "properties": {"repobilityId": "17d369a7fd79b187", "scanner": "scanner-primary", "fingerprint": "55002d92e7414813", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3ed5f6be3315539c", "level": "note", "message": {"text": "Legacy-named symbol `projetar_componentes_consolidado_v2` in app/manufatura/services/projecao_estoque_service.py:158"}, "properties": {"repobilityId": "868545d6250e2985", "scanner": "scanner-primary", "fingerprint": "3ed5f6be3315539c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-653522d048b0d3a4", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/custeio/routes/custeio_routes.py:190"}, "properties": {"repobilityId": "c4bef1019ca1e8b6", "scanner": "scanner-primary", "fingerprint": "653522d048b0d3a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82e30d963c96d808", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/custeio/services/custeio_service.py:926"}, "properties": {"repobilityId": "c12e32719a8f73e0", "scanner": "scanner-primary", "fingerprint": "82e30d963c96d808", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b7437ff2e5d701ce", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/pessoal/routes/transacoes.py:208"}, "properties": {"repobilityId": "f9898c1097f1f76f", "scanner": "scanner-primary", "fingerprint": "b7437ff2e5d701ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52414911cacbb3a1", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/pessoal/services/aprendizado_service.py:228"}, "properties": {"repobilityId": "0089132248b302b4", "scanner": "scanner-primary", "fingerprint": "52414911cacbb3a1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5ce530cefe7b464", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/pessoal/services/parsers/bradesco_cartao_parser.py:127"}, "properties": {"repobilityId": "bda090d308d9c5cb", "scanner": "scanner-primary", "fingerprint": "d5ce530cefe7b464", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d25d7a28975903cd", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/scheduler/sincronizacao_incremental_definitiva.py:106"}, "properties": {"repobilityId": "edbb357359f84cca", "scanner": "scanner-primary", "fingerprint": "d25d7a28975903cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-09d9ed89e22017ce", "level": "note", "message": {"text": "Legacy-named symbol `cnpj_old` in app/embarques/routes.py:1779"}, "properties": {"repobilityId": "72ebaa1486390dc0", "scanner": "scanner-primary", "fingerprint": "09d9ed89e22017ce", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c47ec85be8f84336", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/embarques/routes.py:320"}, "properties": {"repobilityId": "b199d7abc9d96546", "scanner": "scanner-primary", "fingerprint": "c47ec85be8f84336", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84c8fa32eadf6cf7", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/embarques/services/docs_carvia_service.py:29"}, "properties": {"repobilityId": "38224df00bab73f6", "scanner": "scanner-primary", "fingerprint": "84c8fa32eadf6cf7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff33988b3a932289", "level": "note", "message": {"text": "Legacy-named symbol `importador_v2` in app/integracoes/tagplus/routes.py:7"}, "properties": {"repobilityId": "1935555b9da1cacd", "scanner": "scanner-primary", "fingerprint": "ff33988b3a932289", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6cca17f12993c801", "level": "note", "message": {"text": "Legacy-named symbol `importador_v2` in app/integracoes/tagplus/webhook_routes.py:110"}, "properties": {"repobilityId": "fb5866625b65b7ba", "scanner": "scanner-primary", "fingerprint": "6cca17f12993c801", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-15bdc3a973a9d3ea", "level": "note", "message": {"text": "Legacy-named symbol `oauth2_v2` in app/integracoes/tagplus/oauth_routes.py:7"}, "properties": {"repobilityId": "5b31cee79f969101", "scanner": "scanner-primary", "fingerprint": "15bdc3a973a9d3ea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e406f451bf358e79", "level": "note", "message": {"text": "Legacy-named symbol `correcao_pedidos_service_v2` in app/integracoes/tagplus/importador_v2.py:13"}, "properties": {"repobilityId": "695c6383aaba9a91", "scanner": "scanner-primary", "fingerprint": "e406f451bf358e79", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5af1a0a3199c76b8", "level": "note", "message": {"text": "Legacy-named symbol `importador_v2` in app/integracoes/tagplus/_deprecated/listar_nfs_disponiveis.py:5"}, "properties": {"repobilityId": "8a9877ca59f1fcb8", "scanner": "scanner-primary", "fingerprint": "5af1a0a3199c76b8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8a035c2a078633a8", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/monitoramento/routes.py:874"}, "properties": {"repobilityId": "631acef3daf14f52", "scanner": "scanner-primary", "fingerprint": "8a035c2a078633a8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a884c6505f85958", "level": "note", "message": {"text": "Legacy-named symbol `api_get_user_permissions_legacy` in backups/permissions_backup_20250728_164325/permissions/routes.py:140"}, "properties": {"repobilityId": "a6d828ab6bd352ab", "scanner": "scanner-primary", "fingerprint": "1a884c6505f85958", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-154ce9bcc4b26c36", "level": "note", "message": {"text": "Legacy-named symbol `_batch_copy` in backups/permissions_backup_20250728_164325/permissions/api.py:520"}, "properties": {"repobilityId": "ab96eb982ab6da9c", "scanner": "scanner-primary", "fingerprint": "154ce9bcc4b26c36", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0e4c1f9689cfe6d9", "level": "note", "message": {"text": "Legacy-named symbol `api_get_user_permissions_legacy` in backups/permissions_backup_20250728_164325/app_files/routes.py:140"}, "properties": {"repobilityId": "7250eef5ee198bb7", "scanner": "scanner-primary", "fingerprint": "0e4c1f9689cfe6d9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dc5b42603c073754", "level": "note", "message": {"text": "Stub function `init_app` (body is just `pass`/`return`) \u2014 backups/permissions_backup_20250728_164325/app_files/__init__.py:17"}, "properties": {"repobilityId": "7d343c4f691817db", "scanner": "scanner-primary", "fingerprint": "dc5b42603c073754", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-f608605d4720f99b", "level": "note", "message": {"text": "Legacy-named symbol `uses_old` in .claude/_deprecated/tests/test_routing_refactoring.py:261"}, "properties": {"repobilityId": "6d0637864ec0c901", "scanner": "scanner-primary", "fingerprint": "f608605d4720f99b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-eb154dc971f5d094", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/hooks/validar-estrutura.py:27"}, "properties": {"repobilityId": "cb32ef9ba27e5043", "scanner": "scanner-primary", "fingerprint": "eb154dc971f5d094", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-261a51927d111c8f", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/hooks/pad_creation_gate.py:43"}, "properties": {"repobilityId": "7db0fd255b30e462", "scanner": "scanner-primary", "fingerprint": "261a51927d111c8f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b49b0548d351cf6d", "level": "none", "message": {"text": "Commented-code block (6 lines) in .claude/skills/operando-portal-atacadao/scripts/agendar_lote.py:493"}, "properties": {"repobilityId": "d242a41804269b6f", "scanner": "scanner-primary", "fingerprint": "b49b0548d351cf6d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d939a6f37bfb261", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/operando-ssw/scripts/consultar_ctrc_101.py:151"}, "properties": {"repobilityId": "2ebba72451dbdd63", "scanner": "scanner-primary", "fingerprint": "3d939a6f37bfb261", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-66a37b873fe07137", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/operando-ssw/scripts/emitir_cte_complementar_222.py:301"}, "properties": {"repobilityId": "0ddcd329e2c25518", "scanner": "scanner-primary", "fingerprint": "66a37b873fe07137", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff6f0bb07d6d40ae", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/operando-ssw/scripts/emitir_cte_004.py:654"}, "properties": {"repobilityId": "205d95a8d1f6cbd1", "scanner": "scanner-primary", "fingerprint": "ff6f0bb07d6d40ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9d658c929d99c02f", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/exportando-arquivos/scripts/exportar.py:45"}, "properties": {"repobilityId": "10ec7e79d8cafbd4", "scanner": "scanner-primary", "fingerprint": "9d658c929d99c02f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d009c64b155a89f", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/rastreando-odoo/scripts/rastrear.py:77"}, "properties": {"repobilityId": "0548fbfb0cac56f1", "scanner": "scanner-primary", "fingerprint": "0d009c64b155a89f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-61339e5aa167143f", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/operando-picking-odoo/scripts/operar_picking.py:162"}, "properties": {"repobilityId": "422c26a1874359d6", "scanner": "scanner-primary", "fingerprint": "61339e5aa167143f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5092f34bd180d7c3", "level": "note", "message": {"text": "Legacy-named symbol `existing_v2` in .claude/skills/gerindo-agente/scripts/melhorias.py:317"}, "properties": {"repobilityId": "ea463b6391208366", "scanner": "scanner-primary", "fingerprint": "5092f34bd180d7c3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0afff9a1610c343e", "level": "note", "message": {"text": "Legacy-named symbol `transferir_quantidade_para_lote_v2` in .claude/skills/planejando-pre-etapa-odoo/scripts/planejar_pre_etapa.py:14"}, "properties": {"repobilityId": "477b8abd07c5ca3e", "scanner": "scanner-primary", "fingerprint": "0afff9a1610c343e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-24fe0e5f9e490219", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/consultando-estoque-loja/scripts/consultando_estoque_loja.py:166"}, "properties": {"repobilityId": "4197c12f2356ab08", "scanner": "scanner-primary", "fingerprint": "24fe0e5f9e490219", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec99d46f68457632", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/consultando-sql/scripts/text_to_sql.py:267"}, "properties": {"repobilityId": "b0a4770e26c2ac9f", "scanner": "scanner-primary", "fingerprint": "ec99d46f68457632", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f3635d2845f301d", "level": "none", "message": {"text": "Commented-code block (9 lines) in .claude/skills/consultando-sql/scripts/generate_schemas.py:414"}, "properties": {"repobilityId": "71284df1e02b7e2b", "scanner": "scanner-primary", "fingerprint": "7f3635d2845f301d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f887c7519b9b9ee", "level": "none", "message": {"text": "Commented-code block (7 lines) in .claude/skills/transferindo-interno-odoo/scripts/transferir_para_indisp_em_lote.py:440"}, "properties": {"repobilityId": "ff0535928492304b", "scanner": "scanner-primary", "fingerprint": "2f887c7519b9b9ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5920bcb88845f20", "level": "note", "message": {"text": "Legacy-named symbol `transferir_entre_lotes_v2` in .claude/skills/transferindo-interno-odoo/scripts/transferir.py:3"}, "properties": {"repobilityId": "cc8f0dcacc6fda49", "scanner": "scanner-primary", "fingerprint": "b5920bcb88845f20", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ba83d1695920d1c8", "level": "none", "message": {"text": "Commented-code block (6 lines) in .claude/skills/transferindo-interno-odoo/scripts/transferir.py:64"}, "properties": {"repobilityId": "5ce5ae977766ed7d", "scanner": "scanner-primary", "fingerprint": "ba83d1695920d1c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-37df77a6cbdd2902", "level": "none", "message": {"text": "Commented-code block (5 lines) in azure-functions/frete-bot/bot.py:1243"}, "properties": {"repobilityId": "da4dc433e2664037", "scanner": "scanner-primary", "fingerprint": "37df77a6cbdd2902", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c06aaa58d813238", "level": "note", "message": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/aa92bac3c410_merge_multiple_heads_for_permissions.py:19"}, "properties": {"repobilityId": "b2462b3437723e7e", "scanner": "scanner-primary", "fingerprint": "3c06aaa58d813238", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-ab07977746bec177", "level": "note", "message": {"text": "Legacy-named symbol `permission_system_v1` in migrations/versions/safe_permission_update.py:4"}, "properties": {"repobilityId": "145a3f4663531cfc", "scanner": "scanner-primary", "fingerprint": "ab07977746bec177", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4b9b4a71e6767490", "level": "note", "message": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/89f8f20d3a04_merge_multiple_permission_heads.py:19"}, "properties": {"repobilityId": "9dcc5881396c20ff", "scanner": "scanner-primary", "fingerprint": "4b9b4a71e6767490", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-4e9b07b69aa8f6ed", "level": "note", "message": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/ca53350e4914_merge_heads.py:19"}, "properties": {"repobilityId": "4fb2783ff3c6cf0b", "scanner": "scanner-primary", "fingerprint": "4e9b07b69aa8f6ed", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-5632eeac6f3341d4", "level": "note", "message": {"text": "Legacy-named symbol `permission_system_v1` in migrations/versions/permission_system_migration.py:3"}, "properties": {"repobilityId": "e3fc46a16eec7b22", "scanner": "scanner-primary", "fingerprint": "5632eeac6f3341d4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-420c1b5814806615", "level": "note", "message": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/4ae2a285649c_merge_multiple_heads.py:19"}, "properties": {"repobilityId": "414602afed1f0045", "scanner": "scanner-primary", "fingerprint": "420c1b5814806615", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-6de33f1976be5b25", "level": "note", "message": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/7e880edbf40a_merge_all_heads_20250808.py:19"}, "properties": {"repobilityId": "a699020d59c5b89b", "scanner": "scanner-primary", "fingerprint": "6de33f1976be5b25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-d13d4b9c97ccc26c", "level": "note", "message": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/2ff2d45b36ff_merge_heads_hora_agendamento_e_peso_.py:19"}, "properties": {"repobilityId": "37318866be0490f6", "scanner": "scanner-primary", "fingerprint": "d13d4b9c97ccc26c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-d70e6f177df61925", "level": "note", "message": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 migrations/versions/10a83c683c02_merge_all_permission_system_heads.py:19"}, "properties": {"repobilityId": "ce4fe159b3db6985", "scanner": "scanner-primary", "fingerprint": "d70e6f177df61925", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-f341860ab6a90be6", "level": "note", "message": {"text": "Near-duplicate function bodies in 17 places"}, "properties": {"repobilityId": "3b0eff827539fd55", "scanner": "scanner-primary", "fingerprint": "f341860ab6a90be6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-9dad557909b86499", "level": "note", "message": {"text": "Near-duplicate function bodies in 10 places"}, "properties": {"repobilityId": "7aaf3b02f510f1c7", "scanner": "scanner-primary", "fingerprint": "9dad557909b86499", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "81c5e998e9b8d380", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-89915ea02f2b6005", "level": "note", "message": {"text": "Near-duplicate function bodies in 23 places"}, "properties": {"repobilityId": "3da16309df9f9fde", "scanner": "scanner-primary", "fingerprint": "89915ea02f2b6005", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-9dad557909b86499", "level": "note", "message": {"text": "Near-duplicate function bodies in 10 places"}, "properties": {"repobilityId": "b598199f830dab23", "scanner": "scanner-primary", "fingerprint": "9dad557909b86499", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "f7201718604c2e01", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "53ed4386b33bb521", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-33a6b62e30ce7ab4", "level": "note", "message": {"text": "Near-duplicate function bodies in 6 places"}, "properties": {"repobilityId": "eebc77b2fd7578bc", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "7bfdbc243808f877", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "216c99eaf20a7a33", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "7df82816707a587f", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "e49547f46ebe7a34", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "f0de9fc9b430c85c", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "69db0157161627eb", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "054d6d0e76a0a999", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "8fbaf625272d46ee", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "ae2f175eb3272f3a", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "ceb8144836b92375", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "e7adb2384080a0f8", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "44edebb19812bdaa", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-0952e0962f0306de", "level": "error", "message": {"text": "Flask mutation route `api_atualizar_ctrc_cte_complementar` without `@login_required` \u2014 app/carvia/routes/api_routes.py:939"}, "properties": {"repobilityId": "0801183729f0a9f2", "scanner": "scanner-primary", "fingerprint": "0952e0962f0306de", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/api_routes.py"}, "region": {"startLine": 939}}}]}, {"ruleId": "scanner-d7af683dfbbb5cad", "level": "error", "message": {"text": "Flask mutation route `vincular_ce_cte_complementar` without `@login_required` \u2014 app/carvia/routes/cte_complementar_routes.py:662"}, "properties": {"repobilityId": "230d4159bd02380b", "scanner": "scanner-primary", "fingerprint": "d7af683dfbbb5cad", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/cte_complementar_routes.py"}, "region": {"startLine": 662}}}]}, {"ruleId": "scanner-fe445bd354e51f24", "level": "error", "message": {"text": "Flask mutation route `desvincular_ce_cte_complementar` without `@login_required` \u2014 app/carvia/routes/cte_complementar_routes.py:706"}, "properties": {"repobilityId": "221a1c6b5e386920", "scanner": "scanner-primary", "fingerprint": "fe445bd354e51f24", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/cte_complementar_routes.py"}, "region": {"startLine": 706}}}]}, {"ruleId": "scanner-38c900beccb1618c", "level": "error", "message": {"text": "Flask mutation route `api_mesclar_enderecos` without `@login_required` \u2014 app/carvia/routes/cliente_routes.py:336"}, "properties": {"repobilityId": "21cb7c75150ea2fb", "scanner": "scanner-primary", "fingerprint": "38c900beccb1618c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/cliente_routes.py"}, "region": {"startLine": 336}}}]}, {"ruleId": "scanner-e9999e52f5601187", "level": "error", "message": {"text": "Flask mutation route `api_migrar_e_remover_endereco` without `@login_required` \u2014 app/carvia/routes/cliente_routes.py:372"}, "properties": {"repobilityId": "7ead6dcc08d6eeea", "scanner": "scanner-primary", "fingerprint": "e9999e52f5601187", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/cliente_routes.py"}, "region": {"startLine": 372}}}]}, {"ruleId": "scanner-06e205d1d4d76c70", "level": "error", "message": {"text": "Flask mutation route `upload_anexo_carvia` without `@login_required` \u2014 app/carvia/routes/anexo_routes.py:29"}, "properties": {"repobilityId": "e9e4974cd49c7ecc", "scanner": "scanner-primary", "fingerprint": "06e205d1d4d76c70", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/anexo_routes.py"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-5231fee74e9bcc69", "level": "error", "message": {"text": "Flask mutation route `retry_emissao_cte_complementar` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:845"}, "properties": {"repobilityId": "2719aca6373f38d9", "scanner": "scanner-primary", "fingerprint": "5231fee74e9bcc69", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/custo_entrega_routes.py"}, "region": {"startLine": 845}}}]}, {"ruleId": "scanner-f08a5b5fe292ab31", "level": "error", "message": {"text": "Flask mutation route `vincular_custos_entrega_fatura` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:1247"}, "properties": {"repobilityId": "73e949039792eb6a", "scanner": "scanner-primary", "fingerprint": "f08a5b5fe292ab31", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/custo_entrega_routes.py"}, "region": {"startLine": 1247}}}]}, {"ruleId": "scanner-4162e5312471916b", "level": "error", "message": {"text": "Flask mutation route `criar_despesa_por_frete_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:1430"}, "properties": {"repobilityId": "7caf475a7ce533a4", "scanner": "scanner-primary", "fingerprint": "4162e5312471916b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/custo_entrega_routes.py"}, "region": {"startLine": 1430}}}]}, {"ruleId": "scanner-b7da81d3f91cdadf", "level": "error", "message": {"text": "Flask mutation route `nova_despesa_do_frete_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:1557"}, "properties": {"repobilityId": "c4d3913516ce48c2", "scanner": "scanner-primary", "fingerprint": "b7da81d3f91cdadf", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/custo_entrega_routes.py"}, "region": {"startLine": 1557}}}]}, {"ruleId": "scanner-e3880b364b3636d4", "level": "error", "message": {"text": "Flask mutation route `criar_despesa_por_cte_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:1674"}, "properties": {"repobilityId": "0e5435ee02b9629e", "scanner": "scanner-primary", "fingerprint": "e3880b364b3636d4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/custo_entrega_routes.py"}, "region": {"startLine": 1674}}}]}, {"ruleId": "scanner-1c1e678ff625f901", "level": "error", "message": {"text": "Flask mutation route `editar_documento_despesa_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:1802"}, "properties": {"repobilityId": "b2674b32ed1320d9", "scanner": "scanner-primary", "fingerprint": "1c1e678ff625f901", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/custo_entrega_routes.py"}, "region": {"startLine": 1802}}}]}, {"ruleId": "scanner-85a04fb2b36b37ae", "level": "error", "message": {"text": "Flask mutation route `excluir_despesa_extra_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:1872"}, "properties": {"repobilityId": "3aa74bd3c16b7d3a", "scanner": "scanner-primary", "fingerprint": "85a04fb2b36b37ae", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/custo_entrega_routes.py"}, "region": {"startLine": 1872}}}]}, {"ruleId": "scanner-05e08a5d22149be6", "level": "error", "message": {"text": "Flask mutation route `vincular_cte_comp_despesa_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:1944"}, "properties": {"repobilityId": "2433f16b44a4def4", "scanner": "scanner-primary", "fingerprint": "05e08a5d22149be6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/custo_entrega_routes.py"}, "region": {"startLine": 1944}}}]}, {"ruleId": "scanner-53175594e7e6fa87", "level": "error", "message": {"text": "Flask mutation route `desvincular_cte_comp_despesa_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:2018"}, "properties": {"repobilityId": "45ab29986e22273b", "scanner": "scanner-primary", "fingerprint": "53175594e7e6fa87", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/custo_entrega_routes.py"}, "region": {"startLine": 2018}}}]}, {"ruleId": "scanner-3101a26ab8587de3", "level": "error", "message": {"text": "Flask mutation route `vincular_despesa_fatura_carvia` without `@login_required` \u2014 app/carvia/routes/custo_entrega_routes.py:2053"}, "properties": {"repobilityId": "aabf33967383d9d3", "scanner": "scanner-primary", "fingerprint": "3101a26ab8587de3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/custo_entrega_routes.py"}, "region": {"startLine": 2053}}}]}, {"ruleId": "scanner-a40d7012a6189c27", "level": "error", "message": {"text": "Flask mutation route `api_registrar_saldo_inicial_cc` without `@login_required` \u2014 app/carvia/routes/conta_corrente_routes.py:57"}, "properties": {"repobilityId": "644dc3b6506ad47e", "scanner": "scanner-primary", "fingerprint": "a40d7012a6189c27", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/conta_corrente_routes.py"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-b38b1e199f92a16f", "level": "error", "message": {"text": "Flask mutation route `desconsiderar_mov_carvia` without `@login_required` \u2014 app/carvia/routes/conta_corrente_routes.py:231"}, "properties": {"repobilityId": "97dcd8c81ff617bd", "scanner": "scanner-primary", "fingerprint": "b38b1e199f92a16f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/conta_corrente_routes.py"}, "region": {"startLine": 231}}}]}, {"ruleId": "scanner-cda5f6da54c23ce0", "level": "error", "message": {"text": "Flask mutation route `aprovar_subcontrato` without `@login_required` \u2014 app/carvia/routes/aprovacao_routes.py:180"}, "properties": {"repobilityId": "625411840b8c56e7", "scanner": "scanner-primary", "fingerprint": "cda5f6da54c23ce0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/aprovacao_routes.py"}, "region": {"startLine": 180}}}]}, {"ruleId": "scanner-e52809af0c46cea5", "level": "error", "message": {"text": "Flask mutation route `rejeitar_subcontrato` without `@login_required` \u2014 app/carvia/routes/aprovacao_routes.py:230"}, "properties": {"repobilityId": "ece14521dab84773", "scanner": "scanner-primary", "fingerprint": "e52809af0c46cea5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/aprovacao_routes.py"}, "region": {"startLine": 230}}}]}, {"ruleId": "scanner-0f70a7e20fef2a34", "level": "error", "message": {"text": "Flask mutation route `solicitar_aprovacao_subcontrato_manual` without `@login_required` \u2014 app/carvia/routes/aprovacao_routes.py:270"}, "properties": {"repobilityId": "0cc27133c9bd2914", "scanner": "scanner-primary", "fingerprint": "0f70a7e20fef2a34", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/aprovacao_routes.py"}, "region": {"startLine": 270}}}]}, {"ruleId": "scanner-8bd1a862b1820b4a", "level": "error", "message": {"text": "Flask mutation route `aprovar_conferencia_fatura_transportadora` without `@login_required` \u2014 app/carvia/routes/fatura_routes.py:2368"}, "properties": {"repobilityId": "88d0a3f7f6aef9b4", "scanner": "scanner-primary", "fingerprint": "8bd1a862b1820b4a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/fatura_routes.py"}, "region": {"startLine": 2368}}}]}, {"ruleId": "scanner-010073b501d96fbe", "level": "error", "message": {"text": "Flask mutation route `api_recalcular_valor_fatura_cliente` without `@login_required` \u2014 app/carvia/routes/fatura_routes.py:2970"}, "properties": {"repobilityId": "79f3fa5b4e54c0af", "scanner": "scanner-primary", "fingerprint": "010073b501d96fbe", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/fatura_routes.py"}, "region": {"startLine": 2970}}}]}, {"ruleId": "scanner-44a234b221866003", "level": "error", "message": {"text": "Flask mutation route `<anonymous>` without `@login_required` \u2014 app/carvia/routes/admin_routes.py:159"}, "properties": {"repobilityId": "d4d0684639ac377f", "scanner": "scanner-primary", "fingerprint": "44a234b221866003", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/admin_routes.py"}, "region": {"startLine": 159}}}]}, {"ruleId": "scanner-b7c114876e82fdc6", "level": "error", "message": {"text": "Flask mutation route `api_cascade_cancelar` without `@login_required` \u2014 app/carvia/routes/operacao_routes.py:784"}, "properties": {"repobilityId": "b06ad6c904a48e00", "scanner": "scanner-primary", "fingerprint": "b7c114876e82fdc6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/carvia/routes/operacao_routes.py"}, "region": {"startLine": 784}}}]}, {"ruleId": "scanner-c168c49ce620830a", "level": "error", "message": {"text": "Flask mutation route `messages` without `@login_required` \u2014 azure-functions/frete-bot/function_app.py:25"}, "properties": {"repobilityId": "b86ffeed2bf8d8d5", "scanner": "scanner-primary", "fingerprint": "c168c49ce620830a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "azure-functions/frete-bot/function_app.py"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-75f4df8e92aa4bdd", "level": "error", "message": {"text": "Flask mutation route `notify` without `@login_required` \u2014 azure-functions/frete-bot/function_app.py:71"}, "properties": {"repobilityId": "bdcfe41878a8d9ee", "scanner": "scanner-primary", "fingerprint": "75f4df8e92aa4bdd", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "azure-functions/frete-bot/function_app.py"}, "region": {"startLine": 71}}}]}, {"ruleId": "scanner-ccfd8bd321b205a6", "level": "error", "message": {"text": "Dangling fetch: POST /portal/api/solicitar-agendamento-nf-async (app/static/js/portal-async-integration.js:312)"}, "properties": {"repobilityId": "7ca8530dc8c1ca32", "scanner": "scanner-primary", "fingerprint": "ccfd8bd321b205a6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-30db10f8c7e5d125", "level": "error", "message": {"text": "Dangling fetch: GET /portal/api/status-filas (app/static/js/portal-async-integration.js:613)"}, "properties": {"repobilityId": "e57cb2ae41ccdb01", "scanner": "scanner-primary", "fingerprint": "30db10f8c7e5d125", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-091b1fbe7d9143b0", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/programacao-lote/api/analisar-ruptura-cnpj/${cnpjEncoded} (app/static/js/programacao-lote.js:126)"}, "properties": {"repobilityId": "6a8e8c234b2bc3cc", "scanner": "scanner-primary", "fingerprint": "091b1fbe7d9143b0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-493ddf8355a15cc7", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/programacao-lote/api/analisar-estoques/${rede} (app/static/js/programacao-lote.js:256)"}, "properties": {"repobilityId": "1da6cf3093622c6b", "scanner": "scanner-primary", "fingerprint": "493ddf8355a15cc7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-13bb9935acfe1d7f", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/programacao-lote/api/sugerir-datas/${rede} (app/static/js/programacao-lote.js:340)"}, "properties": {"repobilityId": "6107d93d46b1910a", "scanner": "scanner-primary", "fingerprint": "13bb9935acfe1d7f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b606ba91382e383b", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/programacao-lote/api/analisar-ruptura-cnpj/${cnpjEncoded} (app/static/js/programacao-lote.js:506)"}, "properties": {"repobilityId": "9bc54666717d2298", "scanner": "scanner-primary", "fingerprint": "b606ba91382e383b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-14696189aa4b1f39", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/programacao-lote/api/status-job-sendas/${jobId} (app/static/js/programacao-lote.js:1432)"}, "properties": {"repobilityId": "784beb294438a656", "scanner": "scanner-primary", "fingerprint": "14696189aa4b1f39", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7780802a2451c6d9", "level": "error", "message": {"text": "Dangling fetch: POST /embarques/excluir_item/${itemId} (app/static/js/embarque.js:25)"}, "properties": {"repobilityId": "763d512dce4e85d9", "scanner": "scanner-primary", "fingerprint": "7780802a2451c6d9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-061cd50c8ba02700", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/analise-producao/${producaoId}/componentes (app/static/js/analise_producao_componentes.js:50)"}, "properties": {"repobilityId": "1533cde680a6bfe0", "scanner": "scanner-primary", "fingerprint": "061cd50c8ba02700", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-744316d0de4b6f99", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/analise-producao/componentes-grupo?ordem_producao=${encodeURIComponent(ordemProducao)}&cod_produto=${encodeURIComponent(codProduto)} (app/static/js/analise_producao_componentes.js:79)"}, "properties": {"repobilityId": "47050f46edad6581", "scanner": "scanner-primary", "fingerprint": "744316d0de4b6f99", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-216eaf7c7cbdb223", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/analise-producao/buscar-produtos?q=${encodeURIComponent(termo)} (app/static/js/analise_producao_componentes.js:288)"}, "properties": {"repobilityId": "41c2a8a38f0aa643", "scanner": "scanner-primary", "fingerprint": "216eaf7c7cbdb223", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2abf347edbcf3fab", "level": "error", "message": {"text": "Dangling fetch: GET /financeiro/contas-receber/api/${contaId}/comparativo (app/static/js/contas_receber_comparativo.js:71)"}, "properties": {"repobilityId": "36d87cbf1a6c9fec", "scanner": "scanner-primary", "fingerprint": "2abf347edbcf3fab", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1867497a3f7e0e15", "level": "error", "message": {"text": "Dangling fetch: POST /financeiro/contas-receber/api/${comparativoContaId}/importar-baixas (app/static/js/contas_receber_comparativo.js:279)"}, "properties": {"repobilityId": "eb5b2303157931ac", "scanner": "scanner-primary", "fingerprint": "1867497a3f7e0e15", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f3033ce5a3207888", "level": "error", "message": {"text": "Dangling fetch: POST /financeiro/contas-receber/api/${comparativoContaId}/vincular-pendentes (app/static/js/contas_receber_comparativo.js:324)"}, "properties": {"repobilityId": "0dfa52db5fd873cc", "scanner": "scanner-primary", "fingerprint": "f3033ce5a3207888", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-420167cf0cb004c9", "level": "error", "message": {"text": "Dangling fetch: GET /financeiro/contas-receber/api/${comparativoContaId}/reconciliacoes-disponiveis?abatimento_id=${abatimentoId} (app/static/js/contas_receber_comparativo.js:356)"}, "properties": {"repobilityId": "c7cc5fb9cd8bac14", "scanner": "scanner-primary", "fingerprint": "420167cf0cb004c9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3a88d78ea4d7f34c", "level": "error", "message": {"text": "Dangling fetch: POST /financeiro/contas-receber/api/abatimento/${abatimentoId}/vincular (app/static/js/contas_receber_comparativo.js:399)"}, "properties": {"repobilityId": "a007770caafbc4ad", "scanner": "scanner-primary", "fingerprint": "3a88d78ea4d7f34c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7f9176b3d8bec3fe", "level": "error", "message": {"text": "Dangling fetch: POST /financeiro/contas-receber/api/abatimento/${abatimentoId}/desvincular (app/static/js/contas_receber_comparativo.js:438)"}, "properties": {"repobilityId": "3501ab713aba1a98", "scanner": "scanner-primary", "fingerprint": "7f9176b3d8bec3fe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d7c09a7383b9f1a6", "level": "error", "message": {"text": "Dangling fetch: DELETE /financeiro/contas-receber/api/abatimentos/${abatimentoId} (app/static/js/contas_receber_comparativo.js:479)"}, "properties": {"repobilityId": "af9fe09eb795353b", "scanner": "scanner-primary", "fingerprint": "d7c09a7383b9f1a6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2ddac3e0a8dc3cac", "level": "error", "message": {"text": "Dangling fetch: POST /financeiro/contas-receber/api/${comparativoContaId}/abatimentos (app/static/js/contas_receber_comparativo.js:535)"}, "properties": {"repobilityId": "369479060c792976", "scanner": "scanner-primary", "fingerprint": "2ddac3e0a8dc3cac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-28963513f8e4a6f9", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/simples/api/autocomplete-produtos?termo=${encodeURIComponent(termo)}&limit=20 (app/static/js/carteira-simples.js:265)"}, "properties": {"repobilityId": "715c181f7ce84258", "scanner": "scanner-primary", "fingerprint": "28963513f8e4a6f9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0fcfe507c75580a0", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/simples/api/dados?${params} (app/static/js/carteira-simples.js:365)"}, "properties": {"repobilityId": "e9f51b75b9dea454", "scanner": "scanner-primary", "fingerprint": "0fcfe507c75580a0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-94376955ca349556", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/simples/api/atualizar-qtd-separacao (app/static/js/carteira-simples.js:2018)"}, "properties": {"repobilityId": "9b5da7675497b459", "scanner": "scanner-primary", "fingerprint": "94376955ca349556", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a03fa70756516120", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/simples/api/atualizar-separacao-lote (app/static/js/carteira-simples.js:2294)"}, "properties": {"repobilityId": "e44f4a2aef1e5e59", "scanner": "scanner-primary", "fingerprint": "a03fa70756516120", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-420806c2f8fa038d", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/simples/api/totais-protocolo?protocolo=${encodeURIComponent(protocolo)} (app/static/js/carteira-simples.js:2442)"}, "properties": {"repobilityId": "7dd80ef7839afeae", "scanner": "scanner-primary", "fingerprint": "420806c2f8fa038d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-45c19b09a6f8d17b", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/simples/api/verificar-separacoes-existentes (app/static/js/carteira-simples.js:2559)"}, "properties": {"repobilityId": "2ea7f283d69bc354", "scanner": "scanner-primary", "fingerprint": "45c19b09a6f8d17b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5e6eb08c98ecc311", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/simples/api/gerar-separacao (app/static/js/carteira-simples.js:2600)"}, "properties": {"repobilityId": "9c2f59415ce55b89", "scanner": "scanner-primary", "fingerprint": "5e6eb08c98ecc311", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-43a873d2c6e1bbe6", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/simples/api/adicionar-itens-separacao (app/static/js/carteira-simples.js:2817)"}, "properties": {"repobilityId": "64db5ba814cdc6d0", "scanner": "scanner-primary", "fingerprint": "43a873d2c6e1bbe6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9fe7207afbe602c8", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/standby/criar (app/static/js/carteira-simples.js:3640)"}, "properties": {"repobilityId": "71176f5532cbcba0", "scanner": "scanner-primary", "fingerprint": "9fe7207afbe602c8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3b342444e19d8432", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/simples/api/rastrear-produto?cod_produto=${encodeURIComponent(codProduto)} (app/static/js/carteira-simples.js:3809)"}, "properties": {"repobilityId": "6b485fb64fd9ec69", "scanner": "scanner-primary", "fingerprint": "3b342444e19d8432", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b7af817d534b5569", "level": "error", "message": {"text": "Dangling fetch: GET /devolucao/frete/api/ufs (app/static/js/devolucao/ocorrencia-detalhe.js:149)"}, "properties": {"repobilityId": "15c149935ebb6ce0", "scanner": "scanner-primary", "fingerprint": "b7af817d534b5569", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5537426468ee97da", "level": "error", "message": {"text": "Dangling fetch: GET /devolucao/frete/api/cidades/${uf} (app/static/js/devolucao/ocorrencia-detalhe.js:205)"}, "properties": {"repobilityId": "51589287039a1a91", "scanner": "scanner-primary", "fingerprint": "5537426468ee97da", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c5e0a4338152d398", "level": "error", "message": {"text": "Dangling fetch: GET /devolucao/frete/api/transportadoras (app/static/js/devolucao/ocorrencia-detalhe.js:244)"}, "properties": {"repobilityId": "98d12e3227ece8e9", "scanner": "scanner-primary", "fingerprint": "c5e0a4338152d398", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c89d2d321aa01981", "level": "error", "message": {"text": "Dangling fetch: GET /devolucao/frete/api/${ocorrenciaId}/calcular-peso (app/static/js/devolucao/ocorrencia-detalhe.js:289)"}, "properties": {"repobilityId": "fe93e975d3044346", "scanner": "scanner-primary", "fingerprint": "c89d2d321aa01981", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8730eae1caa1c2db", "level": "error", "message": {"text": "Dangling fetch: GET /devolucao/frete/api/${ocorrenciaId}/calcular-peso (app/static/js/devolucao/ocorrencia-detalhe.js:320)"}, "properties": {"repobilityId": "6f14440bc3860025", "scanner": "scanner-primary", "fingerprint": "8730eae1caa1c2db", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8c3ef5f2b8d18504", "level": "error", "message": {"text": "Dangling fetch: POST /devolucao/frete/api/${ocorrenciaId}/estimar-retorno (app/static/js/devolucao/ocorrencia-detalhe.js:362)"}, "properties": {"repobilityId": "6a806ca2228c4b6b", "scanner": "scanner-primary", "fingerprint": "8c3ef5f2b8d18504", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a043fdc84cd43eaf", "level": "error", "message": {"text": "Dangling fetch: PUT /devolucao/ocorrencias/api/${ocorrenciaId}/logistica (app/static/js/devolucao/ocorrencia-detalhe.js:488)"}, "properties": {"repobilityId": "adfbf38fbdb484bc", "scanner": "scanner-primary", "fingerprint": "a043fdc84cd43eaf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9026650cb5d61403", "level": "error", "message": {"text": "Dangling fetch: PUT /devolucao/ocorrencias/api/${ocorrenciaId}/comercial (app/static/js/devolucao/ocorrencia-detalhe.js:544)"}, "properties": {"repobilityId": "2cc7fda094dd1375", "scanner": "scanner-primary", "fingerprint": "9026650cb5d61403", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f484046c626cf706", "level": "error", "message": {"text": "Dangling fetch: POST /devolucao/ocorrencias/api/${ocorrenciaId}/anexos (app/static/js/devolucao/ocorrencia-detalhe.js:732)"}, "properties": {"repobilityId": "792a312dfcdfddc3", "scanner": "scanner-primary", "fingerprint": "f484046c626cf706", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d2a43377c7b470d5", "level": "error", "message": {"text": "Dangling fetch: DELETE /devolucao/ocorrencias/api/${ocorrenciaId}/anexos/${anexoId} (app/static/js/devolucao/ocorrencia-detalhe.js:777)"}, "properties": {"repobilityId": "22a4a0f83988637d", "scanner": "scanner-primary", "fingerprint": "d2a43377c7b470d5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6ec93acdd1fbc386", "level": "error", "message": {"text": "Dangling fetch: POST /devolucao/frete/api/${ocorrenciaId}/fretes (app/static/js/devolucao/ocorrencia-detalhe.js:828)"}, "properties": {"repobilityId": "a50b4ca0caa4fa6e", "scanner": "scanner-primary", "fingerprint": "6ec93acdd1fbc386", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-729da28950ca0951", "level": "error", "message": {"text": "Dangling fetch: DELETE /devolucao/frete/api/frete/${freteId} (app/static/js/devolucao/ocorrencia-detalhe.js:866)"}, "properties": {"repobilityId": "122a29a5856e1934", "scanner": "scanner-primary", "fingerprint": "729da28950ca0951", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e79b6acefc96ec22", "level": "error", "message": {"text": "Dangling fetch: PUT /devolucao/frete/api/frete/${freteId}/status (app/static/js/devolucao/ocorrencia-detalhe.js:888)"}, "properties": {"repobilityId": "45284ebacd41c6db", "scanner": "scanner-primary", "fingerprint": "e79b6acefc96ec22", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9acbdfbb9b26af8f", "level": "error", "message": {"text": "Dangling fetch: POST /devolucao/frete/api/${ocorrenciaId}/descartes (app/static/js/devolucao/ocorrencia-detalhe.js:1009)"}, "properties": {"repobilityId": "3ec386a866b30791", "scanner": "scanner-primary", "fingerprint": "9acbdfbb9b26af8f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-21087d4bbcd4b2df", "level": "error", "message": {"text": "Dangling fetch: DELETE /devolucao/frete/api/descarte/${descarteId} (app/static/js/devolucao/ocorrencia-detalhe.js:1047)"}, "properties": {"repobilityId": "aea7d194703cca8d", "scanner": "scanner-primary", "fingerprint": "21087d4bbcd4b2df", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-94dcf90da29e2827", "level": "error", "message": {"text": "Dangling fetch: PUT /devolucao/frete/api/descarte/${descarteId}/status (app/static/js/devolucao/ocorrencia-detalhe.js:1069)"}, "properties": {"repobilityId": "67ba593fd880ccf6", "scanner": "scanner-primary", "fingerprint": "94dcf90da29e2827", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f66aaa84221bc079", "level": "error", "message": {"text": "Dangling fetch: POST /devolucao/frete/api/descarte/${descarteId}/upload/${tipo} (app/static/js/devolucao/ocorrencia-detalhe.js:1126)"}, "properties": {"repobilityId": "0a4c642bc8d022b1", "scanner": "scanner-primary", "fingerprint": "f66aaa84221bc079", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8e9ed7e59470bce2", "level": "error", "message": {"text": "Dangling fetch: GET /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas (app/static/js/devolucao/ocorrencia-detalhe.js:1164)"}, "properties": {"repobilityId": "39da7bf1a87de9f5", "scanner": "scanner-primary", "fingerprint": "8e9ed7e59470bce2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b48971ae9fb4aecb", "level": "error", "message": {"text": "Dangling fetch: POST /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas (app/static/js/devolucao/ocorrencia-detalhe.js:1209)"}, "properties": {"repobilityId": "7fa826b97002773c", "scanner": "scanner-primary", "fingerprint": "b48971ae9fb4aecb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7705a9c65de6a302", "level": "error", "message": {"text": "Dangling fetch: DELETE /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas/${refId} (app/static/js/devolucao/ocorrencia-detalhe.js:1247)"}, "properties": {"repobilityId": "3e723bf9647f7011", "scanner": "scanner-primary", "fingerprint": "7705a9c65de6a302", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3e8c0ac6ffdafdfa", "level": "error", "message": {"text": "Dangling fetch: GET /devolucao/vinculacao/api/${nfdId}/nfs-referenciadas (app/static/js/devolucao/ocorrencia-detalhe.js:1269)"}, "properties": {"repobilityId": "be6e39d13603f039", "scanner": "scanner-primary", "fingerprint": "3e8c0ac6ffdafdfa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ecb5afe06fca6c73", "level": "error", "message": {"text": "Dangling fetch: GET /devolucao/ocorrencias/api/${ocorrenciaId}/comparar-nf-venda (app/static/js/devolucao/ocorrencia-detalhe.js:1322)"}, "properties": {"repobilityId": "dc2dea2c4e021040", "scanner": "scanner-primary", "fingerprint": "ecb5afe06fca6c73", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c973411892be2084", "level": "error", "message": {"text": "Dangling fetch: POST /devolucao/ai/api/resolver-produto (app/static/js/devolucao/ocorrencia-detalhe.js:1458)"}, "properties": {"repobilityId": "3167ea0e4ce75bfb", "scanner": "scanner-primary", "fingerprint": "c973411892be2084", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d0b8493e5801c769", "level": "error", "message": {"text": "Dangling fetch: GET /devolucao/ai/api/produtos/buscar?q=${encodeURIComponent(query)}&limit=15 (app/static/js/devolucao/ocorrencia-detalhe.js:1575)"}, "properties": {"repobilityId": "55a68f7193626445", "scanner": "scanner-primary", "fingerprint": "d0b8493e5801c769", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a186dbefe77083c0", "level": "error", "message": {"text": "Dangling fetch: POST /devolucao/ai/api/linha/${linhaId}/confirmar (app/static/js/devolucao/ocorrencia-detalhe.js:1662)"}, "properties": {"repobilityId": "ed684a33b9cf72ad", "scanner": "scanner-primary", "fingerprint": "a186dbefe77083c0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d2e39c3dacfb9c32", "level": "error", "message": {"text": "Dangling fetch: POST /devolucao/ai/api/nfd/${nfdId}/resolver-linhas (app/static/js/devolucao/ocorrencia-detalhe.js:1740)"}, "properties": {"repobilityId": "72bc6d99232d00dd", "scanner": "scanner-primary", "fingerprint": "d2e39c3dacfb9c32", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-052ea6b4aa62816f", "level": "error", "message": {"text": "Dangling fetch: POST /devolucao/ai/api/linha/${r.linha_id}/confirmar (app/static/js/devolucao/ocorrencia-detalhe.js:1883)"}, "properties": {"repobilityId": "5bb6b62f7c8a3677", "scanner": "scanner-primary", "fingerprint": "052ea6b4aa62816f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fa3114bee403232a", "level": "error", "message": {"text": "Dangling fetch: GET /devolucao/cadastros/api/permissoes (app/static/js/devolucao/ocorrencia-detalhe.js:2011)"}, "properties": {"repobilityId": "b2604ac7a37bd012", "scanner": "scanner-primary", "fingerprint": "fa3114bee403232a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ff2918614dcc4858", "level": "error", "message": {"text": "Dangling fetch: POST /devolucao/cadastros/api/permissoes (app/static/js/devolucao/ocorrencia-detalhe.js:2072)"}, "properties": {"repobilityId": "5e12b2d51e91a682", "scanner": "scanner-primary", "fingerprint": "ff2918614dcc4858", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5900414a60bbc5f5", "level": "error", "message": {"text": "Dangling fetch: DELETE /devolucao/cadastros/api/permissoes/${permId} (app/static/js/devolucao/ocorrencia-detalhe.js:2108)"}, "properties": {"repobilityId": "68a07c0b0eb4e72e", "scanner": "scanner-primary", "fingerprint": "5900414a60bbc5f5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0688b1d62a70cd10", "level": "error", "message": {"text": "Dangling fetch: POST /inventario/ajustes/${CICLO_ID}/upsert (app/static/js/inventario/confronto.js:131)"}, "properties": {"repobilityId": "65543af0cacfb0ae", "scanner": "scanner-primary", "fingerprint": "0688b1d62a70cd10", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c18371079b3e0408", "level": "error", "message": {"text": "Dangling fetch: GET /inventario/confronto/${CICLO_ID}/api (app/static/js/inventario/confronto.js:216)"}, "properties": {"repobilityId": "cc8b01844a38f43e", "scanner": "scanner-primary", "fingerprint": "c18371079b3e0408", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-65a56e3ca43aa887", "level": "error", "message": {"text": "Dangling fetch: GET /inventario/snapshot/${CICLO_ID}/status/${jobId} (app/static/js/inventario/confronto.js:230)"}, "properties": {"repobilityId": "6276b4ecd7dfac38", "scanner": "scanner-primary", "fingerprint": "65a56e3ca43aa887", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f0188628b447f787", "level": "error", "message": {"text": "Dangling fetch: POST /inventario/snapshot/${CICLO_ID}/refresh (app/static/js/inventario/confronto.js:251)"}, "properties": {"repobilityId": "5f253b8b7a1eaa88", "scanner": "scanner-primary", "fingerprint": "f0188628b447f787", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-133a32fb491fec79", "level": "error", "message": {"text": "Dangling fetch: GET /comercial/api/margem/filtros (app/static/js/comercial/margem.js:49)"}, "properties": {"repobilityId": "0bb455b7d5390262", "scanner": "scanner-primary", "fingerprint": "133a32fb491fec79", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8378bb9eaa2966c7", "level": "error", "message": {"text": "Dangling fetch: GET /comercial/api/margem/dados?${params} (app/static/js/comercial/margem.js:107)"}, "properties": {"repobilityId": "f907e62ada913494", "scanner": "scanner-primary", "fingerprint": "8378bb9eaa2966c7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-451ef3a68e151537", "level": "error", "message": {"text": "Dangling fetch: GET /comercial/api/margem/cliente/${encodeURIComponent(cnpj)}/historico (app/static/js/comercial/margem.js:433)"}, "properties": {"repobilityId": "6f6059c1baf65d42", "scanner": "scanner-primary", "fingerprint": "451ef3a68e151537", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8d21284d776bc5ec", "level": "error", "message": {"text": "Dangling fetch: GET /comercial/api/margem/pedido/${encodeURIComponent(numPedido)}/itens (app/static/js/comercial/margem.js:488)"}, "properties": {"repobilityId": "62e0d8ce29cf8885", "scanner": "scanner-primary", "fingerprint": "8d21284d776bc5ec", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e9eabb2bceeb6cab", "level": "error", "message": {"text": "Dangling fetch: GET /comercial/api/margem/calculo/${encodeURIComponent(numPedido)}/${encodeURIComponent(codProduto)} (app/static/js/comercial/margem.js:572)"}, "properties": {"repobilityId": "f3c71b3882cd9df7", "scanner": "scanner-primary", "fingerprint": "e9eabb2bceeb6cab", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8932ad1ac24263e9", "level": "error", "message": {"text": "Dangling fetch: GET /comercial/api/margem/dados?${params} (app/static/js/comercial/margem.js:657)"}, "properties": {"repobilityId": "7d1a1ab1e245b6ab", "scanner": "scanner-primary", "fingerprint": "8932ad1ac24263e9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-99489d2ee3d2b91b", "level": "error", "message": {"text": "Dangling fetch: POST /pedidos/verificar_monitoramento (app/static/js/pedidos/lista-nf.js:67)"}, "properties": {"repobilityId": "69d630b2f9962788", "scanner": "scanner-primary", "fingerprint": "99489d2ee3d2b91b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8db1c77d1951c0cb", "level": "error", "message": {"text": "Dangling fetch: GET /api/alertas-separacao/card-html (app/static/js/pedidos/lista-alertas.js:11)"}, "properties": {"repobilityId": "1f480a59e13f42b6", "scanner": "scanner-primary", "fingerprint": "8db1c77d1951c0cb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3eaf4442dd9ebbbe", "level": "error", "message": {"text": "Dangling fetch: POST /cotacao/verificar_nf_cd (app/static/js/pedidos/lista-cotacao.js:37)"}, "properties": {"repobilityId": "b493003fb80462bb", "scanner": "scanner-primary", "fingerprint": "3eaf4442dd9ebbbe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-df336a56e1c106bd", "level": "error", "message": {"text": "Dangling fetch: GET /api/recebimento/dfe/${dfeId}/pos-candidatos (app/static/js/recebimento/divergencias_shared.js:89)"}, "properties": {"repobilityId": "e3c411b02af24035", "scanner": "scanner-primary", "fingerprint": "df336a56e1c106bd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7072f9f0125c016f", "level": "error", "message": {"text": "Dangling fetch: POST /api/recebimento/divergencias-nf-po/${id}/aprovar (app/static/js/recebimento/divergencias_shared.js:444)"}, "properties": {"repobilityId": "b75802bc73db7b44", "scanner": "scanner-primary", "fingerprint": "7072f9f0125c016f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e9a4a378b50ca361", "level": "error", "message": {"text": "Dangling fetch: POST /api/recebimento/divergencias-nf-po/${id}/rejeitar (app/static/js/recebimento/divergencias_shared.js:471)"}, "properties": {"repobilityId": "4d01b252c8c894f1", "scanner": "scanner-primary", "fingerprint": "e9a4a378b50ca361", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d175df34a3a4697e", "level": "error", "message": {"text": "Dangling fetch: GET /api/recebimento/buscar-produto-odoo?cod_produto=${encodeURIComponent(cod)} (app/static/js/recebimento/divergencias_shared.js:554)"}, "properties": {"repobilityId": "9247dce224b9000d", "scanner": "scanner-primary", "fingerprint": "d175df34a3a4697e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6e22bad6e68c467b", "level": "error", "message": {"text": "Dangling fetch: POST /api/recebimento/divergencias-nf-po/${id}/criar-depara (app/static/js/recebimento/divergencias_shared.js:623)"}, "properties": {"repobilityId": "937468abd3b4b64a", "scanner": "scanner-primary", "fingerprint": "6e22bad6e68c467b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-44a53ce59828f5e6", "level": "error", "message": {"text": "Dangling fetch: POST /api/recebimento/executar-validacao (app/static/js/recebimento/divergencias_nf_po.js:42)"}, "properties": {"repobilityId": "3e9dca655f2919e9", "scanner": "scanner-primary", "fingerprint": "44a53ce59828f5e6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-72c701ca7dc3cdcf", "level": "error", "message": {"text": "Dangling fetch: GET /api/recebimento/autocomplete-produtos?termo=${encodeURIComponent(termo)}&limit=15 (app/static/js/recebimento/divergencias_nf_po.js:159)"}, "properties": {"repobilityId": "76eaca392d2bfd32", "scanner": "scanner-primary", "fingerprint": "72c701ca7dc3cdcf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7a688a99f0d7645a", "level": "error", "message": {"text": "Dangling fetch: GET /api/recebimento/validacoes-nf-po/${id} (app/static/js/recebimento/validacoes_nf_po.js:34)"}, "properties": {"repobilityId": "08d0588168b4ea85", "scanner": "scanner-primary", "fingerprint": "7a688a99f0d7645a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0a436191e9e1e824", "level": "error", "message": {"text": "Dangling fetch: POST /api/recebimento/validar-nf-po/${dfeId} (app/static/js/recebimento/validacoes_nf_po.js:307)"}, "properties": {"repobilityId": "4ec7a9ec35a5fa7e", "scanner": "scanner-primary", "fingerprint": "0a436191e9e1e824", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-20113e0569d512ab", "level": "error", "message": {"text": "Dangling fetch: POST /api/recebimento/consolidar-pos/${validacaoId} (app/static/js/recebimento/validacoes_nf_po.js:354)"}, "properties": {"repobilityId": "d6005ed00d0aecc6", "scanner": "scanner-primary", "fingerprint": "20113e0569d512ab", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-41ecb900df2ac28e", "level": "error", "message": {"text": "Dangling fetch: POST /api/recebimento/reverter-consolidacao/${validacaoId} (app/static/js/recebimento/validacoes_nf_po.js:376)"}, "properties": {"repobilityId": "63512acf36dee7f2", "scanner": "scanner-primary", "fingerprint": "41ecb900df2ac28e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1f95c44830e62ef5", "level": "error", "message": {"text": "Dangling fetch: POST /api/recebimento/executar-validacao (app/static/js/recebimento/validacoes_nf_po.js:425)"}, "properties": {"repobilityId": "4fe432ef4ce80009", "scanner": "scanner-primary", "fingerprint": "1f95c44830e62ef5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1cf8edf8b20b02fe", "level": "error", "message": {"text": "Dangling fetch: GET /api/recebimento/validacoes-nf-po/${validacaoId} (app/static/js/recebimento/validacoes_nf_po.js:516)"}, "properties": {"repobilityId": "6eb775b6b4f28fb0", "scanner": "scanner-primary", "fingerprint": "1cf8edf8b20b02fe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6047ab187beeebde", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/simulador-carga/catalogo (app/static/js/simulador-carga/simulador-ui.js:58)"}, "properties": {"repobilityId": "0d6a423bc9d6af69", "scanner": "scanner-primary", "fingerprint": "6047ab187beeebde", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4c8e1086c703b831", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/parametros/listar (app/static/js/custeio/parametros.js:27)"}, "properties": {"repobilityId": "9294ac073a0fea62", "scanner": "scanner-primary", "fingerprint": "4c8e1086c703b831", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bf016af945301ed7", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/parametros/obter/CUSTO_OPERACAO_PERCENTUAL (app/static/js/custeio/parametros.js:44)"}, "properties": {"repobilityId": "fb977eeb9cb08af7", "scanner": "scanner-primary", "fingerprint": "bf016af945301ed7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d3b35041c9a58dfb", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/parametros/obter/CUSTO_FINANCEIRO_PERCENTUAL (app/static/js/custeio/parametros.js:57)"}, "properties": {"repobilityId": "76bbe4fd8f10524b", "scanner": "scanner-primary", "fingerprint": "d3b35041c9a58dfb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dee5efd96a5da2ea", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/parametros.js:128)"}, "properties": {"repobilityId": "1af16ae601264973", "scanner": "scanner-primary", "fingerprint": "dee5efd96a5da2ea", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a93031911eb541d1", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/parametros.js:173)"}, "properties": {"repobilityId": "049ac2eeca97b337", "scanner": "scanner-primary", "fingerprint": "a93031911eb541d1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-36e305397429028e", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/parametros.js:249)"}, "properties": {"repobilityId": "f41bc6741f10eb14", "scanner": "scanner-primary", "fingerprint": "36e305397429028e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-72a2a8953234b918", "level": "error", "message": {"text": "Dangling fetch: DELETE /custeio/api/parametros/excluir/${id} (app/static/js/custeio/parametros.js:287)"}, "properties": {"repobilityId": "586f109a60b398c3", "scanner": "scanner-primary", "fingerprint": "72a2a8953234b918", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ba999a574ef0ed34", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/parametros/importar (app/static/js/custeio/parametros.js:320)"}, "properties": {"repobilityId": "c114e93d8e82457c", "scanner": "scanner-primary", "fingerprint": "ba999a574ef0ed34", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b6938ebe01a09a47", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/mensal/listar?mes=${mes}&ano=${ano}&tipo=${tipo} (app/static/js/custeio/mensal.js:34)"}, "properties": {"repobilityId": "10611a4d07ffd6b4", "scanner": "scanner-primary", "fingerprint": "b6938ebe01a09a47", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4863d61575385054", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/mensal/detalhe-bom/${codProduto}?mes=${mes}&ano=${ano} (app/static/js/custeio/mensal.js:194)"}, "properties": {"repobilityId": "0a4ffd0d0a339bc4", "scanner": "scanner-primary", "fingerprint": "4863d61575385054", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-86fd66f36103c2a8", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/mensal/simular?mes=${mes}&ano=${ano} (app/static/js/custeio/mensal.js:316)"}, "properties": {"repobilityId": "deff90dd101b50ee", "scanner": "scanner-primary", "fingerprint": "86fd66f36103c2a8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-777fda67623ad568", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/mensal/listar?mes=${mes}&ano=${ano} (app/static/js/custeio/custeio.js:67)"}, "properties": {"repobilityId": "cc26718e8c78f07d", "scanner": "scanner-primary", "fingerprint": "777fda67623ad568", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a52ee9a06871e91c", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/considerado/listar (app/static/js/custeio/custeio.js:88)"}, "properties": {"repobilityId": "507e9349387a78ec", "scanner": "scanner-primary", "fingerprint": "a52ee9a06871e91c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2e8d38f32f47b95e", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/estatisticas (app/static/js/custeio/custeio.js:104)"}, "properties": {"repobilityId": "a58754afe9863a54", "scanner": "scanner-primary", "fingerprint": "2e8d38f32f47b95e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-88ff76442bbee984", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/considerado/alterar-tipo (app/static/js/custeio/custeio.js:229)"}, "properties": {"repobilityId": "78ecfcc8845dc366", "scanner": "scanner-primary", "fingerprint": "88ff76442bbee984", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ab13935529cd2550", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/mensal/simular?mes=${mes}&ano=${ano} (app/static/js/custeio/custeio.js:269)"}, "properties": {"repobilityId": "705da09d1708b93d", "scanner": "scanner-primary", "fingerprint": "ab13935529cd2550", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b0ba27997f98edaf", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/frete/listar?apenas_vigentes=false (app/static/js/custeio/custeio.js:417)"}, "properties": {"repobilityId": "8c58e3edede8dda2", "scanner": "scanner-primary", "fingerprint": "b0ba27997f98edaf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ff4d0446e701a664", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/frete/salvar (app/static/js/custeio/custeio.js:505)"}, "properties": {"repobilityId": "6af213291ff9684c", "scanner": "scanner-primary", "fingerprint": "ff4d0446e701a664", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-844140b2215781d8", "level": "error", "message": {"text": "Dangling fetch: DELETE /custeio/api/frete/excluir/${id} (app/static/js/custeio/custeio.js:541)"}, "properties": {"repobilityId": "4085ec023bd698b6", "scanner": "scanner-primary", "fingerprint": "844140b2215781d8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5e40842417728957", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/parametros/listar (app/static/js/custeio/custeio.js:570)"}, "properties": {"repobilityId": "fddbd034d7b56c58", "scanner": "scanner-primary", "fingerprint": "5e40842417728957", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-176412bf462ce720", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/custeio.js:650)"}, "properties": {"repobilityId": "a9fa4c17eb87a14a", "scanner": "scanner-primary", "fingerprint": "176412bf462ce720", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-394422dfe1335bfc", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/frete/importar (app/static/js/custeio/custeio.js:693)"}, "properties": {"repobilityId": "a62a8435469dbea8", "scanner": "scanner-primary", "fingerprint": "394422dfe1335bfc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4a999a0ac925b811", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/parametros/importar (app/static/js/custeio/custeio.js:734)"}, "properties": {"repobilityId": "15f7aca4e2f2699d", "scanner": "scanner-primary", "fingerprint": "4a999a0ac925b811", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2a699acc035d802a", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/produtos/buscar?termo=${encodeURIComponent(termo)} (app/static/js/custeio/custeio.js:801)"}, "properties": {"repobilityId": "66d82681a98db4b2", "scanner": "scanner-primary", "fingerprint": "2a699acc035d802a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dd710d1d7e4ac780", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/considerado/cadastrar (app/static/js/custeio/custeio.js:872)"}, "properties": {"repobilityId": "7b5cc51f4161976a", "scanner": "scanner-primary", "fingerprint": "dd710d1d7e4ac780", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a71cd0064307cf46", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/comissao/grupos (app/static/js/custeio/comissao.js:46)"}, "properties": {"repobilityId": "2e766306a9f0bafc", "scanner": "scanner-primary", "fingerprint": "a71cd0064307cf46", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8492745ee4930dc1", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/comissao/vendedores (app/static/js/custeio/comissao.js:54)"}, "properties": {"repobilityId": "1ae122e56d570d64", "scanner": "scanner-primary", "fingerprint": "8492745ee4930dc1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8935510920919c91", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/comissao/salvar (app/static/js/custeio/comissao.js:449)"}, "properties": {"repobilityId": "91de36476e3a339f", "scanner": "scanner-primary", "fingerprint": "8935510920919c91", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e4fa74a8b79fe677", "level": "error", "message": {"text": "Dangling fetch: DELETE /custeio/api/comissao/excluir/${id} (app/static/js/custeio/comissao.js:482)"}, "properties": {"repobilityId": "43eeb400382bf7cc", "scanner": "scanner-primary", "fingerprint": "e4fa74a8b79fe677", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-aed054dd52b8159b", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/margem/recalcular (app/static/js/custeio/comissao.js:550)"}, "properties": {"repobilityId": "6b493b89b7dca9ab", "scanner": "scanner-primary", "fingerprint": "aed054dd52b8159b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-092a7f30ec547efe", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/comissao/importar (app/static/js/custeio/comissao.js:608)"}, "properties": {"repobilityId": "42bc3eac1c5184d9", "scanner": "scanner-primary", "fingerprint": "092a7f30ec547efe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-df7eb57aae08d2ff", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/dashboard/estatisticas (app/static/js/custeio/dashboard.js:18)"}, "properties": {"repobilityId": "b645f147cc8cbfcf", "scanner": "scanner-primary", "fingerprint": "df7eb57aae08d2ff", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-adfb0c58f926ed8c", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/parametros/obter/CUSTO_OPERACAO_PERCENTUAL (app/static/js/custeio/dashboard.js:64)"}, "properties": {"repobilityId": "974b1b3e1d016610", "scanner": "scanner-primary", "fingerprint": "adfb0c58f926ed8c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-378a49b9b32db854", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/parametros/salvar (app/static/js/custeio/dashboard.js:97)"}, "properties": {"repobilityId": "4cc6c2ae6113a4a2", "scanner": "scanner-primary", "fingerprint": "378a49b9b32db854", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f45dfd5f7bfcd070", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/producao/listar?tipo=${tipo} (app/static/js/custeio/producao.js:26)"}, "properties": {"repobilityId": "f9032257078729db", "scanner": "scanner-primary", "fingerprint": "f45dfd5f7bfcd070", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-38213877fb77233d", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/producao/salvar (app/static/js/custeio/producao.js:153)"}, "properties": {"repobilityId": "5a2d3d08ff670007", "scanner": "scanner-primary", "fingerprint": "38213877fb77233d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-218877df1b28996b", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/producao/importar (app/static/js/custeio/producao.js:224)"}, "properties": {"repobilityId": "39616005900592c2", "scanner": "scanner-primary", "fingerprint": "218877df1b28996b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a7246ae31c31d330", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/definicao/listar?tipo=${tipo}&termo=${termo} (app/static/js/custeio/definicao.js:36)"}, "properties": {"repobilityId": "858b862a6bd11d9b", "scanner": "scanner-primary", "fingerprint": "a7246ae31c31d330", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d380060c86bf9b05", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/definicao/bom/${codProduto}?criterio=${tipoValor} (app/static/js/custeio/definicao.js:253)"}, "properties": {"repobilityId": "10e097dcf0e25cdc", "scanner": "scanner-primary", "fingerprint": "d380060c86bf9b05", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9b401c8596b9bc02", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/definicao/salvar (app/static/js/custeio/definicao.js:571)"}, "properties": {"repobilityId": "729946298d5d91a2", "scanner": "scanner-primary", "fingerprint": "9b401c8596b9bc02", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fa2feb5a86e68ade", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/definicao/importar (app/static/js/custeio/definicao.js:644)"}, "properties": {"repobilityId": "6a5daac622f268d5", "scanner": "scanner-primary", "fingerprint": "fa2feb5a86e68ade", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-eaf84d098234dc2a", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/definicao/custo-detalhes/${codProduto}?tipo=${tipoCusto} (app/static/js/custeio/definicao.js:717)"}, "properties": {"repobilityId": "8133fff53a6a30ff", "scanner": "scanner-primary", "fingerprint": "eaf84d098234dc2a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2ef6ad8e92d4936c", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/definicao/custo-detalhes/${codProduto}?tipo=${tipoCusto}&historico=${modalHistoricoAtivo} (app/static/js/custeio/definicao.js:764)"}, "properties": {"repobilityId": "b87156e5890a9b25", "scanner": "scanner-primary", "fingerprint": "2ef6ad8e92d4936c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1d5ff73d3fdadec4", "level": "error", "message": {"text": "Dangling fetch: GET /custeio/api/frete/listar?apenas_vigentes=${apenasVigentes} (app/static/js/custeio/frete.js:43)"}, "properties": {"repobilityId": "c2399082d87b5a57", "scanner": "scanner-primary", "fingerprint": "1d5ff73d3fdadec4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c0401971f870a096", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/frete/salvar (app/static/js/custeio/frete.js:166)"}, "properties": {"repobilityId": "8014db2c95efcf9e", "scanner": "scanner-primary", "fingerprint": "c0401971f870a096", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4c3397b1d4858281", "level": "error", "message": {"text": "Dangling fetch: DELETE /custeio/api/frete/excluir/${id} (app/static/js/custeio/frete.js:206)"}, "properties": {"repobilityId": "ae663f21bca65985", "scanner": "scanner-primary", "fingerprint": "4c3397b1d4858281", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e212bc4275116ef2", "level": "error", "message": {"text": "Dangling fetch: POST /custeio/api/frete/importar (app/static/js/custeio/frete.js:248)"}, "properties": {"repobilityId": "baaa86e2a71b483b", "scanner": "scanner-primary", "fingerprint": "e212bc4275116ef2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-79bc79c974fb7e9e", "level": "error", "message": {"text": "Dangling fetch: GET /api/chat/ui/drawer (app/static/chat/js/chat_ui.js:167)"}, "properties": {"repobilityId": "1ba54be925c5182c", "scanner": "scanner-primary", "fingerprint": "79bc79c974fb7e9e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-54d3f75ce2305814", "level": "error", "message": {"text": "Dangling fetch: GET /api/chat/bootstrap (app/static/chat/js/chat_client.js:176)"}, "properties": {"repobilityId": "2f60aa68276ec5d6", "scanner": "scanner-primary", "fingerprint": "54d3f75ce2305814", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-96b759a61729d44d", "level": "error", "message": {"text": "Dangling fetch: POST /api/chat/threads/${encodeURIComponent(thread_id)}/read (app/static/chat/js/chat_client.js:223)"}, "properties": {"repobilityId": "66d5dd3c48122ce4", "scanner": "scanner-primary", "fingerprint": "96b759a61729d44d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f34968183436efee", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/sessions/${targetSessionId}/messages (app/static/agente/js/chat.js:134)"}, "properties": {"repobilityId": "e96c6198a6add2c5", "scanner": "scanner-primary", "fingerprint": "f34968183436efee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2b2fc3cbfef73c7a", "level": "error", "message": {"text": "Dangling fetch: POST /agente/api/interrupt (app/static/agente/js/chat.js:233)"}, "properties": {"repobilityId": "d19c8ab430da5f5f", "scanner": "scanner-primary", "fingerprint": "2b2fc3cbfef73c7a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d6225ccd84bed699", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/user-preferences (app/static/agente/js/chat.js:464)"}, "properties": {"repobilityId": "b179dbdf2c478733", "scanner": "scanner-primary", "fingerprint": "d6225ccd84bed699", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-36b134e60f2b4fdb", "level": "error", "message": {"text": "Dangling fetch: POST /agente/api/user-preferences (app/static/agente/js/chat.js:483)"}, "properties": {"repobilityId": "fcd931ae42abf520", "scanner": "scanner-primary", "fingerprint": "36b134e60f2b4fdb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c7a0c114f71e8492", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/sessions/${capturedSessionId}/subagents/${agentId}/summary (app/static/agente/js/chat.js:1514)"}, "properties": {"repobilityId": "21b11527c5fbc28b", "scanner": "scanner-primary", "fingerprint": "c7a0c114f71e8492", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bd8a4246fd880fbc", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/sessions/${sid}/subagents/${agentId}/summary (app/static/agente/js/chat.js:1672)"}, "properties": {"repobilityId": "7be286194091eec7", "scanner": "scanner-primary", "fingerprint": "bd8a4246fd880fbc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7b836e768b0b5c39", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/sessions/${sid}/subagents/${agentId}/transcript (app/static/agente/js/chat.js:1691)"}, "properties": {"repobilityId": "4d004b67967154b4", "scanner": "scanner-primary", "fingerprint": "7b836e768b0b5c39", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-796ba082813b870c", "level": "error", "message": {"text": "Dangling fetch: POST /agente/api/sessions/${sessionId}/subagents/${_currentModalAgentId}/pii-toggle (app/static/agente/js/chat.js:1900)"}, "properties": {"repobilityId": "d9434d5912930716", "scanner": "scanner-primary", "fingerprint": "796ba082813b870c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-85b0ba465ee062af", "level": "error", "message": {"text": "Dangling fetch: PATCH /agente/api/sessions/${sessionId}/subagents/${agentId} (app/static/agente/js/chat.js:1978)"}, "properties": {"repobilityId": "2a718b9c0e992070", "scanner": "scanner-primary", "fingerprint": "85b0ba465ee062af", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-584f566bf5dafb6e", "level": "error", "message": {"text": "Dangling fetch: PATCH /agente/api/sessions/${sessionId}/subagents/${agentId} (app/static/agente/js/chat.js:2023)"}, "properties": {"repobilityId": "9d7969c31e63ac01", "scanner": "scanner-primary", "fingerprint": "584f566bf5dafb6e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2b2555b1fae5db30", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/sessions?limit=50 (app/static/agente/js/chat.js:3586)"}, "properties": {"repobilityId": "ce04dda1429c0d10", "scanner": "scanner-primary", "fingerprint": "2b2555b1fae5db30", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-933ddebcbe8770b0", "level": "error", "message": {"text": "Dangling fetch: POST /agente/api/sessions/${encodeURIComponent(sourceSessionId)}/fork (app/static/agente/js/chat.js:3780)"}, "properties": {"repobilityId": "78d90e7054cedd8a", "scanner": "scanner-primary", "fingerprint": "933ddebcbe8770b0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3ab8efecc2a4c294", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/sessions/${sessionId}/messages (app/static/agente/js/chat.js:3922)"}, "properties": {"repobilityId": "8d4caf9ff2714a6f", "scanner": "scanner-primary", "fingerprint": "3ab8efecc2a4c294", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e24941097ec950b7", "level": "error", "message": {"text": "Dangling fetch: PUT /agente/api/sessions/${id}/rename (app/static/agente/js/chat.js:3999)"}, "properties": {"repobilityId": "24e5e5503ad1a784", "scanner": "scanner-primary", "fingerprint": "e24941097ec950b7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-37de3cffd9b5ffda", "level": "error", "message": {"text": "Dangling fetch: DELETE /agente/api/sessions/${id} (app/static/agente/js/chat.js:4040)"}, "properties": {"repobilityId": "a87fd7aeaf48a154", "scanner": "scanner-primary", "fingerprint": "37de3cffd9b5ffda", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-58752cb4dedd2dee", "level": "error", "message": {"text": "Dangling fetch: POST /agente/api/upload (app/static/agente/js/chat.js:4147)"}, "properties": {"repobilityId": "2c61b2623d6cd5b1", "scanner": "scanner-primary", "fingerprint": "58752cb4dedd2dee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-cf8259a0b6e9486c", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/sessions?limit=1 (app/static/agente/js/chat.js:4472)"}, "properties": {"repobilityId": "55c17c3b10ad2ba6", "scanner": "scanner-primary", "fingerprint": "cf8259a0b6e9486c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1b75e1e82d68961b", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/sessions?limit=50 (app/static/agente/js/chat.js:4481)"}, "properties": {"repobilityId": "762657a3ab9b4122", "scanner": "scanner-primary", "fingerprint": "1b75e1e82d68961b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-47feb89af8de5754", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/health (app/static/agente/js/chat.js:4497)"}, "properties": {"repobilityId": "f70cfbf474b8dbda", "scanner": "scanner-primary", "fingerprint": "47feb89af8de5754", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-749f3559894678ad", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/csrf-token (app/static/agente/js/chat.js:4516)"}, "properties": {"repobilityId": "b6382056fb3b42b4", "scanner": "scanner-primary", "fingerprint": "749f3559894678ad", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8b7e5ca2edbb0ad3", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/memories/users (app/static/agente/js/chat.js:4659)"}, "properties": {"repobilityId": "3eb892464e06d05a", "scanner": "scanner-primary", "fingerprint": "8b7e5ca2edbb0ad3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-748a5ef3b9acfed5", "level": "error", "message": {"text": "Dangling fetch: PUT /agente/api/memories/${memoryId} (app/static/agente/js/chat.js:4842)"}, "properties": {"repobilityId": "e311d00f09bbbf93", "scanner": "scanner-primary", "fingerprint": "748a5ef3b9acfed5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b0996dcee35c9720", "level": "error", "message": {"text": "Dangling fetch: DELETE /agente/api/memories/${memoryId} (app/static/agente/js/chat.js:4872)"}, "properties": {"repobilityId": "6f338837a79c4e7c", "scanner": "scanner-primary", "fingerprint": "b0996dcee35c9720", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bec11c598c2e9faa", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/sessions/summaries?limit=20 (app/static/agente/js/chat.js:4915)"}, "properties": {"repobilityId": "2613f9cf81b73f7d", "scanner": "scanner-primary", "fingerprint": "bec11c598c2e9faa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7a34ef646a9ea78b", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/briefing (app/static/agente/js/chat.js:5016)"}, "properties": {"repobilityId": "1a302b4d627db5d8", "scanner": "scanner-primary", "fingerprint": "7a34ef646a9ea78b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-080004bdcb6b5a06", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/sessions/${sessionIdToExport}/messages (app/static/agente/js/chat.js:5254)"}, "properties": {"repobilityId": "a6706d54946319dd", "scanner": "scanner-primary", "fingerprint": "080004bdcb6b5a06", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-47dbc2997c1ca1ca", "level": "error", "message": {"text": "Dangling fetch: PUT /agente/api/improvement-dialogue/${itemId}/respond (app/static/agente/js/chat.js:5504)"}, "properties": {"repobilityId": "af23d52e9790873f", "scanner": "scanner-primary", "fingerprint": "47dbc2997c1ca1ca", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-62bbf928eff73152", "level": "error", "message": {"text": "Dangling fetch: PUT /agente/api/memories/${memoryId}/review (app/static/agente/js/chat.js:5530)"}, "properties": {"repobilityId": "8c8e714c56330bcc", "scanner": "scanner-primary", "fingerprint": "62bbf928eff73152", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9d6532f619bf5d20", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/artifacts?limit=100 (app/static/agente/js/chat.js:6421)"}, "properties": {"repobilityId": "85410ba15db956cd", "scanner": "scanner-primary", "fingerprint": "9d6532f619bf5d20", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7ff3540641f08a0d", "level": "error", "message": {"text": "Dangling fetch: GET /agente/api/artifacts?limit=100 (app/static/agente/js/chat.js:6537)"}, "properties": {"repobilityId": "d1defa6d465d71be", "scanner": "scanner-primary", "fingerprint": "7ff3540641f08a0d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-374617adbedba197", "level": "error", "message": {"text": "Dangling fetch: POST /motos-assai/faturamento/sep/${sepId}/expedicao (app/static/motos_assai/js/upload_nf_modal_expedicao.js:48)"}, "properties": {"repobilityId": "47a7473833914951", "scanner": "scanner-primary", "fingerprint": "374617adbedba197", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4b058cd50c0a8458", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/recursos/api/separacoes-estoque?${params} (app/static/manufatura/necessidade_producao/js/necessidade-producao.js:886)"}, "properties": {"repobilityId": "b9cf5b18db329669", "scanner": "scanner-primary", "fingerprint": "4b058cd50c0a8458", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bc8d0b0b4995f945", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/api/necessidade-producao/bom-recursiva-estoque?cod_produto=${codProduto} (app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1394)"}, "properties": {"repobilityId": "5e2486d4b578db95", "scanner": "scanner-primary", "fingerprint": "bc8d0b0b4995f945", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-81bf1810ee4648c8", "level": "error", "message": {"text": "Dangling fetch: POST /manufatura/api/necessidade-producao/adicionar-programacao (app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1548)"}, "properties": {"repobilityId": "1acb43d3cf6623a3", "scanner": "scanner-primary", "fingerprint": "81bf1810ee4648c8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-91ac61a347254af6", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/recursos/api/separacoes-estoque?${params} (app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1580)"}, "properties": {"repobilityId": "c61f5baa474d3673", "scanner": "scanner-primary", "fingerprint": "91ac61a347254af6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f8d2fba3487f7536", "level": "error", "message": {"text": "Dangling fetch: PUT /manufatura/api/necessidade-producao/editar-programacao/${programacaoId} (app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1622)"}, "properties": {"repobilityId": "47216571db782106", "scanner": "scanner-primary", "fingerprint": "f8d2fba3487f7536", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-05d4fd39e1356c4c", "level": "error", "message": {"text": "Dangling fetch: DELETE /manufatura/api/necessidade-producao/excluir-programacao/${programacaoId} (app/static/manufatura/necessidade_producao/js/necessidade-producao.js:1673)"}, "properties": {"repobilityId": "20326e71a96fcf47", "scanner": "scanner-primary", "fingerprint": "05d4fd39e1356c4c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3cc7a13493a76972", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/api/necessidade-producao/recursos-produtivos?${params} (app/static/manufatura/necessidade_producao/js/modals/modal-recursos-produtivos.js:54)"}, "properties": {"repobilityId": "77c97a133678a496", "scanner": "scanner-primary", "fingerprint": "3cc7a13493a76972", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-64189c28b4cb1342", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/api/requisicoes-compras/${linhaId}/projecao (app/static/manufatura/requisicoes_compras/js/requisicoes-compras.js:115)"}, "properties": {"repobilityId": "15e35c9482de69f5", "scanner": "scanner-primary", "fingerprint": "64189c28b4cb1342", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9683a7604df4bb0f", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/projecao-estoque/api/projetar-consolidado (app/static/manufatura/projecao_estoque/js/projecao-consolidado.js:101)"}, "properties": {"repobilityId": "c532eeb66fa6dbef", "scanner": "scanner-primary", "fingerprint": "9683a7604df4bb0f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1efb9579038d8d1e", "level": "error", "message": {"text": "Dangling fetch: DELETE /manufatura/recursos/api/programacao/${id} (app/static/manufatura/programacao_linhas/js/programacao-linhas-table-view.js:208)"}, "properties": {"repobilityId": "428518c6ab0a2ef6", "scanner": "scanner-primary", "fingerprint": "1efb9579038d8d1e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4ebdb609661385e9", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/recursos/api/programacao-linhas/dados?${params} (app/static/manufatura/programacao_linhas/js/programacao-linhas.js:60)"}, "properties": {"repobilityId": "cb6ffc91940d17e4", "scanner": "scanner-primary", "fingerprint": "4ebdb609661385e9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7ba68894342e2703", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/recursos/api/separacoes-estoque?${params} (app/static/manufatura/programacao_linhas/js/programacao-linhas.js:324)"}, "properties": {"repobilityId": "aade0795d4f3fd05", "scanner": "scanner-primary", "fingerprint": "7ba68894342e2703", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-87cc5e00d2d28264", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/api/necessidade-producao/autocomplete-produtos?termo=${encodeURIComponent(termo)} (app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js:76)"}, "properties": {"repobilityId": "86917cffbb246b32", "scanner": "scanner-primary", "fingerprint": "87cc5e00d2d28264", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e9e06609e14e512c", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/api/lista-materiais/produtos-produzidos (app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js:133)"}, "properties": {"repobilityId": "0f60fdad45b1dc74", "scanner": "scanner-primary", "fingerprint": "e9e06609e14e512c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3f1da95d653a8c3b", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/recursos/api/listar?search=${encodeURIComponent(codProduto)} (app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js:182)"}, "properties": {"repobilityId": "a5116473a4c9ef9e", "scanner": "scanner-primary", "fingerprint": "3f1da95d653a8c3b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4b5df79946114ebd", "level": "error", "message": {"text": "Dangling fetch: POST /manufatura/api/necessidade-producao/adicionar-programacao (app/static/manufatura/programacao_linhas/js/modal-adicionar-programacao.js:261)"}, "properties": {"repobilityId": "919f8fdc2a3fd91a", "scanner": "scanner-primary", "fingerprint": "4b5df79946114ebd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6941e25933d8e755", "level": "error", "message": {"text": "Dangling fetch: PUT /manufatura/recursos/api/programacao/${id} (app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamentos.js:681)"}, "properties": {"repobilityId": "38e4748647c12d20", "scanner": "scanner-primary", "fingerprint": "6941e25933d8e755", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-970ac80d86ed4728", "level": "error", "message": {"text": "Dangling fetch: PUT /manufatura/recursos/api/programacao/${id} (app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamentos.js:706)"}, "properties": {"repobilityId": "1ee772eadfdc7a7d", "scanner": "scanner-primary", "fingerprint": "970ac80d86ed4728", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3a881f462b97ac1f", "level": "error", "message": {"text": "Dangling fetch: DELETE /manufatura/recursos/api/programacao/${id} (app/static/manufatura/programacao_linhas/js/programacao-linhas-agrupamentos.js:733)"}, "properties": {"repobilityId": "93028f8d1bae64be", "scanner": "scanner-primary", "fingerprint": "3a881f462b97ac1f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ecf66dc654e13e52", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/api/lista-materiais/produtos-produzidos?busca=${encodeURIComponent(busca)} (app/static/manufatura/lista_materiais/js/lista_materiais.js:69)"}, "properties": {"repobilityId": "0a9d0497977ac334", "scanner": "scanner-primary", "fingerprint": "ecf66dc654e13e52", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d2efac52a6381807", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/api/lista-materiais/${codProduto} (app/static/manufatura/lista_materiais/js/lista_materiais.js:539)"}, "properties": {"repobilityId": "c6eb72596e1fe010", "scanner": "scanner-primary", "fingerprint": "d2efac52a6381807", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dbe340bd0913a32b", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/api/lista-materiais/${codProduto} (app/static/manufatura/lista_materiais/js/lista_materiais.js:614)"}, "properties": {"repobilityId": "f8d1ebfe542761bb", "scanner": "scanner-primary", "fingerprint": "dbe340bd0913a32b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-14030976bc18c11d", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/api/lista-materiais/produtos-produzidos?busca=${codigo} (app/static/manufatura/lista_materiais/js/lista_materiais.js:861)"}, "properties": {"repobilityId": "df712538512fb206", "scanner": "scanner-primary", "fingerprint": "14030976bc18c11d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a3ed1db9bcc8958a", "level": "error", "message": {"text": "Dangling fetch: DELETE /manufatura/api/lista-materiais/${componenteId} (app/static/manufatura/lista_materiais/js/lista_materiais.js:949)"}, "properties": {"repobilityId": "881a50fd9ed7be0c", "scanner": "scanner-primary", "fingerprint": "a3ed1db9bcc8958a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-93855772ec0f2b77", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/api/lista-materiais/validar/${this.produtoAtual} (app/static/manufatura/lista_materiais/js/lista_materiais.js:1087)"}, "properties": {"repobilityId": "a01a7a4677645ffc", "scanner": "scanner-primary", "fingerprint": "93855772ec0f2b77", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8ea1ffce30a88bac", "level": "error", "message": {"text": "Dangling fetch: GET /manufatura/sugestao-compras/api/calcular (app/static/manufatura/sugestao_compras/js/sugestao.js:26)"}, "properties": {"repobilityId": "6f7aab64830a780e", "scanner": "scanner-primary", "fingerprint": "8ea1ffce30a88bac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bdd04d989e52ea66", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/cotacoes/enderecos-cliente/${clienteId} (app/templates/carvia/js/cotacoes/detalhe.js:159)"}, "properties": {"repobilityId": "6418139994de4e23", "scanner": "scanner-primary", "fingerprint": "bdd04d989e52ea66", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-64c31c3bc3741dba", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/cotacoes/destino-provisorio (app/templates/carvia/js/cotacoes/detalhe.js:369)"}, "properties": {"repobilityId": "d49a0ec5346dde2c", "scanner": "scanner-primary", "fingerprint": "64c31c3bc3741dba", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4521a53975ff7dfd", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/cotacoes/origens-globais (app/templates/carvia/js/cotacoes/detalhe.js:699)"}, "properties": {"repobilityId": "d95a16840b02f050", "scanner": "scanner-primary", "fingerprint": "4521a53975ff7dfd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5f96840e741c77cb", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/cotacoes/${cotacaoId}/nf (app/templates/carvia/js/cotacoes/detalhe.js:730)"}, "properties": {"repobilityId": "7ee7a32bdee09ff5", "scanner": "scanner-primary", "fingerprint": "5f96840e741c77cb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-38432ef68791c215", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/preview-emissao-cte (app/templates/carvia/js/cotacoes/detalhe.js:945)"}, "properties": {"repobilityId": "bc08ef99e4ca4e7f", "scanner": "scanner-primary", "fingerprint": "38432ef68791c215", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0c619527c2b847fd", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/cotacoes/${cotacaoId}/emitir-cte (app/templates/carvia/js/cotacoes/detalhe.js:1043)"}, "properties": {"repobilityId": "b16abd83d72fbb0c", "scanner": "scanner-primary", "fingerprint": "0c619527c2b847fd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-09e1017589e7e9fd", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/calcular-preco (app/templates/carvia/js/cotacoes/detalhe.js:523)"}, "properties": {"repobilityId": "4c8fa1312f5a8c32", "scanner": "scanner-primary", "fingerprint": "09e1017589e7e9fd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:apiCall"]}}, {"ruleId": "scanner-a287ca1b2c3e1fa7", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/enviar (app/templates/carvia/js/cotacoes/detalhe.js:619)"}, "properties": {"repobilityId": "e7cb23a72d274c6e", "scanner": "scanner-primary", "fingerprint": "a287ca1b2c3e1fa7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:apiCall"]}}, {"ruleId": "scanner-6d1b63e49799fbe9", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/aprovar-cliente (app/templates/carvia/js/cotacoes/detalhe.js:620)"}, "properties": {"repobilityId": "81c4991cb7a70dfe", "scanner": "scanner-primary", "fingerprint": "6d1b63e49799fbe9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:apiCall"]}}, {"ruleId": "scanner-c768c2be46e77a3e", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/recusar-cliente (app/templates/carvia/js/cotacoes/detalhe.js:621)"}, "properties": {"repobilityId": "893be43565940f87", "scanner": "scanner-primary", "fingerprint": "c768c2be46e77a3e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:apiCall"]}}, {"ruleId": "scanner-d0b12424cbed5ca7", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/cancelar (app/templates/carvia/js/cotacoes/detalhe.js:628)"}, "properties": {"repobilityId": "c8d193db7f1b4519", "scanner": "scanner-primary", "fingerprint": "d0b12424cbed5ca7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:apiCall"]}}, {"ruleId": "scanner-ba7dcb24a2fb5d59", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/reabrir (app/templates/carvia/js/cotacoes/detalhe.js:630)"}, "properties": {"repobilityId": "e6303fa21e02cd96", "scanner": "scanner-primary", "fingerprint": "ba7dcb24a2fb5d59", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:apiCall"]}}, {"ruleId": "scanner-1d1f6308a41d0357", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/admin-aprovar (app/templates/carvia/js/cotacoes/detalhe.js:631)"}, "properties": {"repobilityId": "3fa8954d359b83d8", "scanner": "scanner-primary", "fingerprint": "1d1f6308a41d0357", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:apiCall"]}}, {"ruleId": "scanner-1f50d66ffc78a115", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/cotacoes/${cotacaoId}/admin-rejeitar (app/templates/carvia/js/cotacoes/detalhe.js:632)"}, "properties": {"repobilityId": "5f569a6aa39bd53d", "scanner": "scanner-primary", "fingerprint": "1f50d66ffc78a115", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:apiCall"]}}, {"ruleId": "scanner-b30d85544b57310f", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/cotacoes/enderecos-cliente/${clienteId} (app/templates/carvia/js/cotacoes/criar.js:13)"}, "properties": {"repobilityId": "ebe46b57f714ef9e", "scanner": "scanner-primary", "fingerprint": "b30d85544b57310f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-354e9a7870a23f85", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/cotacoes/setup-nf (app/templates/carvia/js/cotacoes/criar.js:184)"}, "properties": {"repobilityId": "63548d6d6da77aef", "scanner": "scanner-primary", "fingerprint": "354e9a7870a23f85", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7185f83b2ec040e8", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/cotacoes/criar-cliente-rapido (app/templates/carvia/js/cotacoes/criar.js:428)"}, "properties": {"repobilityId": "d1d4df843bf689e0", "scanner": "scanner-primary", "fingerprint": "7185f83b2ec040e8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f278e39785bee65f", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/cotacoes/criar-cliente-rapido (app/templates/carvia/js/cotacoes/criar.js:499)"}, "properties": {"repobilityId": "6e341afcef7959af", "scanner": "scanner-primary", "fingerprint": "f278e39785bee65f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-89bde6dd21f33b1d", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/cotacoes/destino-provisorio (app/templates/carvia/js/cotacoes/criar.js:751)"}, "properties": {"repobilityId": "99cb7a483769f45f", "scanner": "scanner-primary", "fingerprint": "89bde6dd21f33b1d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-161187598406b966", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/conciliacao/documentos-elegiveis?tipo=receber (app/templates/carvia/js/conciliacao/conciliacao.js:42)"}, "properties": {"repobilityId": "c6c2a7b4c0941491", "scanner": "scanner-primary", "fingerprint": "161187598406b966", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f5652ea2a7d6c7fb", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/conciliacao/documentos-elegiveis?tipo=${tipoMatchAtual}${linhaParam}${filtrosServer} (app/templates/carvia/js/conciliacao/conciliacao.js:214)"}, "properties": {"repobilityId": "6205316f6a790ef8", "scanner": "scanner-primary", "fingerprint": "f5652ea2a7d6c7fb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-27988a6d138c8bd0", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/importacao/editar-item (app/templates/carvia/js/importar/resultado.js:48)"}, "properties": {"repobilityId": "667d16eb4054747a", "scanner": "scanner-primary", "fingerprint": "27988a6d138c8bd0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-225eb797e9a0f186", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/importacao/editar-item (app/templates/carvia/js/importar/resultado.js:100)"}, "properties": {"repobilityId": "1ee1d0cc344e9061", "scanner": "scanner-primary", "fingerprint": "225eb797e9a0f186", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1058c3d4755823f4", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/importacao/editar-item-detalhe (app/templates/carvia/js/importar/resultado.js:160)"}, "properties": {"repobilityId": "f59b94db2e60d16e", "scanner": "scanner-primary", "fingerprint": "1058c3d4755823f4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8f5d1aed76a0a498", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/importacao/adicionar-item-detalhe (app/templates/carvia/js/importar/resultado.js:195)"}, "properties": {"repobilityId": "bbde0f024052e424", "scanner": "scanner-primary", "fingerprint": "8f5d1aed76a0a498", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f534ee9f80646320", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/importacao/remover-item-detalhe (app/templates/carvia/js/importar/resultado.js:229)"}, "properties": {"repobilityId": "aebcd256503fc708", "scanner": "scanner-primary", "fingerprint": "f534ee9f80646320", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c201845c6b74aed3", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/importacao/remover-item (app/templates/carvia/js/importar/resultado.js:263)"}, "properties": {"repobilityId": "123fd0353999fb5a", "scanner": "scanner-primary", "fingerprint": "c201845c6b74aed3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-33849995c7eaf544", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/importacao/reclassificar-cte (app/templates/carvia/js/importar/resultado.js:299)"}, "properties": {"repobilityId": "bf3a2be2e0477eea", "scanner": "scanner-primary", "fingerprint": "33849995c7eaf544", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f714fd84efd29437", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/importacao/reclassificar-fatura (app/templates/carvia/js/importar/resultado.js:320)"}, "properties": {"repobilityId": "ecdb832d06173ab3", "scanner": "scanner-primary", "fingerprint": "f714fd84efd29437", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1532d61f15551067", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/cadastrar-transportadora (app/templates/carvia/js/importar/resultado.js:406)"}, "properties": {"repobilityId": "4f7a3aa0b0e6bc4e", "scanner": "scanner-primary", "fingerprint": "1532d61f15551067", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fc126c699704eef5", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/importacao/selecionar-custo-entrega-cte-comp (app/templates/carvia/js/importar/resultado.js:459)"}, "properties": {"repobilityId": "ca6a8cd43c69cde7", "scanner": "scanner-primary", "fingerprint": "fc126c699704eef5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ac3f299eb84c40c0", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/importacao/editar-item (app/templates/carvia/js/importar/resultado.js:495)"}, "properties": {"repobilityId": "efb8288db33d1d4e", "scanner": "scanner-primary", "fingerprint": "ac3f299eb84c40c0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d991f270e7f6256f", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/api/importacao/marcar-verificar-ctrc-ssw (app/templates/carvia/js/importar/resultado.js:531)"}, "properties": {"repobilityId": "573a66b619ca684b", "scanner": "scanner-primary", "fingerprint": "d991f270e7f6256f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4835c2aab24dc649", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/fatura-transportadora/${faturaId}/pdf (app/templates/carvia/js/faturas_transportadora/visualizar.js:8)"}, "properties": {"repobilityId": "3a2b0007924e203f", "scanner": "scanner-primary", "fingerprint": "4835c2aab24dc649", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f307bb9361c4d277", "level": "error", "message": {"text": "Dangling fetch: GET /carvia/api/subcontratos-disponiveis/${CARVIA_DATA.transportadoraId} (app/templates/carvia/js/faturas_transportadora/visualizar.js:41)"}, "properties": {"repobilityId": "060914b386d0b487", "scanner": "scanner-primary", "fingerprint": "f307bb9361c4d277", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6440e5a1e9862a4a", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/faturas-transportadora/${CARVIA_DATA.faturaId}/anexar-subcontratos (app/templates/carvia/js/faturas_transportadora/visualizar.js:120)"}, "properties": {"repobilityId": "a64b74132168ae07", "scanner": "scanner-primary", "fingerprint": "6440e5a1e9862a4a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f72ccda696410b28", "level": "error", "message": {"text": "Dangling fetch: POST /carvia/faturas-transportadora/${CARVIA_DATA.faturaId}/desanexar-subcontrato/${subId} (app/templates/carvia/js/faturas_transportadora/visualizar.js:156)"}, "properties": {"repobilityId": "606ef444fe3550ec", "scanner": "scanner-primary", "fingerprint": "f72ccda696410b28", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0d89ab6424282fbf", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/detalhes-completo (app/templates/carteira/js/modal-pedido-detalhes.js:20)"}, "properties": {"repobilityId": "ed0ed8da4200e75b", "scanner": "scanner-primary", "fingerprint": "0d89ab6424282fbf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ac5868c06eb2f29b", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/ruptura/sem-cache/analisar-pedido/${numPedido} (app/templates/carteira/js/modal-pedido-detalhes.js:471)"}, "properties": {"repobilityId": "637151fc7d8e61ae", "scanner": "scanner-primary", "fingerprint": "ac5868c06eb2f29b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-deb4466f7661abfe", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/pedido/${numPedido}/gerar-separacao-completa (app/templates/carteira/js/separacao-manager.js:148)"}, "properties": {"repobilityId": "70ae5179c66c3de2", "scanner": "scanner-primary", "fingerprint": "deb4466f7661abfe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-76fc0474c1a8ee53", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/separacao/${loteId}/alterar-status (app/templates/carteira/js/separacao-manager.js:310)"}, "properties": {"repobilityId": "39d3c499d0682eb0", "scanner": "scanner-primary", "fingerprint": "76fc0474c1a8ee53", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-64e7dc6b851be961", "level": "error", "message": {"text": "Dangling fetch: DELETE /carteira/api/separacao/${loteId}/excluir (app/templates/carteira/js/separacao-manager.js:384)"}, "properties": {"repobilityId": "296dab45fce03929", "scanner": "scanner-primary", "fingerprint": "64e7dc6b851be961", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5489078b47e1542a", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/contadores (app/templates/carteira/js/separacao-manager.js:505)"}, "properties": {"repobilityId": "ccf24e6145288cd0", "scanner": "scanner-primary", "fingerprint": "5489078b47e1542a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b816e96f4bf7affb", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/separacao/salvar (app/templates/carteira/js/separacao-manager.js:799)"}, "properties": {"repobilityId": "10e9a717d94ced32", "scanner": "scanner-primary", "fingerprint": "b816e96f4bf7affb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f7cd1f081a44cd56", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/separacoes?status=${status} (app/templates/carteira/js/separacao-manager.js:833)"}, "properties": {"repobilityId": "d947be1404fbf58f", "scanner": "scanner-primary", "fingerprint": "f7cd1f081a44cd56", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e72517a717f7c25c", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/separacao/${loteId}/alterar-status (app/templates/carteira/js/separacao-manager.js:862)"}, "properties": {"repobilityId": "d75f7d2d56612127", "scanner": "scanner-primary", "fingerprint": "e72517a717f7c25c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8c7b87db8cf39af2", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/separacao/${loteId}/alterar-status (app/templates/carteira/js/workspace-montagem.js:973)"}, "properties": {"repobilityId": "d838fd21d8605b43", "scanner": "scanner-primary", "fingerprint": "8c7b87db8cf39af2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-691c17e0099db315", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/separacao/${loteId}/detalhes (app/templates/carteira/js/workspace-montagem.js:1109)"}, "properties": {"repobilityId": "d4aa0e87aab720a2", "scanner": "scanner-primary", "fingerprint": "691c17e0099db315", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dd762522044eb972", "level": "error", "message": {"text": "Dangling fetch: POST /portal/api/solicitar-agendamento-async (app/templates/carteira/js/workspace-montagem.js:1382)"}, "properties": {"repobilityId": "927055101262d6fa", "scanner": "scanner-primary", "fingerprint": "dd762522044eb972", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-344d1deafd1f14d9", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/produto/${codProduto}/cardex (app/templates/carteira/js/modal-cardex.js:20)"}, "properties": {"repobilityId": "828c34b477e453f4", "scanner": "scanner-primary", "fingerprint": "344d1deafd1f14d9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8b921db85888d715", "level": "error", "message": {"text": "Dangling fetch: GET /estoque/api/cardex/${codProduto}/pedidos-previstos (app/templates/carteira/js/modal-cardex.js:454)"}, "properties": {"repobilityId": "a26b201563e83616", "scanner": "scanner-primary", "fingerprint": "8b921db85888d715", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2f14e6ffda30cb90", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/simples/api/atualizar-qtd-separacao (app/templates/carteira/js/lote-manager.js:467)"}, "properties": {"repobilityId": "856602a651857efe", "scanner": "scanner-primary", "fingerprint": "2f14e6ffda30cb90", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a10d85b9c02b3b35", "level": "error", "message": {"text": "Dangling fetch: DELETE /carteira/api/separacao/${separacaoId}/remover (app/templates/carteira/js/lote-manager.js:725)"}, "properties": {"repobilityId": "8088546d2f431ed1", "scanner": "scanner-primary", "fingerprint": "a10d85b9c02b3b35", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-430c9cc5d404003a", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/separacao/salvar (app/templates/carteira/js/lote-manager.js:816)"}, "properties": {"repobilityId": "d846a9b31f684f9c", "scanner": "scanner-primary", "fingerprint": "430c9cc5d404003a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-cf9f2429c178dd4b", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/ruptura/sem-cache/analisar-pedido/${numPedido} (app/templates/carteira/js/ruptura-estoque.js:327)"}, "properties": {"repobilityId": "3a7457c62c3bc50c", "scanner": "scanner-primary", "fingerprint": "cf9f2429c178dd4b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-317f238ed8994fba", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/ruptura/sem-cache/analisar-pedido/${numPedido} (app/templates/carteira/js/ruptura-estoque.js:407)"}, "properties": {"repobilityId": "7b8767932377747d", "scanner": "scanner-primary", "fingerprint": "317f238ed8994fba", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b98c663130050665", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/ruptura/atualizar-visual-separacao (app/templates/carteira/js/ruptura-estoque.js:996)"}, "properties": {"repobilityId": "b659604e88cd8949", "scanner": "scanner-primary", "fingerprint": "b98c663130050665", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c763840692c95177", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/endereco (app/templates/carteira/js/modal-endereco.js:23)"}, "properties": {"repobilityId": "885c1d248a88a143", "scanner": "scanner-primary", "fingerprint": "c763840692c95177", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-321a8ff224a51ca6", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/separacoes-completas (app/templates/carteira/js/modal-separacoes.js:48)"}, "properties": {"repobilityId": "4bfabfe317605702", "scanner": "scanner-primary", "fingerprint": "321a8ff224a51ca6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f31e2d8da46c3257", "level": "error", "message": {"text": "Dangling fetch: POST /portal/atacadao/depara/api/criar (app/templates/carteira/js/modal-separacoes.js:523)"}, "properties": {"repobilityId": "33577be4eb884050", "scanner": "scanner-primary", "fingerprint": "f31e2d8da46c3257", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9aac272dcfd18e4d", "level": "error", "message": {"text": "Dangling fetch: GET /portal/api/comparar-portal/${loteId} (app/templates/carteira/js/modal-separacoes.js:609)"}, "properties": {"repobilityId": "59b5f39a5899b80e", "scanner": "scanner-primary", "fingerprint": "9aac272dcfd18e4d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-63a282f524e0bad0", "level": "error", "message": {"text": "Dangling fetch: GET /portal/api/extrair-confirmacoes (app/templates/carteira/js/modal-separacoes.js:746)"}, "properties": {"repobilityId": "651d70e1c2ec7715", "scanner": "scanner-primary", "fingerprint": "63a282f524e0bad0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0f9824941ccef263", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/verificar-protocolo-portal (app/templates/carteira/js/modal-separacoes.js:790)"}, "properties": {"repobilityId": "b9b3deef57ef2e41", "scanner": "scanner-primary", "fingerprint": "0f9824941ccef263", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-95518270cd173ea6", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/atualizar-status-separacao (app/templates/carteira/js/modal-separacoes.js:995)"}, "properties": {"repobilityId": "87da2424d3d5ef0b", "scanner": "scanner-primary", "fingerprint": "95518270cd173ea6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fff0edc3548456f0", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/separacoes-compactas-lote (app/templates/carteira/js/carteira-agrupada.js:900)"}, "properties": {"repobilityId": "d328c96bd512a5cd", "scanner": "scanner-primary", "fingerprint": "fff0edc3548456f0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-39e592466467e981", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/separacoes-compactas-lote (app/templates/carteira/js/carteira-agrupada.js:1063)"}, "properties": {"repobilityId": "04f0d4549767da2f", "scanner": "scanner-primary", "fingerprint": "39e592466467e981", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-faa57a7cf5f44e1b", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/estoque (app/templates/carteira/js/carteira-agrupada.js:1299)"}, "properties": {"repobilityId": "0d04c4c9ff655896", "scanner": "scanner-primary", "fingerprint": "faa57a7cf5f44e1b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-842cf4926edbfbd4", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/separacao/${loteId}/detalhes (app/templates/carteira/js/carteira-agrupada.js:1395)"}, "properties": {"repobilityId": "e7f665806782012d", "scanner": "scanner-primary", "fingerprint": "842cf4926edbfbd4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-09f0b2d925493080", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/separacao/${loteId}/alterar-status (app/templates/carteira/js/carteira-agrupada.js:1416)"}, "properties": {"repobilityId": "2b019271f8e5b56a", "scanner": "scanner-primary", "fingerprint": "09f0b2d925493080", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0c930053a3af7341", "level": "error", "message": {"text": "Dangling fetch: DELETE /carteira/api/separacao/${loteId}/excluir (app/templates/carteira/js/carteira-agrupada.js:1512)"}, "properties": {"repobilityId": "f1955693ca12c112", "scanner": "scanner-primary", "fingerprint": "0c930053a3af7341", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-90c936118da48d60", "level": "error", "message": {"text": "Dangling fetch: POST /portal/api/verificar-agendas-lote (app/templates/carteira/js/carteira-agrupada.js:1614)"}, "properties": {"repobilityId": "8f5f9ce46464039d", "scanner": "scanner-primary", "fingerprint": "90c936118da48d60", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-168c91818d596b2d", "level": "error", "message": {"text": "Dangling fetch: GET /portal/api/status-verificacao/${taskId} (app/templates/carteira/js/carteira-agrupada.js:1674)"}, "properties": {"repobilityId": "952e9bc36494035c", "scanner": "scanner-primary", "fingerprint": "168c91818d596b2d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8b26e91c5fc0c3ba", "level": "error", "message": {"text": "Dangling fetch: GET /portal/api/buscar-protocolos-pendentes (app/templates/carteira/js/carteira-agrupada.js:1799)"}, "properties": {"repobilityId": "1dfadd6bc6218eee", "scanner": "scanner-primary", "fingerprint": "8b26e91c5fc0c3ba", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-804f391fed84b0a0", "level": "error", "message": {"text": "Dangling fetch: GET /portal/api/buscar-protocolos-pendentes (app/templates/carteira/js/carteira-agrupada.js:1820)"}, "properties": {"repobilityId": "a29746e4433f8b7e", "scanner": "scanner-primary", "fingerprint": "804f391fed84b0a0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7ec6d7d476ed3ce5", "level": "error", "message": {"text": "Dangling fetch: POST /portal/api/verificar-todos-protocolos-pendentes (app/templates/carteira/js/carteira-agrupada.js:1866)"}, "properties": {"repobilityId": "3d1652d479fd2db1", "scanner": "scanner-primary", "fingerprint": "7ec6d7d476ed3ce5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a3c7841e1068121d", "level": "error", "message": {"text": "Dangling fetch: GET /portal/api/status-verificacao-detalhado/${taskId} (app/templates/carteira/js/carteira-agrupada.js:1925)"}, "properties": {"repobilityId": "ae70c8f738c71dc6", "scanner": "scanner-primary", "fingerprint": "a3c7841e1068121d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-967093558d56b541", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/toggle-importante (app/templates/carteira/js/carteira-agrupada.js:2231)"}, "properties": {"repobilityId": "adf76624391cd41e", "scanner": "scanner-primary", "fingerprint": "967093558d56b541", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7da59bf3d6ad19a7", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/standby/status/${numPedido} (app/templates/carteira/js/standby-manager.js:42)"}, "properties": {"repobilityId": "44b4ad7e35ce2f5f", "scanner": "scanner-primary", "fingerprint": "7da59bf3d6ad19a7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6eeb0542df281abf", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/standby/status/${numPedido} (app/templates/carteira/js/standby-manager.js:83)"}, "properties": {"repobilityId": "39339bee107451b2", "scanner": "scanner-primary", "fingerprint": "6eeb0542df281abf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5e902e3ca410f2fc", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/pedido/${numPedido}/detalhes (app/templates/carteira/js/standby-manager.js:113)"}, "properties": {"repobilityId": "8fee45c7c83a30f6", "scanner": "scanner-primary", "fingerprint": "5e902e3ca410f2fc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-28cb46d125d14600", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/standby/criar (app/templates/carteira/js/standby-manager.js:169)"}, "properties": {"repobilityId": "af325643d2f60156", "scanner": "scanner-primary", "fingerprint": "28cb46d125d14600", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-03d68d1975a52f38", "level": "error", "message": {"text": "Dangling fetch: POST /portal/utils/api/identificar-portal-por-lote (app/templates/carteira/js/agendamento/destinacao-portais.js:65)"}, "properties": {"repobilityId": "61e36289f171cc5c", "scanner": "scanner-primary", "fingerprint": "03d68d1975a52f38", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-65dfd971473130c8", "level": "error", "message": {"text": "Dangling fetch: GET /portal/atacadao/agendamento/verificar_depara/${loteId} (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:44)"}, "properties": {"repobilityId": "d80cdbf13453d7ae", "scanner": "scanner-primary", "fingerprint": "65dfd971473130c8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fdeb6e63a48168c9", "level": "error", "message": {"text": "Dangling fetch: GET /portal/atacadao/agendamento/preparar/${loteId} (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:92)"}, "properties": {"repobilityId": "87240de021a01196", "scanner": "scanner-primary", "fingerprint": "fdeb6e63a48168c9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b24a23b16f988fb9", "level": "error", "message": {"text": "Dangling fetch: POST /portal/api/solicitar-agendamento-async (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:203)"}, "properties": {"repobilityId": "ca938b50663a9d90", "scanner": "scanner-primary", "fingerprint": "b24a23b16f988fb9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-08358d53f8b985b7", "level": "error", "message": {"text": "Dangling fetch: GET /portal/atacadao/agendamento/verificar_depara/${loteId} (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:297)"}, "properties": {"repobilityId": "f3b39c31c0e0f3bb", "scanner": "scanner-primary", "fingerprint": "08358d53f8b985b7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d97e6082ff5629e8", "level": "error", "message": {"text": "Dangling fetch: GET /portal/atacadao/agendamento/preparar/${loteId} (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:298)"}, "properties": {"repobilityId": "2f8e92cdc258afce", "scanner": "scanner-primary", "fingerprint": "d97e6082ff5629e8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-91cc29016fbdbd47", "level": "error", "message": {"text": "Dangling fetch: GET /carteira/api/separacao/${loteId} (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:321)"}, "properties": {"repobilityId": "98c39bef70c954d1", "scanner": "scanner-primary", "fingerprint": "91cc29016fbdbd47", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c9df6ffc77b724cf", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/verificar-protocolo-portal (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:418)"}, "properties": {"repobilityId": "ade54c95ec481b27", "scanner": "scanner-primary", "fingerprint": "c9df6ffc77b724cf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1412f743971cae5c", "level": "error", "message": {"text": "Dangling fetch: POST /carteira/api/atualizar-status-separacao (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:623)"}, "properties": {"repobilityId": "335b6886ae93d1bc", "scanner": "scanner-primary", "fingerprint": "1412f743971cae5c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0bffb1feb7fab277", "level": "error", "message": {"text": "Dangling fetch: POST /portal/atacadao/cadastrar_depara (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:740)"}, "properties": {"repobilityId": "a6799b40946499e6", "scanner": "scanner-primary", "fingerprint": "0bffb1feb7fab277", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e86cc0c11e9c2daa", "level": "error", "message": {"text": "Dangling fetch: POST /portal/atacadao/agendamento/gravar_protocolo (app/templates/carteira/js/agendamento/atacadao/portal-atacadao.js:782)"}, "properties": {"repobilityId": "675f6a3d42d5c7e8", "scanner": "scanner-primary", "fingerprint": "e86cc0c11e9c2daa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8d571eb74ad401ef", "level": "error", "message": {"text": "Dangling fetch: POST /portal/sendas/solicitar/separacao/comparar (app/templates/carteira/js/agendamento/sendas/portal-sendas.js:54)"}, "properties": {"repobilityId": "d90cd24d827604a4", "scanner": "scanner-primary", "fingerprint": "8d571eb74ad401ef", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-52224d3a9f334401", "level": "error", "message": {"text": "Dangling fetch: POST /portal/sendas/solicitar/separacao/confirmar (app/templates/carteira/js/agendamento/sendas/portal-sendas.js:492)"}, "properties": {"repobilityId": "0a41d9739da9a7ce", "scanner": "scanner-primary", "fingerprint": "52224d3a9f334401", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f4f0c408a00aa025", "level": "error", "message": {"text": "Dangling fetch: POST /portal/sendas/solicitar/separacao/confirmar (app/templates/carteira/js/agendamento/sendas/portal-sendas.js:657)"}, "properties": {"repobilityId": "724163a60db9044d", "scanner": "scanner-primary", "fingerprint": "f4f0c408a00aa025", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-85ed6288805ba170", "level": "error", "message": {"text": "Dangling fetch: GET /portal/sendas/fila/status (app/templates/carteira/js/agendamento/sendas/portal-sendas.js:744)"}, "properties": {"repobilityId": "8edb6937bd323d9a", "scanner": "scanner-primary", "fingerprint": "85ed6288805ba170", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1a6d91f2236825bf", "level": "note", "message": {"text": "Unused endpoint: ANY /"}, "properties": {"repobilityId": "dbbe81c5c76d4393", "scanner": "scanner-primary", "fingerprint": "1a6d91f2236825bf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e728165aa97a80e3", "level": "note", "message": {"text": "Unused endpoint: ANY /cidades"}, "properties": {"repobilityId": "99af7a56de76bcab", "scanner": "scanner-primary", "fingerprint": "e728165aa97a80e3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7cfcfe154de993f0", "level": "note", "message": {"text": "Unused endpoint: ANY /exportar_cidades"}, "properties": {"repobilityId": "11168bef95ca6ad6", "scanner": "scanner-primary", "fingerprint": "7cfcfe154de993f0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fa110ac3e6b4e5ac", "level": "note", "message": {"text": "Unused endpoint: ANY /ajax/cidades_por_uf/<uf>"}, "properties": {"repobilityId": "a529cca3731d3939", "scanner": "scanner-primary", "fingerprint": "fa110ac3e6b4e5ac", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-72f7107cf23db334", "level": "note", "message": {"text": "Unused endpoint: ANY /ajax/cidades_por_uf_ibge/<uf>"}, "properties": {"repobilityId": "e3a12af50ae36841", "scanner": "scanner-primary", "fingerprint": "72f7107cf23db334", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cb4925063fcb73ae", "level": "note", "message": {"text": "Unused endpoint: ANY /ajax/microrregioes_por_uf/<uf>"}, "properties": {"repobilityId": "7dfcba9860222378", "scanner": "scanner-primary", "fingerprint": "cb4925063fcb73ae", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a0b631bf0a13c379", "level": "note", "message": {"text": "Unused endpoint: ANY /ajax/mesorregioes_por_uf/<uf>"}, "properties": {"repobilityId": "b9ede19d204546bd", "scanner": "scanner-primary", "fingerprint": "a0b631bf0a13c379", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cd03d86778043e4a", "level": "note", "message": {"text": "Unused endpoint: ANY /rotas"}, "properties": {"repobilityId": "208a60a896d4ac5e", "scanner": "scanner-primary", "fingerprint": "cd03d86778043e4a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-91c98d1b02dbba61", "level": "note", "message": {"text": "Unused endpoint: ANY /sub-rotas"}, "properties": {"repobilityId": "4ff9c4a26863f68f", "scanner": "scanner-primary", "fingerprint": "91c98d1b02dbba61", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d40d541982b6bd86", "level": "note", "message": {"text": "Unused endpoint: ANY /rotas/importar"}, "properties": {"repobilityId": "5590c806e5870f23", "scanner": "scanner-primary", "fingerprint": "d40d541982b6bd86", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d2bd0c9834b83750", "level": "note", "message": {"text": "Unused endpoint: ANY /sub-rotas/importar"}, "properties": {"repobilityId": "f6c6f4289d9e9c64", "scanner": "scanner-primary", "fingerprint": "d2bd0c9834b83750", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-26697c09f1e17a14", "level": "note", "message": {"text": "Unused endpoint: ANY /rotas/baixar-modelo"}, "properties": {"repobilityId": "73dde8e22945d246", "scanner": "scanner-primary", "fingerprint": "26697c09f1e17a14", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2b9ac87250c3aa2f", "level": "note", "message": {"text": "Unused endpoint: ANY /rotas/exportar-dados"}, "properties": {"repobilityId": "5ff02333fae2dc54", "scanner": "scanner-primary", "fingerprint": "2b9ac87250c3aa2f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ab61426698a87bed", "level": "note", "message": {"text": "Unused endpoint: ANY /sub-rotas/baixar-modelo"}, "properties": {"repobilityId": "d7b1b82c4e1d3251", "scanner": "scanner-primary", "fingerprint": "ab61426698a87bed", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3b22b63a5bcb7e5f", "level": "note", "message": {"text": "Unused endpoint: ANY /sub-rotas/exportar-dados"}, "properties": {"repobilityId": "0e39dcd59332feda", "scanner": "scanner-primary", "fingerprint": "3b22b63a5bcb7e5f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4684e14384cf3a7d", "level": "note", "message": {"text": "Unused endpoint: ANY /importar"}, "properties": {"repobilityId": "650d82b6581fad73", "scanner": "scanner-primary", "fingerprint": "4684e14384cf3a7d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6b0de3aa185ebdff", "level": "note", "message": {"text": "Unused endpoint: ANY /dados/<int:id>"}, "properties": {"repobilityId": "e9479f8b53303f14", "scanner": "scanner-primary", "fingerprint": "6b0de3aa185ebdff", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-17b0eeaef23fb0d9", "level": "note", "message": {"text": "Unused endpoint: ANY /editar/<int:id>"}, "properties": {"repobilityId": "4b9d68954991a92d", "scanner": "scanner-primary", "fingerprint": "17b0eeaef23fb0d9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-be34effd20b53938", "level": "note", "message": {"text": "Unused endpoint: ANY /excluir/<int:id>"}, "properties": {"repobilityId": "0ae6c308c6746422", "scanner": "scanner-primary", "fingerprint": "be34effd20b53938", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b75e97717014306a", "level": "note", "message": {"text": "Unused endpoint: ANY /config-frete/<int:id>"}, "properties": {"repobilityId": "fba4e184bcccc7ab", "scanner": "scanner-primary", "fingerprint": "b75e97717014306a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c0d5db8a5d202180", "level": "note", "message": {"text": "Unused endpoint: ANY /exportar"}, "properties": {"repobilityId": "81fb7ab896f43a43", "scanner": "scanner-primary", "fingerprint": "c0d5db8a5d202180", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a668d1e2839e901b", "level": "note", "message": {"text": "Unused endpoint: ANY /grupos"}, "properties": {"repobilityId": "2ef34d922003b2fb", "scanner": "scanner-primary", "fingerprint": "a668d1e2839e901b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f87b3627303cd772", "level": "note", "message": {"text": "Unused endpoint: ANY /grupos/<int:id>"}, "properties": {"repobilityId": "997ad2e48f2f6e1f", "scanner": "scanner-primary", "fingerprint": "f87b3627303cd772", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a15b9eab0da9b357", "level": "note", "message": {"text": "Unused endpoint: ANY /api/consultar-cnpj/<cnpj>"}, "properties": {"repobilityId": "540f77debe8be767", "scanner": "scanner-primary", "fingerprint": "a15b9eab0da9b357", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a42fc25210692aa0", "level": "note", "message": {"text": "Unused endpoint: ANY /__placeholder__"}, "properties": {"repobilityId": "a0d542b7a7c9c8ef", "scanner": "scanner-primary", "fingerprint": "a42fc25210692aa0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e568bdfce08b33f5", "level": "note", "message": {"text": "Unused endpoint: ANY /<path:filename>"}, "properties": {"repobilityId": "e81a63a3d9863200", "scanner": "scanner-primary", "fingerprint": "e568bdfce08b33f5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5b264331675dd731", "level": "note", "message": {"text": "Unused endpoint: ANY /auditoria"}, "properties": {"repobilityId": "8d10168eadaba1b0", "scanner": "scanner-primary", "fingerprint": "5b264331675dd731", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-df56410214510359", "level": "note", "message": {"text": "Unused endpoint: ANY /auditoria/exportar"}, "properties": {"repobilityId": "69e45e3a6bc9e901", "scanner": "scanner-primary", "fingerprint": "df56410214510359", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dc139048450bcd97", "level": "note", "message": {"text": "Unused endpoint: ANY /api/produto/<path:cod_produto>"}, "properties": {"repobilityId": "5375ed4200681026", "scanner": "scanner-primary", "fingerprint": "dc139048450bcd97", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d410bcebdb6819ec", "level": "note", "message": {"text": "Unused endpoint: ANY /api/mestre"}, "properties": {"repobilityId": "4dadc2f77174b96e", "scanner": "scanner-primary", "fingerprint": "d410bcebdb6819ec", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7cfac2779ce6004c", "level": "note", "message": {"text": "Unused endpoint: ANY /api/mestre/<path:cod_produto>"}, "properties": {"repobilityId": "27ec2433397ed84e", "scanner": "scanner-primary", "fingerprint": "7cfac2779ce6004c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-347959f93398de22", "level": "note", "message": {"text": "Unused endpoint: ANY /api/bom-item"}, "properties": {"repobilityId": "6d726a64b2690263", "scanner": "scanner-primary", "fingerprint": "347959f93398de22", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d4bf6694f3b9d523", "level": "note", "message": {"text": "Unused endpoint: ANY /api/recurso"}, "properties": {"repobilityId": "efe87502173a7cc7", "scanner": "scanner-primary", "fingerprint": "d4bf6694f3b9d523", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7bb32c4a76d26bbf", "level": "note", "message": {"text": "Unused endpoint: ANY /api/custo-considerado"}, "properties": {"repobilityId": "b933aeeac2cbf131", "scanner": "scanner-primary", "fingerprint": "7bb32c4a76d26bbf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3d1cdfa9a5581f98", "level": "note", "message": {"text": "Unused endpoint: ANY /<int:id>"}, "properties": {"repobilityId": "f3b2c20c4f9590ee", "scanner": "scanner-primary", "fingerprint": "3d1cdfa9a5581f98", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8caba50af6462be2", "level": "note", "message": {"text": "Unused endpoint: ANY /<int:id>/lido"}, "properties": {"repobilityId": "3f2933bc589656bc", "scanner": "scanner-primary", "fingerprint": "8caba50af6462be2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e77b67fd4a7b7ab1", "level": "note", "message": {"text": "Unused endpoint: ANY /marcar-todas-lidas"}, "properties": {"repobilityId": "712a11faf20af855", "scanner": "scanner-primary", "fingerprint": "e77b67fd4a7b7ab1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-03c69619a3098f6f", "level": "note", "message": {"text": "Unused endpoint: ANY /api/nao-lidas"}, "properties": {"repobilityId": "0e0d178b44ab5a25", "scanner": "scanner-primary", "fingerprint": "03c69619a3098f6f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6c604cde51a1711c", "level": "note", "message": {"text": "Unused endpoint: ANY /api/recentes"}, "properties": {"repobilityId": "31a676745cd9c3ad", "scanner": "scanner-primary", "fingerprint": "6c604cde51a1711c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b768401af1870d35", "level": "note", "message": {"text": "Unused endpoint: ANY /webhooks"}, "properties": {"repobilityId": "a07f2a1e621b807f", "scanner": "scanner-primary", "fingerprint": "b768401af1870d35", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-03b587e42fd1007f", "level": "note", "message": {"text": "Unused endpoint: ANY /webhooks/<int:id>"}, "properties": {"repobilityId": "87d188a1072e66c8", "scanner": "scanner-primary", "fingerprint": "03b587e42fd1007f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-226a7b5519e61f7d", "level": "note", "message": {"text": "Unused endpoint: ANY /webhooks/<int:id>/testar"}, "properties": {"repobilityId": "270a07544caf5e70", "scanner": "scanner-primary", "fingerprint": "226a7b5519e61f7d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-14b458b46a10f00a", "level": "note", "message": {"text": "Unused endpoint: ANY /<int:ocorrencia_id>"}, "properties": {"repobilityId": "4ff65797ce64ae95", "scanner": "scanner-primary", "fingerprint": "14b458b46a10f00a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b608da163b8a71a5", "level": "note", "message": {"text": "Unused endpoint: ANY /api/<int:ocorrencia_id>/logistica"}, "properties": {"repobilityId": "e1fd38725a40d72d", "scanner": "scanner-primary", "fingerprint": "b608da163b8a71a5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f597b93a93b22a93", "level": "note", "message": {"text": "Unused endpoint: ANY /api/<int:ocorrencia_id>/comercial"}, "properties": {"repobilityId": "fc6c74171df93e3a", "scanner": "scanner-primary", "fingerprint": "f597b93a93b22a93", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dae44b015cbd16d3", "level": "note", "message": {"text": "Unused endpoint: ANY /api/<int:ocorrencia_id>"}, "properties": {"repobilityId": "75609cf3c12e2248", "scanner": "scanner-primary", "fingerprint": "dae44b015cbd16d3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ec3442aa0b6ba39d", "level": "note", "message": {"text": "Unused endpoint: ANY /api/stats"}, "properties": {"repobilityId": "cb7ef9a32d04ce4a", "scanner": "scanner-primary", "fingerprint": "ec3442aa0b6ba39d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e0ca45ca5a9e10d3", "level": "note", "message": {"text": "Unused endpoint: ANY /api/<int:ocorrencia_id>/anexos"}, "properties": {"repobilityId": "1de8bdba2ed1fe1c", "scanner": "scanner-primary", "fingerprint": "e0ca45ca5a9e10d3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bedc30f00aa200f7", "level": "note", "message": {"text": "Unused endpoint: ANY /api/<int:ocorrencia_id>/anexos/<int:anexo_id>/download"}, "properties": {"repobilityId": "22f13e18ed8d444b", "scanner": "scanner-primary", "fingerprint": "bedc30f00aa200f7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-06be098255538ddc", "level": "note", "message": {"text": "Unused endpoint: ANY /api/<int:ocorrencia_id>/anexos/download-all"}, "properties": {"repobilityId": "3941e7c7f030e35a", "scanner": "scanner-primary", "fingerprint": "06be098255538ddc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}