{"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-bead75b0f9233e05", "name": "No API endpoints detected", "shortDescription": {"text": "No API endpoints detected"}, "fullDescription": {"text": "The scanner did not find FastAPI/Flask/Express/NestJS/GraphQL/gRPC routes. If this repo exposes APIs, the framework may be unsupported."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2f96d6236cb1aa6c", "name": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/contabilidad/asientos/asientos-filters.tsx:38", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/contabilidad/asientos/asientos-filters.tsx:38"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8df2ef0b4250888a", "name": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/contabilidad/asientos/asiento-detalle-sheet.tsx:48", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/contabilidad/asientos/asiento-detalle-sheet.tsx: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-9a07d48d586932a1", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/contabilidad/asientos/nuevo/asiento-form.tsx:51", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/contabilidad/asientos/nuevo/asiento-form.tsx:519"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-64d800ab7f522a2a", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/gastos/_components/gasto-form.tsx:733", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/gastos/_components/gasto-form.tsx:733"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d486c9f1cb3e0eb7", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/ventas/pedidos/_components/pedido-venta-form.ts", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/ventas/pedidos/_components/pedido-venta-form.tsx:430"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0a4384a08b496a4e", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/compras/_components/compra-form.tsx:693", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/compras/_components/compra-form.tsx:693"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b82e9e712ce9f21e", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/compras/pedidos/_components/pedido-compra-form.", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/compras/pedidos/_components/pedido-compra-form.tsx:436"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7108933dcac338ca", "name": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/movimientos/movimiento-detalle-sheet.tsx:54", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/movimientos/movimiento-detalle-sheet.tsx:54"}, "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-02128ccdacd3effe", "name": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/extractos/[id]/lineas-review.tsx:563", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/extractos/[id]/lineas-review.tsx:563"}, "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-a755f37686636242", "name": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/cuentas-a-pagar/vep-section.tsx:272", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/cuentas-a-pagar/vep-section.tsx:272"}, "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-bcf7ab30e57fb57b", "name": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/cuentas-a-pagar/_components/pago-por-factura.tsx:542", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/cuentas-a-pagar/_components/pago-por-factura.tsx:542"}, "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-2d4db2c4f925c21a", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/tesoreria/cuentas-a-cobrar/page.tsx:188", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/tesoreria/cuentas-a-cobrar/page.tsx:188"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-023cadf8fdd744d5", "name": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/prestamos/prestamo-detalle-sheet.tsx:62", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/prestamos/prestamo-detalle-sheet.tsx:62"}, "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-8702244007f5c60f", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/bi/_components/charts/pie-chart-distribution.ts", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/bi/_components/charts/pie-chart-distribution.tsx:110"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b672723422f86496", "name": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/gastos-fijos/gastos-fijos-table.tsx:258", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/gastos-fijos/gastos-fijos-table.tsx:258"}, "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-d0b4b3117211a07e", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/reportes/libro-diario/diario-list.tsx:84", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/reportes/libro-diario/diario-list.tsx:84"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fdcde6d930c0b53b", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/cuenta-combobox.tsx:80", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/cuenta-combobox.tsx:80"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1910316f01c2f0ae", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/cliente-combobox.tsx:79", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/cliente-combobox.tsx:79"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-996af897c2bca696", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/proveedor-combobox.tsx:96", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/proveedor-combobox.tsx:96"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-71d3af4ccc8345e1", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/app-sidebar.tsx:38", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/app-sidebar.tsx:38"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-af952775ec028e63", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/user-menu.tsx:52", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/user-menu.tsx:52"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-214b8b41de0d4187", "name": "TODO/FIXME marker in shipping code \u2014 src/components/ui/date-picker.tsx:85", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/components/ui/date-picker.tsx:85"}, "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-9eb3a78e712463f5", "name": "TODO/FIXME marker in shipping code \u2014 src/lib/services/comex.ts:119", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/lib/services/comex.ts:119"}, "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-dd6a91781f9b1cf2", "name": "Stray `console.log` in TS/JS \u2014 prisma/fix-robusto-a2-zpa-to-nacional.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/fix-robusto-a2-zpa-to-nacional.ts:47"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-599ae3a92e9ff5bf", "name": "Stray `console.log` in TS/JS \u2014 prisma/diag-moneda-origen.ts:370", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-moneda-origen.ts:370"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1a78ca4314a865d2", "name": "Stray `console.log` in TS/JS \u2014 prisma/seed-parametros-retencion.ts:127", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/seed-parametros-retencion.ts:127"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed2f9523068d12ec", "name": "Stray `console.log` in TS/JS \u2014 prisma/add-partial-indexes-contenedor.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/add-partial-indexes-contenedor.ts:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5cd99eb4b748425f", "name": "Stray `console.log` in TS/JS \u2014 prisma/fix-recalcular-stock-actual.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/fix-recalcular-stock-actual.ts:47"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d194ff99f1c8a0ac", "name": "Stray `console.log` in TS/JS \u2014 prisma/set-proveedor-usd.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/set-proveedor-usd.ts:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-af0cb04431626a55", "name": "Stray `console.log` in TS/JS \u2014 prisma/backfill-stock-por-deposito.ts:131", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/backfill-stock-por-deposito.ts:131"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f687ba8c202e8892", "name": "Stray `console.log` in TS/JS \u2014 prisma/seed-inversiones-fci.ts:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/seed-inversiones-fci.ts:48"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d20e6b7b927a1cf6", "name": "Stray `console.log` in TS/JS \u2014 prisma/diag-stock-invariantes.ts:152", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-stock-invariantes.ts:152"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-598a52330c30dfef", "name": "Stray `console.log` in TS/JS \u2014 prisma/backfill-aplicacion-pago.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/backfill-aplicacion-pago.ts:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0278ba48d2a653ff", "name": "Stray `console.log` in TS/JS \u2014 prisma/backfill-contenedor-virtual.ts:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/backfill-contenedor-virtual.ts:71"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ff2fa781e8538904", "name": "Stray `console.log` in TS/JS \u2014 prisma/audit-zpa-stock-faltante.ts:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/audit-zpa-stock-faltante.ts:70"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-578d5eb495a1642b", "name": "Stray `console.log` in TS/JS \u2014 prisma/diag-stock-curve-plus.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-stock-curve-plus.ts:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-33146160054ef6b3", "name": "Stray `console.log` in TS/JS \u2014 prisma/diag-embarque-007cn.ts:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-embarque-007cn.ts:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2075223aad6e43b4", "name": "Stray `console.log` in TS/JS \u2014 prisma/validar-invariantes-stock.ts:231", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/validar-invariantes-stock.ts:231"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b91ef6f725bc2bd6", "name": "Stray `console.log` in TS/JS \u2014 prisma/check-cuentas.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/check-cuentas.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3afa685981ce5e73", "name": "Stray `console.log` in TS/JS \u2014 prisma/diag-iibb.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-iibb.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d123f4514521b20c", "name": "Stray `console.log` in TS/JS \u2014 prisma/add-partial-indexes-despacho.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/add-partial-indexes-despacho.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8f705e9cb7eb933c", "name": "Stray `console.log` in TS/JS \u2014 prisma/rename-cuentas-1-1-5.ts:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/rename-cuentas-1-1-5.ts:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ffcb34a3c1d4511", "name": "Stray `console.log` in TS/JS \u2014 prisma/update-iibb-agentes-todas.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/update-iibb-agentes-todas.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a0057fe75ccdfc0f", "name": "Stray `console.log` in TS/JS \u2014 prisma/diag-extracto-bancario.ts:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-extracto-bancario.ts:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-762679cc8ac8d4f5", "name": "Stray `console.log` in TS/JS \u2014 prisma/migrar-pagos-legacy-sunset.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/migrar-pagos-legacy-sunset.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f2535e46cbd9039", "name": "Stray `console.log` in TS/JS \u2014 prisma/diag-saldo-proveedor.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-saldo-proveedor.ts:58"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-56a253b539798534", "name": "Stray `console.log` in TS/JS \u2014 prisma/fix-eliminar-embarques-target.ts:120", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/fix-eliminar-embarques-target.ts:120"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-088aa1ba82126ea3", "name": "Stray `console.log` in TS/JS \u2014 prisma/diag-tp-logistica-pendientes.ts:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-tp-logistica-pendientes.ts:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-421b83e011c5ddea", "name": "Stray `console.log` in TS/JS \u2014 prisma/diag-embarques-target.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-embarques-target.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b4cec14788282802", "name": "Stray `console.log` in TS/JS \u2014 prisma/diag-conciliacion-santander.ts:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-conciliacion-santander.ts:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f40fd000ee73d8c5", "name": "Stray `console.log` in TS/JS \u2014 prisma/import-productos-fob.ts:74", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/import-productos-fob.ts:74"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-10c546267ac06410", "name": "Stray `console.log` in TS/JS \u2014 prisma/backfill-tipo-deposito.ts:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/backfill-tipo-deposito.ts:49"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ed913bb7497d171", "name": "Stray `console.log` in TS/JS \u2014 prisma/seed.ts:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/seed.ts:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-18150eeda8f09e4f", "name": "Stray `console.log` in TS/JS \u2014 prisma/fix-embarque-ar-251223-036cn.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/fix-embarque-ar-251223-036cn.ts:58"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-145af6e1b8c03c38", "name": "Stray `console.log` in TS/JS \u2014 prisma/backfill-moneda-origen.ts:373", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/backfill-moneda-origen.ts: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-22016801754e6bfb", "name": "Stray `console.log` in TS/JS \u2014 prisma/seed-patrimonio-extra.ts:128", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/seed-patrimonio-extra.ts:128"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a741e864664be32d", "name": "Stray `console.log` in TS/JS \u2014 prisma/diag-stock-history.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-stock-history.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b6fc6ad725b145cc", "name": "Stray `console.log` in TS/JS \u2014 prisma/diag-sunset-tires-37m.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-sunset-tires-37m.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c293eb992512df22", "name": "Stray `console.log` in TS/JS \u2014 prisma/fix-spd-curve-plus-c1.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/fix-spd-curve-plus-c1.ts:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c4f161b8dabe7f9b", "name": "Stray `console.log` in TS/JS \u2014 prisma/diag-ecoplus-c1.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-ecoplus-c1.ts:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-732e2df38a03c8d0", "name": "Stray `console.log` in TS/JS \u2014 prisma/fix-anular-asientos-duplicados.ts:104", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 prisma/fix-anular-asientos-duplicados.ts:104"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f8291bce83658bc", "name": "Insecure pattern 'node_child_process' in e2e/support/db.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in e2e/support/db.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b7b919feab2532bc", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb639d9a10a47b23", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-31c656d678e4af4f", "name": "Very large file: src/app/(dashboard)/ventas/_components/venta-form.tsx (1424 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/ventas/_components/venta-form.tsx (1424 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-0dd89e0007da6da9", "name": "Very large file: src/app/(dashboard)/comex/embarques/_components/embarque-form.tsx (2215 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/comex/embarques/_components/embarque-form.tsx (2215 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-8282b8e940605cd3", "name": "Very large file: src/app/(dashboard)/tesoreria/movimientos/nuevo/movimiento-form.tsx (1509 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/tesoreria/movimientos/nuevo/movimiento-form.tsx (1509 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-7a607007da9f2f6a", "name": "Very large file: src/lib/services/bi.ts (1745 lines)", "shortDescription": {"text": "Very large file: src/lib/services/bi.ts (1745 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9c7c303b9f7bb842", "name": "Very large file: src/lib/services/cuentas-a-pagar.ts (2110 lines)", "shortDescription": {"text": "Very large file: src/lib/services/cuentas-a-pagar.ts (2110 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-21fb02bd18467e3f", "name": "Very large file: src/lib/services/asiento-automatico.ts (3842 lines)", "shortDescription": {"text": "Very large file: src/lib/services/asiento-automatico.ts (3842 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "44 test file(s) for 498 source file(s) (ratio 0.09). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "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 537 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 175 placeholder/mock markers across 52 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-5324baebd86eeb37", "name": "Commented-code block (5 lines) in vitest.config.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in vitest.config.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-35d6d5d5470d09d8", "name": "Commented-code block (6 lines) in src/app/api/cron/cleanup-despachos-borrador/route.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in src/app/api/cron/cleanup-despachos-borrador/route.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a95ad9d14589c3c2", "name": "Commented-code block (6 lines) in src/app/api/comex/divergencia/upload/route.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in src/app/api/comex/divergencia/upload/route.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-582c6208a3f31aba", "name": "Commented-code block (5 lines) in src/app/(dashboard)/ventas/_components/venta-form.tsx:438", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(dashboard)/ventas/_components/venta-form.tsx:438"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aecd2f7cf2100a0d", "name": "Commented-code block (6 lines) in src/app/(dashboard)/comex/embarques/[id]/despachos/_components/despacho-cruzado-tribut", "shortDescription": {"text": "Commented-code block (6 lines) in src/app/(dashboard)/comex/embarques/[id]/despachos/_components/despacho-cruzado-tributos.tsx:47"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f50d8dbc499e9c34", "name": "Commented-code block (6 lines) in src/app/(dashboard)/comex/embarques/_components/embarque-form.tsx:572", "shortDescription": {"text": "Commented-code block (6 lines) in src/app/(dashboard)/comex/embarques/_components/embarque-form.tsx:572"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1caf43998ddaee26", "name": "Commented-code block (5 lines) in src/app/(dashboard)/comex/embarques/_components/contenedor-matriz.tsx:27", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(dashboard)/comex/embarques/_components/contenedor-matriz.tsx: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-bee3efef576e5e09", "name": "Commented-code block (5 lines) in src/app/(dashboard)/comex/contenedores/[id]/investigacion/_components/investigacion-fo", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(dashboard)/comex/contenedores/[id]/investigacion/_components/investigacion-form.tsx:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ecbfe2851200544", "name": "Commented-code block (5 lines) in src/app/(dashboard)/tesoreria/movimientos/nuevo/movimiento-form.tsx:334", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(dashboard)/tesoreria/movimientos/nuevo/movimiento-form.tsx: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-4e7935868a81e083", "name": "Commented-code block (6 lines) in src/lib/format.ts:15", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/format.ts:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-edee3145b500fa2d", "name": "Commented-code block (6 lines) in src/lib/services/percepcion-iibb.ts:8", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/services/percepcion-iibb.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1d4647c39d847f95", "name": "Commented-code block (5 lines) in src/lib/services/contenedor.ts:394", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/services/contenedor.ts:394"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4f1903424949eead", "name": "Commented-code block (5 lines) in src/lib/services/divergencia-investigacion.ts:27", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/services/divergencia-investigacion.ts:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cddb316e377ba08c", "name": "Commented-code block (5 lines) in src/lib/services/despacho-parcial.ts:18", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/services/despacho-parcial.ts:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8fb28fe14e4f891a", "name": "Commented-code block (7 lines) in src/lib/services/cuenta-registry.ts:41", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/services/cuenta-registry.ts: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-4ed3c19445f85699", "name": "Commented-code block (6 lines) in src/lib/services/comex.ts:116", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/services/comex.ts:116"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f19177d26e5dd967", "name": "Commented-code block (9 lines) in src/lib/services/cuentas-a-pagar.ts:268", "shortDescription": {"text": "Commented-code block (9 lines) in src/lib/services/cuentas-a-pagar.ts:268"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ff5eccf20d8a36aa", "name": "Commented-code block (5 lines) in src/lib/services/cuenta-auto.ts:206", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/services/cuenta-auto.ts:206"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb65a00ad0770fa2", "name": "Commented-code block (7 lines) in src/lib/services/stock.ts:827", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/services/stock.ts: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-2775617c5e29db65", "name": "Commented-code block (6 lines) in src/lib/services/asiento-automatico.ts:518", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/services/asiento-automatico.ts:518"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8d2c91b330cdf86a", "name": "Commented-code block (7 lines) in src/lib/services/desconsolidacion.ts:21", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/services/desconsolidacion.ts: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-68a71c3415c7ab76", "name": "Commented-code block (7 lines) in src/lib/services/retencion-ganancias-pago.ts:19", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/services/retencion-ganancias-pago.ts:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2fb94986eeae47a0", "name": "Commented-code block (5 lines) in src/lib/services/balance-sumas-saldos.ts:36", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/services/balance-sumas-saldos.ts:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-32c42e96fe95338b", "name": "Commented-code block (8 lines) in src/lib/services/retencion-ganancias.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/lib/services/retencion-ganancias.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8c917bea9531d995", "name": "Commented-code block (7 lines) in src/lib/services/cuentas-a-cobrar.ts:7", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/services/cuentas-a-cobrar.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e9e60cd320447382", "name": "Commented-code block (6 lines) in src/lib/services/reportes/balance-general.ts:116", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/services/reportes/balance-general.ts:116"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-33bbeeac28dac2c4", "name": "Commented-code block (6 lines) in src/lib/services/reportes/flujo-caja.ts:346", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/services/reportes/flujo-caja.ts:346"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-31ff0b9ac54c4a58", "name": "Commented-code block (5 lines) in src/lib/actions/embarque-schema.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/actions/embarque-schema.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0decd0cb56096c20", "name": "Commented-code block (7 lines) in src/lib/actions/pago-exterior.ts:43", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/actions/pago-exterior.ts:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0fcce83be023b481", "name": "Commented-code block (7 lines) in src/lib/actions/despacho-cruzado-costos-schema.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/actions/despacho-cruzado-costos-schema.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4ba04f43d56348d9", "name": "Commented-code block (5 lines) in src/lib/actions/transferencias.ts:225", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/actions/transferencias.ts:225"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8b7608d21c394443", "name": "Commented-code block (5 lines) in src/lib/actions/asientos.ts:116", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/actions/asientos.ts:116"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6409c77b40cf6b4e", "name": "Commented-code block (5 lines) in src/lib/actions/admin-percepcion-iibb.ts:68", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/actions/admin-percepcion-iibb.ts:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7bfcdf87cc168a64", "name": "Commented-code block (5 lines) in src/lib/actions/movimientos-tesoreria.ts:38", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/actions/movimientos-tesoreria.ts:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4252dff11ebef0c3", "name": "Legacy-named symbol `crearDespachoLegacy` in src/lib/actions/despachos.ts:257", "shortDescription": {"text": "Legacy-named symbol `crearDespachoLegacy` in src/lib/actions/despachos.ts:257"}, "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-aadf16565e0017a4", "name": "Commented-code block (5 lines) in src/lib/actions/despachos.ts:750", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/actions/despachos.ts:750"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-82c5b0f1962c381c", "name": "Commented-code block (5 lines) in src/lib/actions/gasto-schema.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/actions/gasto-schema.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-14cd195b655a741e", "name": "Commented-code block (5 lines) in src/lib/actions/embarques.ts:528", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/actions/embarques.ts:528"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-73fb10e0244b37eb", "name": "Commented-code block (6 lines) in src/lib/actions/despacho-cruzado-costos.ts:18", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/actions/despacho-cruzado-costos.ts:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ed54ef8186a81efd", "name": "Commented-code block (5 lines) in src/lib/actions/ventas.ts:383", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/actions/ventas.ts: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-186bab58122c0e6e", "name": "Commented-code block (6 lines) in prisma/diag-moneda-origen.ts:361", "shortDescription": {"text": "Commented-code block (6 lines) in prisma/diag-moneda-origen.ts:361"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-87994194ed509ee3", "name": "Commented-code block (5 lines) in prisma/seed-parametros-retencion.ts:13", "shortDescription": {"text": "Commented-code block (5 lines) in prisma/seed-parametros-retencion.ts:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0ad0016d5396de5e", "name": "Commented-code block (7 lines) in prisma/diag-extracto-bancario.ts:12", "shortDescription": {"text": "Commented-code block (7 lines) in prisma/diag-extracto-bancario.ts:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-06b26adf8c40c32b", "name": "Commented-code block (5 lines) in prisma/migrar-pagos-legacy-sunset.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in prisma/migrar-pagos-legacy-sunset.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ffb936a5de7b069b", "name": "Commented-code block (6 lines) in prisma/diag-tp-logistica-pendientes.ts:211", "shortDescription": {"text": "Commented-code block (6 lines) in prisma/diag-tp-logistica-pendientes.ts:211"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9970c443fe774dc9", "name": "Commented-code block (9 lines) in prisma/seed.ts:135", "shortDescription": {"text": "Commented-code block (9 lines) in prisma/seed.ts:135"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2bfe0e4d94c121d0", "name": "Commented-code block (17 lines) in prisma/seed-patrimonio-extra.ts:17", "shortDescription": {"text": "Commented-code block (17 lines) in prisma/seed-patrimonio-extra.ts:17"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-40c8623480fb9ab8", "name": "Commented-code block (5 lines) in test/cuentas-a-pagar-bonded.test.ts:9", "shortDescription": {"text": "Commented-code block (5 lines) in test/cuentas-a-pagar-bonded.test.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-182a88e03b22f490", "name": "Commented-code block (5 lines) in test/asiento-despacho-cruzado.test.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in test/asiento-despacho-cruzado.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2e4abd048a9fa672", "name": "Commented-code block (5 lines) in test/anular-despacho-cruzado.test.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in test/anular-despacho-cruzado.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0680ef7ca2f37524", "name": "Commented-code block (6 lines) in test/guard-tipocambio-usd.test.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in test/guard-tipocambio-usd.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cef4813aefd5e7d1", "name": "Commented-code block (5 lines) in test/vep-despacho-action.test.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in test/vep-despacho-action.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-db715a7f7f9af7e7", "name": "Commented-code block (5 lines) in test/saldos-exterior-usd.test.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in test/saldos-exterior-usd.test.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-55903582f8c1c72f", "name": "Commented-code block (9 lines) in test/pago-exterior-action.test.ts:7", "shortDescription": {"text": "Commented-code block (9 lines) in test/pago-exterior-action.test.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6cc2824292ab21ac", "name": "Commented-code block (6 lines) in test/desconsolidacion.test.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in test/desconsolidacion.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bcec5f621d952838", "name": "Commented-code block (6 lines) in test/despacho-cruzado-capitalizacion-stock.test.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in test/despacho-cruzado-capitalizacion-stock.test.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9e6d995b86301e4a", "name": "Commented-code block (6 lines) in test/arribo-comex.test.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in test/arribo-comex.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e94a77ef38d55d40", "name": "Commented-code block (9 lines) in test/costo-landed-despacho.test.ts:84", "shortDescription": {"text": "Commented-code block (9 lines) in test/costo-landed-despacho.test.ts:84"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-999aa1c9baaae564", "name": "Commented-code block (5 lines) in test/cerrar-costos-contenedor.test.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in test/cerrar-costos-contenedor.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e102f880337abd9e", "name": "Commented-code block (8 lines) in test/retencion-ganancias-pago.test.ts:7", "shortDescription": {"text": "Commented-code block (8 lines) in test/retencion-ganancias-pago.test.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-42f08276fd453fbe", "name": "Commented-code block (9 lines) in test/venta-flete-gasto.test.ts:7", "shortDescription": {"text": "Commented-code block (9 lines) in test/venta-flete-gasto.test.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b769298b0dbd6491", "name": "Commented-code block (7 lines) in test/tesoreria-usd-libro-ars.test.ts:7", "shortDescription": {"text": "Commented-code block (7 lines) in test/tesoreria-usd-libro-ars.test.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8bd5de3dbb6120bd", "name": "Commented-code block (5 lines) in test/despacho-cruzado-actions.test.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in test/despacho-cruzado-actions.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8fdf259a5c84d1eb", "name": "Commented-code block (6 lines) in test/divergencia-investigacion.test.ts:11", "shortDescription": {"text": "Commented-code block (6 lines) in test/divergencia-investigacion.test.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5867248a2125f47d", "name": "Commented-code block (5 lines) in test/actualizar-tributos-despacho-cruzado.test.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in test/actualizar-tributos-despacho-cruzado.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0b3f73dab04c43c2", "name": "Commented-code block (5 lines) in test/extracto-aprobar-linea-tc.test.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in test/extracto-aprobar-linea-tc.test.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b92b49a172c43977", "name": "Legacy-named symbol `despachoLegacy` in test/crear-costo-despacho-cruzado.test.ts:174", "shortDescription": {"text": "Legacy-named symbol `despachoLegacy` in test/crear-costo-despacho-cruzado.test.ts:174"}, "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-26ee6f7bfee9f832", "name": "Commented-code block (5 lines) in test/crear-costo-despacho-cruzado.test.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in test/crear-costo-despacho-cruzado.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-de8ff8778e817bfc", "name": "Commented-code block (5 lines) in test/db.ts:62", "shortDescription": {"text": "Commented-code block (5 lines) in test/db.ts: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-58e7e9edf76cc094", "name": "Commented-code block (6 lines) in test/gasto-deducible-ganancias.test.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in test/gasto-deducible-ganancias.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-731b04cd7ce8ef3e", "name": "Commented-code block (7 lines) in test/despacho-parcial.test.ts:11", "shortDescription": {"text": "Commented-code block (7 lines) in test/despacho-parcial.test.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b60c1ffc9ecc1207", "name": "Commented-code block (5 lines) in e2e/03-despacho-parcial-doble.spec.ts:12", "shortDescription": {"text": "Commented-code block (5 lines) in e2e/03-despacho-parcial-doble.spec.ts:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bb9731ff6238ec14", "name": "Commented-code block (5 lines) in e2e/02-anulacion-preservativa.spec.ts:11", "shortDescription": {"text": "Commented-code block (5 lines) in e2e/02-anulacion-preservativa.spec.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ed569efaa02f52bc", "name": "Commented-code block (5 lines) in e2e/01-desconsolidacion-happy-path.spec.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in e2e/01-desconsolidacion-happy-path.spec.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f781120760411ba1", "name": "Commented-code block (5 lines) in e2e/04-divergencia-d9.spec.ts:13", "shortDescription": {"text": "Commented-code block (5 lines) in e2e/04-divergencia-d9.spec.ts:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2717d3fffe8e5d0e", "name": "Commented-code block (6 lines) in e2e/support/db.ts:10", "shortDescription": {"text": "Commented-code block (6 lines) in e2e/support/db.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/23850"}, "properties": {"repository": "Abdo20-Jan/SUNSET-ERP-V4", "repoUrl": "https://github.com/Abdo20-Jan/SUNSET-ERP-V4", "branch": "main"}, "results": [{"ruleId": "scanner-bead75b0f9233e05", "level": "none", "message": {"text": "No API endpoints detected"}, "properties": {"repobilityId": "0f8bb852027c38f8", "scanner": "scanner-primary", "fingerprint": "bead75b0f9233e05", "layer": "api", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-2f96d6236cb1aa6c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/contabilidad/asientos/asientos-filters.tsx:38"}, "properties": {"repobilityId": "77f838884c9642ae", "scanner": "scanner-primary", "fingerprint": "2f96d6236cb1aa6c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-8df2ef0b4250888a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/contabilidad/asientos/asiento-detalle-sheet.tsx:48"}, "properties": {"repobilityId": "f7d937dd1982d89c", "scanner": "scanner-primary", "fingerprint": "8df2ef0b4250888a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-9a07d48d586932a1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/contabilidad/asientos/nuevo/asiento-form.tsx:519"}, "properties": {"repobilityId": "e0209a214172dbfc", "scanner": "scanner-primary", "fingerprint": "9a07d48d586932a1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-64d800ab7f522a2a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/gastos/_components/gasto-form.tsx:733"}, "properties": {"repobilityId": "a53327bc0a7f151b", "scanner": "scanner-primary", "fingerprint": "64d800ab7f522a2a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d486c9f1cb3e0eb7", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/ventas/pedidos/_components/pedido-venta-form.tsx:430"}, "properties": {"repobilityId": "fbb2b6f819e8cab0", "scanner": "scanner-primary", "fingerprint": "d486c9f1cb3e0eb7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0a4384a08b496a4e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/compras/_components/compra-form.tsx:693"}, "properties": {"repobilityId": "86f9f2c0a7fd4f81", "scanner": "scanner-primary", "fingerprint": "0a4384a08b496a4e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b82e9e712ce9f21e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/compras/pedidos/_components/pedido-compra-form.tsx:436"}, "properties": {"repobilityId": "895e3366a52eb906", "scanner": "scanner-primary", "fingerprint": "b82e9e712ce9f21e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7108933dcac338ca", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/movimientos/movimiento-detalle-sheet.tsx:54"}, "properties": {"repobilityId": "27542dd15f0874c8", "scanner": "scanner-primary", "fingerprint": "7108933dcac338ca", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-02128ccdacd3effe", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/extractos/[id]/lineas-review.tsx:563"}, "properties": {"repobilityId": "d81a6c67bafee4d6", "scanner": "scanner-primary", "fingerprint": "02128ccdacd3effe", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a755f37686636242", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/cuentas-a-pagar/vep-section.tsx:272"}, "properties": {"repobilityId": "92bb922b86d12f85", "scanner": "scanner-primary", "fingerprint": "a755f37686636242", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-bcf7ab30e57fb57b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/cuentas-a-pagar/_components/pago-por-factura.tsx:542"}, "properties": {"repobilityId": "49b83cf2dfc9de35", "scanner": "scanner-primary", "fingerprint": "bcf7ab30e57fb57b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2d4db2c4f925c21a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/tesoreria/cuentas-a-cobrar/page.tsx:188"}, "properties": {"repobilityId": "51a03abeb4138997", "scanner": "scanner-primary", "fingerprint": "2d4db2c4f925c21a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-023cadf8fdd744d5", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/tesoreria/prestamos/prestamo-detalle-sheet.tsx:62"}, "properties": {"repobilityId": "b2e63ad2a0f55da8", "scanner": "scanner-primary", "fingerprint": "023cadf8fdd744d5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-8702244007f5c60f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/bi/_components/charts/pie-chart-distribution.tsx:110"}, "properties": {"repobilityId": "1e41a92c732e53fd", "scanner": "scanner-primary", "fingerprint": "8702244007f5c60f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b672723422f86496", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/(dashboard)/gastos-fijos/gastos-fijos-table.tsx:258"}, "properties": {"repobilityId": "4b339b1e3f5dd4cf", "scanner": "scanner-primary", "fingerprint": "b672723422f86496", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-d0b4b3117211a07e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/reportes/libro-diario/diario-list.tsx:84"}, "properties": {"repobilityId": "9d7d04b95323e286", "scanner": "scanner-primary", "fingerprint": "d0b4b3117211a07e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-fdcde6d930c0b53b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/cuenta-combobox.tsx:80"}, "properties": {"repobilityId": "1824259d4fb8a278", "scanner": "scanner-primary", "fingerprint": "fdcde6d930c0b53b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1910316f01c2f0ae", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/cliente-combobox.tsx:79"}, "properties": {"repobilityId": "c896aac472b59cff", "scanner": "scanner-primary", "fingerprint": "1910316f01c2f0ae", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-996af897c2bca696", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/proveedor-combobox.tsx:96"}, "properties": {"repobilityId": "7dc93f9f4c0ea421", "scanner": "scanner-primary", "fingerprint": "996af897c2bca696", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-71d3af4ccc8345e1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/app-sidebar.tsx:38"}, "properties": {"repobilityId": "0439dbc617b570d4", "scanner": "scanner-primary", "fingerprint": "71d3af4ccc8345e1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-af952775ec028e63", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/user-menu.tsx:52"}, "properties": {"repobilityId": "e3048961b86025fd", "scanner": "scanner-primary", "fingerprint": "af952775ec028e63", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-214b8b41de0d4187", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/components/ui/date-picker.tsx:85"}, "properties": {"repobilityId": "8fcc5de4b77a023b", "scanner": "scanner-primary", "fingerprint": "214b8b41de0d4187", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-9eb3a78e712463f5", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/lib/services/comex.ts:119"}, "properties": {"repobilityId": "d50c4b0a6c0804e2", "scanner": "scanner-primary", "fingerprint": "9eb3a78e712463f5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-dd6a91781f9b1cf2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/fix-robusto-a2-zpa-to-nacional.ts:47"}, "properties": {"repobilityId": "146bb15e136f306e", "scanner": "scanner-primary", "fingerprint": "dd6a91781f9b1cf2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-599ae3a92e9ff5bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-moneda-origen.ts:370"}, "properties": {"repobilityId": "2e997112d806148d", "scanner": "scanner-primary", "fingerprint": "599ae3a92e9ff5bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1a78ca4314a865d2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/seed-parametros-retencion.ts:127"}, "properties": {"repobilityId": "57457e2b91770ed0", "scanner": "scanner-primary", "fingerprint": "1a78ca4314a865d2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ed2f9523068d12ec", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/add-partial-indexes-contenedor.ts:41"}, "properties": {"repobilityId": "c0b3c666d59fa433", "scanner": "scanner-primary", "fingerprint": "ed2f9523068d12ec", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5cd99eb4b748425f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/fix-recalcular-stock-actual.ts:47"}, "properties": {"repobilityId": "4cdbf0b59e908c72", "scanner": "scanner-primary", "fingerprint": "5cd99eb4b748425f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d194ff99f1c8a0ac", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/set-proveedor-usd.ts:30"}, "properties": {"repobilityId": "3c56d41f8fa88d2e", "scanner": "scanner-primary", "fingerprint": "d194ff99f1c8a0ac", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-af0cb04431626a55", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/backfill-stock-por-deposito.ts:131"}, "properties": {"repobilityId": "d61c9448368fd627", "scanner": "scanner-primary", "fingerprint": "af0cb04431626a55", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f687ba8c202e8892", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/seed-inversiones-fci.ts:48"}, "properties": {"repobilityId": "5e22ecd95842d994", "scanner": "scanner-primary", "fingerprint": "f687ba8c202e8892", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d20e6b7b927a1cf6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-stock-invariantes.ts:152"}, "properties": {"repobilityId": "f56144dd019744f6", "scanner": "scanner-primary", "fingerprint": "d20e6b7b927a1cf6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-598a52330c30dfef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/backfill-aplicacion-pago.ts:53"}, "properties": {"repobilityId": "dfa29d61bf35eadc", "scanner": "scanner-primary", "fingerprint": "598a52330c30dfef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0278ba48d2a653ff", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/backfill-contenedor-virtual.ts:71"}, "properties": {"repobilityId": "e0278ba637c0f776", "scanner": "scanner-primary", "fingerprint": "0278ba48d2a653ff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ff2fa781e8538904", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/audit-zpa-stock-faltante.ts:70"}, "properties": {"repobilityId": "c3af9793bd6b5414", "scanner": "scanner-primary", "fingerprint": "ff2fa781e8538904", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-578d5eb495a1642b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-stock-curve-plus.ts:39"}, "properties": {"repobilityId": "e7e860e1d2868a23", "scanner": "scanner-primary", "fingerprint": "578d5eb495a1642b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-33146160054ef6b3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-embarque-007cn.ts:33"}, "properties": {"repobilityId": "355b51183c2c7d68", "scanner": "scanner-primary", "fingerprint": "33146160054ef6b3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2075223aad6e43b4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/validar-invariantes-stock.ts:231"}, "properties": {"repobilityId": "f4ffaef69509ddb2", "scanner": "scanner-primary", "fingerprint": "2075223aad6e43b4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b91ef6f725bc2bd6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/check-cuentas.ts:15"}, "properties": {"repobilityId": "825fb20ae43f0d56", "scanner": "scanner-primary", "fingerprint": "b91ef6f725bc2bd6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3afa685981ce5e73", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-iibb.ts:22"}, "properties": {"repobilityId": "f3e0e2d1db70f8c5", "scanner": "scanner-primary", "fingerprint": "3afa685981ce5e73", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d123f4514521b20c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/add-partial-indexes-despacho.ts:32"}, "properties": {"repobilityId": "1bc2b50bf487983b", "scanner": "scanner-primary", "fingerprint": "d123f4514521b20c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8f705e9cb7eb933c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/rename-cuentas-1-1-5.ts:34"}, "properties": {"repobilityId": "83dbb8e62a67d170", "scanner": "scanner-primary", "fingerprint": "8f705e9cb7eb933c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9ffcb34a3c1d4511", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/update-iibb-agentes-todas.ts:18"}, "properties": {"repobilityId": "e7eb3398c5fd736d", "scanner": "scanner-primary", "fingerprint": "9ffcb34a3c1d4511", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a0057fe75ccdfc0f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-extracto-bancario.ts:44"}, "properties": {"repobilityId": "e6ba07de098bd352", "scanner": "scanner-primary", "fingerprint": "a0057fe75ccdfc0f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-762679cc8ac8d4f5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/migrar-pagos-legacy-sunset.ts:52"}, "properties": {"repobilityId": "d72883bdb63cb08c", "scanner": "scanner-primary", "fingerprint": "762679cc8ac8d4f5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6f2535e46cbd9039", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-saldo-proveedor.ts:58"}, "properties": {"repobilityId": "454b40a8ebbca18a", "scanner": "scanner-primary", "fingerprint": "6f2535e46cbd9039", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-56a253b539798534", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/fix-eliminar-embarques-target.ts:120"}, "properties": {"repobilityId": "6dbf092a27005ad7", "scanner": "scanner-primary", "fingerprint": "56a253b539798534", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-088aa1ba82126ea3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-tp-logistica-pendientes.ts:56"}, "properties": {"repobilityId": "d1198e48576d9c55", "scanner": "scanner-primary", "fingerprint": "088aa1ba82126ea3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-421b83e011c5ddea", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-embarques-target.ts:32"}, "properties": {"repobilityId": "fb054eecfb7e5fc1", "scanner": "scanner-primary", "fingerprint": "421b83e011c5ddea", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b4cec14788282802", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-conciliacion-santander.ts:28"}, "properties": {"repobilityId": "0aa8213949a64444", "scanner": "scanner-primary", "fingerprint": "b4cec14788282802", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f40fd000ee73d8c5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/import-productos-fob.ts:74"}, "properties": {"repobilityId": "de7d06e21d27df12", "scanner": "scanner-primary", "fingerprint": "f40fd000ee73d8c5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-10c546267ac06410", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/backfill-tipo-deposito.ts:49"}, "properties": {"repobilityId": "2dcbe051bf210710", "scanner": "scanner-primary", "fingerprint": "10c546267ac06410", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1ed913bb7497d171", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/seed.ts:44"}, "properties": {"repobilityId": "f77d7e0fb34b08e2", "scanner": "scanner-primary", "fingerprint": "1ed913bb7497d171", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-18150eeda8f09e4f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/fix-embarque-ar-251223-036cn.ts:58"}, "properties": {"repobilityId": "48d863c5f34e5db6", "scanner": "scanner-primary", "fingerprint": "18150eeda8f09e4f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-145af6e1b8c03c38", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/backfill-moneda-origen.ts:373"}, "properties": {"repobilityId": "d9e005ef50f41923", "scanner": "scanner-primary", "fingerprint": "145af6e1b8c03c38", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-22016801754e6bfb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/seed-patrimonio-extra.ts:128"}, "properties": {"repobilityId": "51fa10378e247351", "scanner": "scanner-primary", "fingerprint": "22016801754e6bfb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a741e864664be32d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-stock-history.ts:22"}, "properties": {"repobilityId": "69eb5776e82268ab", "scanner": "scanner-primary", "fingerprint": "a741e864664be32d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b6fc6ad725b145cc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-sunset-tires-37m.ts:32"}, "properties": {"repobilityId": "4159f02bd6d1d116", "scanner": "scanner-primary", "fingerprint": "b6fc6ad725b145cc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c293eb992512df22", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/fix-spd-curve-plus-c1.ts:53"}, "properties": {"repobilityId": "0b6ccfd2274d835c", "scanner": "scanner-primary", "fingerprint": "c293eb992512df22", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c4f161b8dabe7f9b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/diag-ecoplus-c1.ts:30"}, "properties": {"repobilityId": "c6c4d6ab53daa758", "scanner": "scanner-primary", "fingerprint": "c4f161b8dabe7f9b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-732e2df38a03c8d0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 prisma/fix-anular-asientos-duplicados.ts:104"}, "properties": {"repobilityId": "e57af2a02808dd12", "scanner": "scanner-primary", "fingerprint": "732e2df38a03c8d0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3f8291bce83658bc", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in e2e/support/db.ts:1"}, "properties": {"repobilityId": "71ff4d8b732a85b5", "scanner": "scanner-primary", "fingerprint": "3f8291bce83658bc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "e2e/support/db.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b7b919feab2532bc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fbf0c63279b4ef1c", "scanner": "scanner-primary", "fingerprint": "b7b919feab2532bc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validar-stock.yml"}, "region": {"startLine": 77}}}]}, {"ruleId": "scanner-b7b919feab2532bc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6d7351f829a7ded2", "scanner": "scanner-primary", "fingerprint": "b7b919feab2532bc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validar-stock.yml"}, "region": {"startLine": 85}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "714673743ff59cef", "scanner": "scanner-primary", "fingerprint": "cb639d9a10a47b23", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-31c656d678e4af4f", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/ventas/_components/venta-form.tsx (1424 lines)"}, "properties": {"repobilityId": "97610abb907d839f", "scanner": "scanner-primary", "fingerprint": "31c656d678e4af4f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0dd89e0007da6da9", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/comex/embarques/_components/embarque-form.tsx (2215 lines)"}, "properties": {"repobilityId": "de47219713dcb6f4", "scanner": "scanner-primary", "fingerprint": "0dd89e0007da6da9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8282b8e940605cd3", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/tesoreria/movimientos/nuevo/movimiento-form.tsx (1509 lines)"}, "properties": {"repobilityId": "a2fffae63ecb3d6b", "scanner": "scanner-primary", "fingerprint": "8282b8e940605cd3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7a607007da9f2f6a", "level": "note", "message": {"text": "Very large file: src/lib/services/bi.ts (1745 lines)"}, "properties": {"repobilityId": "7210788cd43f9851", "scanner": "scanner-primary", "fingerprint": "7a607007da9f2f6a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9c7c303b9f7bb842", "level": "note", "message": {"text": "Very large file: src/lib/services/cuentas-a-pagar.ts (2110 lines)"}, "properties": {"repobilityId": "db2575fd4d53e449", "scanner": "scanner-primary", "fingerprint": "9c7c303b9f7bb842", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-21fb02bd18467e3f", "level": "note", "message": {"text": "Very large file: src/lib/services/asiento-automatico.ts (3842 lines)"}, "properties": {"repobilityId": "35c45e16a9a72e9d", "scanner": "scanner-primary", "fingerprint": "21fb02bd18467e3f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "d45b6902e84153a4", "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": "663a124b07df7f17", "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": "071becf6dec31fb3", "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": "57a297c6fac2509c", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-5324baebd86eeb37", "level": "none", "message": {"text": "Commented-code block (5 lines) in vitest.config.ts:7"}, "properties": {"repobilityId": "f1c19cfff1b6678e", "scanner": "scanner-primary", "fingerprint": "5324baebd86eeb37", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35d6d5d5470d09d8", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/app/api/cron/cleanup-despachos-borrador/route.ts:6"}, "properties": {"repobilityId": "b4e7515cef3152fa", "scanner": "scanner-primary", "fingerprint": "35d6d5d5470d09d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a95ad9d14589c3c2", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/app/api/comex/divergencia/upload/route.ts:7"}, "properties": {"repobilityId": "4ebfd685fc0f7449", "scanner": "scanner-primary", "fingerprint": "a95ad9d14589c3c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-582c6208a3f31aba", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(dashboard)/ventas/_components/venta-form.tsx:438"}, "properties": {"repobilityId": "eaea605162910275", "scanner": "scanner-primary", "fingerprint": "582c6208a3f31aba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aecd2f7cf2100a0d", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/app/(dashboard)/comex/embarques/[id]/despachos/_components/despacho-cruzado-tributos.tsx:47"}, "properties": {"repobilityId": "5543d171f6181786", "scanner": "scanner-primary", "fingerprint": "aecd2f7cf2100a0d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f50d8dbc499e9c34", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/app/(dashboard)/comex/embarques/_components/embarque-form.tsx:572"}, "properties": {"repobilityId": "f8a8fc9e8406fee0", "scanner": "scanner-primary", "fingerprint": "f50d8dbc499e9c34", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1caf43998ddaee26", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(dashboard)/comex/embarques/_components/contenedor-matriz.tsx:27"}, "properties": {"repobilityId": "b4d69c85fe250269", "scanner": "scanner-primary", "fingerprint": "1caf43998ddaee26", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bee3efef576e5e09", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(dashboard)/comex/contenedores/[id]/investigacion/_components/investigacion-form.tsx:30"}, "properties": {"repobilityId": "9272a52d3c56c1e4", "scanner": "scanner-primary", "fingerprint": "bee3efef576e5e09", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ecbfe2851200544", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(dashboard)/tesoreria/movimientos/nuevo/movimiento-form.tsx:334"}, "properties": {"repobilityId": "ee42d02d7a12596f", "scanner": "scanner-primary", "fingerprint": "2ecbfe2851200544", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4e7935868a81e083", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/format.ts:15"}, "properties": {"repobilityId": "0591dbe878265d74", "scanner": "scanner-primary", "fingerprint": "4e7935868a81e083", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-edee3145b500fa2d", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/services/percepcion-iibb.ts:8"}, "properties": {"repobilityId": "bfec33e2efffc179", "scanner": "scanner-primary", "fingerprint": "edee3145b500fa2d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d4647c39d847f95", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/services/contenedor.ts:394"}, "properties": {"repobilityId": "a85b1625c624f428", "scanner": "scanner-primary", "fingerprint": "1d4647c39d847f95", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f1903424949eead", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/services/divergencia-investigacion.ts:27"}, "properties": {"repobilityId": "e9113af4fcd4a4d4", "scanner": "scanner-primary", "fingerprint": "4f1903424949eead", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cddb316e377ba08c", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/services/despacho-parcial.ts:18"}, "properties": {"repobilityId": "f15139cac19f6efb", "scanner": "scanner-primary", "fingerprint": "cddb316e377ba08c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8fb28fe14e4f891a", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/services/cuenta-registry.ts:41"}, "properties": {"repobilityId": "e05299f04d145d44", "scanner": "scanner-primary", "fingerprint": "8fb28fe14e4f891a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ed3c19445f85699", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/services/comex.ts:116"}, "properties": {"repobilityId": "4e82cea9dccca41d", "scanner": "scanner-primary", "fingerprint": "4ed3c19445f85699", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f19177d26e5dd967", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/lib/services/cuentas-a-pagar.ts:268"}, "properties": {"repobilityId": "2dcb4ebe6ffd2274", "scanner": "scanner-primary", "fingerprint": "f19177d26e5dd967", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff5eccf20d8a36aa", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/services/cuenta-auto.ts:206"}, "properties": {"repobilityId": "4e8ec125c2dea79e", "scanner": "scanner-primary", "fingerprint": "ff5eccf20d8a36aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb65a00ad0770fa2", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/services/stock.ts:827"}, "properties": {"repobilityId": "f81267462951c398", "scanner": "scanner-primary", "fingerprint": "fb65a00ad0770fa2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2775617c5e29db65", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/services/asiento-automatico.ts:518"}, "properties": {"repobilityId": "88b98fbb66a52390", "scanner": "scanner-primary", "fingerprint": "2775617c5e29db65", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8d2c91b330cdf86a", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/services/desconsolidacion.ts:21"}, "properties": {"repobilityId": "905a347fd5ad341b", "scanner": "scanner-primary", "fingerprint": "8d2c91b330cdf86a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68a71c3415c7ab76", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/services/retencion-ganancias-pago.ts:19"}, "properties": {"repobilityId": "b9e246565251a53b", "scanner": "scanner-primary", "fingerprint": "68a71c3415c7ab76", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2fb94986eeae47a0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/services/balance-sumas-saldos.ts:36"}, "properties": {"repobilityId": "e7ed100ccd178868", "scanner": "scanner-primary", "fingerprint": "2fb94986eeae47a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-32c42e96fe95338b", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/lib/services/retencion-ganancias.ts:1"}, "properties": {"repobilityId": "31d0f6e31fb0efac", "scanner": "scanner-primary", "fingerprint": "32c42e96fe95338b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8c917bea9531d995", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/services/cuentas-a-cobrar.ts:7"}, "properties": {"repobilityId": "58b016c45150abd5", "scanner": "scanner-primary", "fingerprint": "8c917bea9531d995", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e9e60cd320447382", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/services/reportes/balance-general.ts:116"}, "properties": {"repobilityId": "b785721173ba92b1", "scanner": "scanner-primary", "fingerprint": "e9e60cd320447382", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33bbeeac28dac2c4", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/services/reportes/flujo-caja.ts:346"}, "properties": {"repobilityId": "8bacecd42f266074", "scanner": "scanner-primary", "fingerprint": "33bbeeac28dac2c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31ff0b9ac54c4a58", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/actions/embarque-schema.ts:1"}, "properties": {"repobilityId": "145e6ed1fe0cb1e0", "scanner": "scanner-primary", "fingerprint": "31ff0b9ac54c4a58", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0decd0cb56096c20", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/actions/pago-exterior.ts:43"}, "properties": {"repobilityId": "b21f32cb74e551eb", "scanner": "scanner-primary", "fingerprint": "0decd0cb56096c20", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0fcce83be023b481", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/actions/despacho-cruzado-costos-schema.ts:1"}, "properties": {"repobilityId": "a1626f1c40a93a5c", "scanner": "scanner-primary", "fingerprint": "0fcce83be023b481", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ba04f43d56348d9", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/actions/transferencias.ts:225"}, "properties": {"repobilityId": "d29ac29ac3c37836", "scanner": "scanner-primary", "fingerprint": "4ba04f43d56348d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b7608d21c394443", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/actions/asientos.ts:116"}, "properties": {"repobilityId": "63eead783a371ae1", "scanner": "scanner-primary", "fingerprint": "8b7608d21c394443", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6409c77b40cf6b4e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/actions/admin-percepcion-iibb.ts:68"}, "properties": {"repobilityId": "0dcb9cd37ac81686", "scanner": "scanner-primary", "fingerprint": "6409c77b40cf6b4e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7bfcdf87cc168a64", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/actions/movimientos-tesoreria.ts:38"}, "properties": {"repobilityId": "52d726729c365e65", "scanner": "scanner-primary", "fingerprint": "7bfcdf87cc168a64", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4252dff11ebef0c3", "level": "note", "message": {"text": "Legacy-named symbol `crearDespachoLegacy` in src/lib/actions/despachos.ts:257"}, "properties": {"repobilityId": "aa2d99c056cd75d7", "scanner": "scanner-primary", "fingerprint": "4252dff11ebef0c3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-aadf16565e0017a4", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/actions/despachos.ts:750"}, "properties": {"repobilityId": "be76c14960a54aee", "scanner": "scanner-primary", "fingerprint": "aadf16565e0017a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82c5b0f1962c381c", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/actions/gasto-schema.ts:1"}, "properties": {"repobilityId": "9eb95dd5006d2064", "scanner": "scanner-primary", "fingerprint": "82c5b0f1962c381c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-14cd195b655a741e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/actions/embarques.ts:528"}, "properties": {"repobilityId": "d7da78975317b43c", "scanner": "scanner-primary", "fingerprint": "14cd195b655a741e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73fb10e0244b37eb", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/actions/despacho-cruzado-costos.ts:18"}, "properties": {"repobilityId": "8b35316692144d14", "scanner": "scanner-primary", "fingerprint": "73fb10e0244b37eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed54ef8186a81efd", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/actions/ventas.ts:383"}, "properties": {"repobilityId": "fa75189ab24428bb", "scanner": "scanner-primary", "fingerprint": "ed54ef8186a81efd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-186bab58122c0e6e", "level": "none", "message": {"text": "Commented-code block (6 lines) in prisma/diag-moneda-origen.ts:361"}, "properties": {"repobilityId": "18ee8e53d1039eaa", "scanner": "scanner-primary", "fingerprint": "186bab58122c0e6e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87994194ed509ee3", "level": "none", "message": {"text": "Commented-code block (5 lines) in prisma/seed-parametros-retencion.ts:13"}, "properties": {"repobilityId": "2fad32075fa5c394", "scanner": "scanner-primary", "fingerprint": "87994194ed509ee3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ad0016d5396de5e", "level": "none", "message": {"text": "Commented-code block (7 lines) in prisma/diag-extracto-bancario.ts:12"}, "properties": {"repobilityId": "a21db811355b111c", "scanner": "scanner-primary", "fingerprint": "0ad0016d5396de5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06b26adf8c40c32b", "level": "none", "message": {"text": "Commented-code block (5 lines) in prisma/migrar-pagos-legacy-sunset.ts:4"}, "properties": {"repobilityId": "8bfa3a7d00d90af3", "scanner": "scanner-primary", "fingerprint": "06b26adf8c40c32b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ffb936a5de7b069b", "level": "none", "message": {"text": "Commented-code block (6 lines) in prisma/diag-tp-logistica-pendientes.ts:211"}, "properties": {"repobilityId": "dbfc6847b8207f3c", "scanner": "scanner-primary", "fingerprint": "ffb936a5de7b069b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9970c443fe774dc9", "level": "none", "message": {"text": "Commented-code block (9 lines) in prisma/seed.ts:135"}, "properties": {"repobilityId": "427d93d6665ec48a", "scanner": "scanner-primary", "fingerprint": "9970c443fe774dc9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2bfe0e4d94c121d0", "level": "none", "message": {"text": "Commented-code block (17 lines) in prisma/seed-patrimonio-extra.ts:17"}, "properties": {"repobilityId": "dd0114b5b3e2afe0", "scanner": "scanner-primary", "fingerprint": "2bfe0e4d94c121d0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40c8623480fb9ab8", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/cuentas-a-pagar-bonded.test.ts:9"}, "properties": {"repobilityId": "4cfb692db5066b4e", "scanner": "scanner-primary", "fingerprint": "40c8623480fb9ab8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-182a88e03b22f490", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/asiento-despacho-cruzado.test.ts:5"}, "properties": {"repobilityId": "6a330b411357b39b", "scanner": "scanner-primary", "fingerprint": "182a88e03b22f490", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2e4abd048a9fa672", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/anular-despacho-cruzado.test.ts:5"}, "properties": {"repobilityId": "26c79f6308fd49ec", "scanner": "scanner-primary", "fingerprint": "2e4abd048a9fa672", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0680ef7ca2f37524", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/guard-tipocambio-usd.test.ts:5"}, "properties": {"repobilityId": "4bfedb90c1e4e6cc", "scanner": "scanner-primary", "fingerprint": "0680ef7ca2f37524", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cef4813aefd5e7d1", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/vep-despacho-action.test.ts:5"}, "properties": {"repobilityId": "a1c96e7aafc2c0ef", "scanner": "scanner-primary", "fingerprint": "cef4813aefd5e7d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db715a7f7f9af7e7", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/saldos-exterior-usd.test.ts:7"}, "properties": {"repobilityId": "726660885203c2f2", "scanner": "scanner-primary", "fingerprint": "db715a7f7f9af7e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55903582f8c1c72f", "level": "none", "message": {"text": "Commented-code block (9 lines) in test/pago-exterior-action.test.ts:7"}, "properties": {"repobilityId": "336e31dc08cdef89", "scanner": "scanner-primary", "fingerprint": "55903582f8c1c72f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6cc2824292ab21ac", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/desconsolidacion.test.ts:5"}, "properties": {"repobilityId": "5d45f4d25a0a4fcf", "scanner": "scanner-primary", "fingerprint": "6cc2824292ab21ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bcec5f621d952838", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/despacho-cruzado-capitalizacion-stock.test.ts:6"}, "properties": {"repobilityId": "0c0eceafbb329998", "scanner": "scanner-primary", "fingerprint": "bcec5f621d952838", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9e6d995b86301e4a", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/arribo-comex.test.ts:5"}, "properties": {"repobilityId": "98b1fa9300208ac4", "scanner": "scanner-primary", "fingerprint": "9e6d995b86301e4a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e94a77ef38d55d40", "level": "none", "message": {"text": "Commented-code block (9 lines) in test/costo-landed-despacho.test.ts:84"}, "properties": {"repobilityId": "0e8a66119cf023bf", "scanner": "scanner-primary", "fingerprint": "e94a77ef38d55d40", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-999aa1c9baaae564", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/cerrar-costos-contenedor.test.ts:5"}, "properties": {"repobilityId": "31de5898c0928d11", "scanner": "scanner-primary", "fingerprint": "999aa1c9baaae564", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e102f880337abd9e", "level": "none", "message": {"text": "Commented-code block (8 lines) in test/retencion-ganancias-pago.test.ts:7"}, "properties": {"repobilityId": "d9378284f9cb6286", "scanner": "scanner-primary", "fingerprint": "e102f880337abd9e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-42f08276fd453fbe", "level": "none", "message": {"text": "Commented-code block (9 lines) in test/venta-flete-gasto.test.ts:7"}, "properties": {"repobilityId": "4bee1302a62c783a", "scanner": "scanner-primary", "fingerprint": "42f08276fd453fbe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b769298b0dbd6491", "level": "none", "message": {"text": "Commented-code block (7 lines) in test/tesoreria-usd-libro-ars.test.ts:7"}, "properties": {"repobilityId": "cb2d7c4f3c1b77a8", "scanner": "scanner-primary", "fingerprint": "b769298b0dbd6491", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8bd5de3dbb6120bd", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/despacho-cruzado-actions.test.ts:5"}, "properties": {"repobilityId": "c7cc4dd6bb72f795", "scanner": "scanner-primary", "fingerprint": "8bd5de3dbb6120bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8fdf259a5c84d1eb", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/divergencia-investigacion.test.ts:11"}, "properties": {"repobilityId": "93f58d588aa860fd", "scanner": "scanner-primary", "fingerprint": "8fdf259a5c84d1eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5867248a2125f47d", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/actualizar-tributos-despacho-cruzado.test.ts:5"}, "properties": {"repobilityId": "4800744cf0f04d74", "scanner": "scanner-primary", "fingerprint": "5867248a2125f47d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b3f73dab04c43c2", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/extracto-aprobar-linea-tc.test.ts:8"}, "properties": {"repobilityId": "dcd1d3888ff4db0a", "scanner": "scanner-primary", "fingerprint": "0b3f73dab04c43c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b92b49a172c43977", "level": "note", "message": {"text": "Legacy-named symbol `despachoLegacy` in test/crear-costo-despacho-cruzado.test.ts:174"}, "properties": {"repobilityId": "9a2cce0d285c893f", "scanner": "scanner-primary", "fingerprint": "b92b49a172c43977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-26ee6f7bfee9f832", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/crear-costo-despacho-cruzado.test.ts:5"}, "properties": {"repobilityId": "1ba3e1a0249bacf6", "scanner": "scanner-primary", "fingerprint": "26ee6f7bfee9f832", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de8ff8778e817bfc", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/db.ts:62"}, "properties": {"repobilityId": "d242c755ee195453", "scanner": "scanner-primary", "fingerprint": "de8ff8778e817bfc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-58e7e9edf76cc094", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/gasto-deducible-ganancias.test.ts:5"}, "properties": {"repobilityId": "2d97d4cdc74edbad", "scanner": "scanner-primary", "fingerprint": "58e7e9edf76cc094", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-731b04cd7ce8ef3e", "level": "none", "message": {"text": "Commented-code block (7 lines) in test/despacho-parcial.test.ts:11"}, "properties": {"repobilityId": "26b2869a296257ba", "scanner": "scanner-primary", "fingerprint": "731b04cd7ce8ef3e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b60c1ffc9ecc1207", "level": "none", "message": {"text": "Commented-code block (5 lines) in e2e/03-despacho-parcial-doble.spec.ts:12"}, "properties": {"repobilityId": "379ab44ec3dfaa30", "scanner": "scanner-primary", "fingerprint": "b60c1ffc9ecc1207", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb9731ff6238ec14", "level": "none", "message": {"text": "Commented-code block (5 lines) in e2e/02-anulacion-preservativa.spec.ts:11"}, "properties": {"repobilityId": "af2e0f1c2aa8159c", "scanner": "scanner-primary", "fingerprint": "bb9731ff6238ec14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed569efaa02f52bc", "level": "none", "message": {"text": "Commented-code block (5 lines) in e2e/01-desconsolidacion-happy-path.spec.ts:8"}, "properties": {"repobilityId": "dc11736417d916ba", "scanner": "scanner-primary", "fingerprint": "ed569efaa02f52bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f781120760411ba1", "level": "none", "message": {"text": "Commented-code block (5 lines) in e2e/04-divergencia-d9.spec.ts:13"}, "properties": {"repobilityId": "d487311913f5c62a", "scanner": "scanner-primary", "fingerprint": "f781120760411ba1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2717d3fffe8e5d0e", "level": "none", "message": {"text": "Commented-code block (6 lines) in e2e/support/db.ts:10"}, "properties": {"repobilityId": "6776ee9c856b40c8", "scanner": "scanner-primary", "fingerprint": "2717d3fffe8e5d0e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}